On this page
DocsGuides
Waveform video
Draw the sound of an audio file as a moving waveform or spectrum video, keeping the sound.
visualize makes a video from sound: a moving waveform or spectrum, with the sound kept. Audiograms
let you share a podcast or a voice note where only video plays.
The request#
curl "$VIDEXO_API_URL/v1/transcode" \
-H "Authorization: Bearer $VIDEXO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "https://example.com/episode.mp3",
"filename": "audiogram.mp4",
"visualize": {
"style": "waveform",
"width": 1280,
"height": 720
}
}'Copy failed. The text is selected; copy it with your keyboard.
const response = await fetch(`${process.env.VIDEXO_API_URL}/v1/transcode`, {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VIDEXO_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"input": "https://example.com/episode.mp3",
"filename": "audiogram.mp4",
"visualize": {
"style": "waveform",
"width": 1280,
"height": 720
}
}),
});
const job = await response.json();Copy failed. The text is selected; copy it with your keyboard.
ffmpeg \
-i https://example.com/episode.mp3 \
-filter_complex "[0:a]showwaves=s=1280x720:mode=cline:rate=25[o0v]" \
-map "[o0v]" \
-c:v libx264 -preset veryfast -crf 23 -pix_fmt yuv420p \
-map 0:a:0 \
-c:a aac -b:a 128k -shortest -movflags +faststart \
audiogram.mp4Copy failed. The text is selected; copy it with your keyboard.
audiogram.mp4: a 1280 by 720 video of the waveform at 25 frames a second, with the episode as its sound.
A spectrum#
curl "$VIDEXO_API_URL/v1/transcode" \
-H "Authorization: Bearer $VIDEXO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "https://example.com/episode.mp3",
"filename": "spectrum.mp4",
"visualize": {
"style": "spectrum",
"width": 1080,
"height": 1080
}
}'Copy failed. The text is selected; copy it with your keyboard.
const response = await fetch(`${process.env.VIDEXO_API_URL}/v1/transcode`, {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VIDEXO_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"input": "https://example.com/episode.mp3",
"filename": "spectrum.mp4",
"visualize": {
"style": "spectrum",
"width": 1080,
"height": 1080
}
}),
});
const job = await response.json();Copy failed. The text is selected; copy it with your keyboard.
ffmpeg \
-i https://example.com/episode.mp3 \
-filter_complex "[0:a]showspectrum=s=1080x1080:slide=scroll[o0v]" \
-map "[o0v]" \
-c:v libx264 -preset veryfast -crf 23 -pix_fmt yuv420p \
-map 0:a:0 \
-c:a aac -b:a 128k -r 25 -shortest -movflags +faststart \
spectrum.mp4Copy failed. The text is selected; copy it with your keyboard.
The colours are the filters' own in this version.