How to turn a podcast episode into a video with an API
Audio has nowhere to go on YouTube, Reels or a feed without a picture attached. The usual free tools cap the duration, because rendering a video from an hour of audio costs the same whether anyone watches it or not. Here is the shape that works: render per clip rather than per episode, and put the words on screen.
The manual FFmpeg way
One filter graph for the waveform, the overlay geometry to work out by hand, and a second pass if you also want captions. Every parameter is a place to get it wrong, and you only find out after the encode.
ffmpeg -i episode.mp3 -loop 1 -i cover.jpg -filter_complex "[0:a]showwaves=s=1080x200:mode=cline:colors=white[wave];[1:v]scale=1080:1080[bg];[bg][wave]overlay=0:880" -shortest -pix_fmt yuv420p out.mp4
Do it with one API call
- 1
Pick the clip, not the episode
A full hour as video is the same encode cost whether it is watched or not. If you are repurposing, run find-highlights first and render only the moments you keep.
- 2
Render the audiogram
Send the audio as the input named "main" and, optionally, a cover image as "background". Without one you get a clean dark canvas. Choose the aspect ratio for where it is going: 1:1 for a feed, 9:16 for a Short or a Reel.
- 3
Put the words on screen
Run transcribe-video on the same audio. Its second output is an SRT, and its download URL goes straight into add-subtitles-to-video on the audiogram. A clip in a feed is mostly watched on mute, so the waveform alone gives a viewer nothing to read.
curl https://kinopipe.com/api/v1/tools/audiogram \
-H "Authorization: Bearer kp_live_..." \
-H "Content-Type: application/json" \
-d '{
"inputs": [
{ "id": "main", "url": "https://example.com/episode.mp3" },
{ "id": "background", "url": "https://example.com/cover.jpg" }
],
"options": { "aspect_ratio": "1:1" }
}'