caption_video
Start captioning one video. Pass exactly one source: inputUrl, a direct https link to a video file (platform pages such as YouTube or TikTok are refused), or jobId from create_upload after the bytes are uploaded. Choose a preset: highlight (the spoken word takes the accent), clean (white with an outline) or boxed (a plate behind the line). Optionally send a dictionary of names to spell right and a language. Returns a jobId in status probing; poll it with get_caption_job. If the response is lost, replay with the original idempotencyKey and payload or use list_caption_jobs to find recent jobs. The balance is charged by the whole second once the duration is known, and nothing is charged if the job fails.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | No | The jobId from create_upload, after the bytes have been uploaded. | |
| preset | Yes | Caption style. highlight, clean or boxed. | |
| inputUrl | No | A direct https link to a video file. Platform pages such as YouTube or TikTok are refused. | |
| language | No | "auto" to detect, or a BCP-47 language tag such as "en" or "pt-BR". | |
| dictionary | No | Optional. Up to 1000 names or terms, each at most 6 words, spelled the way they should appear. Used for this job only. | |
| highlightColor | No | Optional, highlight preset only. The spoken word's colour as a hex RGB such as #FFE500. Defaults to the CaptionPipe accent. | |
| idempotencyKey | No | Optional. Any string unique to this request; a retry with the same key returns the same result instead of running twice. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | ||
| status | Yes | ||
| balance | Yes | ||
| balanceWarning | Yes |