Overview
Add Captions transcribes a video from your media library and burns captions onto it. Captions are on by default. The output keeps the source video’s aspect ratio.Basic Example
media is the ID of one video in your library (a single string, not an array).
projectId. The finished video comes later: poll GET /v1/project/{projectId} or pass a webhook (see below).
With Custom Caption Style
With Background Music
Parameters
Caption presets: any id of Get Catalog with
name=caption-presets (for example wrap1, tiktok, beast, classic).
Managed teams pay 4 credits plus 4 per started 30 seconds of the video, charged when processing starts. Teams in bring-your-own-keys mode are not charged credits for generation, but need their own OpenRouter key (transcription) in Settings → AI keys. Without it the call answers
402 with code: "missing_credentials" and the missingProviders list, before anything is created or charged.Tips for Add Captions
Checking the Result
Handling the Webhook Response
Webhooks are signed: check theHooked-Signature header as shown in Webhooks.
Common Use Cases
- Social Media Content: Add captions to make videos more engaging and accessible
- Educational Videos: Help learners follow along with automatic captions
- Accessibility: Make content accessible to deaf and hard-of-hearing viewers
- Multi-Language: Caption videos in other languages with the
languagefield - Silent Viewing: Enable viewers to watch without sound in public places