One API call generates word-level captions in 20 languages with 97%+ accuracy. Burn them into the video, export as SRT/VTT, or both. No manual transcription. No timing adjustments.
Pass a language code or set "language": "auto" for automatic detection. All languages support word-level timestamps.
Captions rendered directly into the video frames. Customizable font (family, size, weight), position (top/center/bottom), background (box, shadow, or transparent), and animation (fade, pop, typewriter).
"style": "burned_in",
"caption_options": {
"font_size": 42,
"position": "bottom_center",
"background": "semi_transparent",
"animation": "pop"
}
SubRip format with sequential numbering and millisecond timestamps. Compatible with YouTube, Vimeo, Facebook, LinkedIn, and every major video player. One file per language.
1
00:00:01,240 --> 00:00:04,890
Welcome to today's deep dive
into our API architecture.
2
00:00:05,100 --> 00:00:08,340
We'll cover three main topics.
W3C standard format with support for styling cues, positioning, and speaker identification. Native in all modern browsers via the HTML5 <track> element.
WEBVTT
00:00:01.240 --> 00:00:04.890
<v Speaker 1>Welcome to today's
deep dive into our API.
00:00:05.100 --> 00:00:08.340
<v Speaker 1>We'll cover three
main topics.
Submit the job, then retrieve the result. That is the entire integration.
import { V100 } from 'v100-sdk';
const v100 = new V100(process.env.V100_API_KEY);
// Generate captions in 3 languages simultaneously
const job = await v100.captions.create({
source: 'https://storage.example.com/webinar.mp4',
languages: ['en', 'es', 'ja'],
style: 'burned_in',
caption_options: {
font_size: 38,
position: 'bottom_center',
background: 'semi_transparent',
max_chars_per_line: 42
},
sidecar_formats: ['srt', 'vtt']
});
const result = await v100.jobs.wait(job.id);
// result.outputs:
// - result.outputs.en.video_url (burned-in MP4)
// - result.outputs.en.srt_url (SRT file)
// - result.outputs.en.vtt_url (VTT file)
// - result.outputs.es.video_url ...
// - result.outputs.ja.video_url ...
Free tier: 60 minutes/month. Pay-as-you-go after that. No contracts.
Get API Key — Free Tier