captions
The caption lines on a timeline, by action. generate cuts caption lines at sentences and phrases from the timeline’s speech (voiceover, dialogue or lyrics), plain white unless template or style sets a look, transcribing uploaded clips that have no words yet; it replaces any caption track, so a restyle is a re-run. import writes the user’s SRT or WebVTT file onto a clip’s file as its words and draws the lines, never transcribing. rewrite with no lines returns every line with its clip_id and limits; with lines and language it rewords the named lines in their slots; with regroup it moves the line breaks, word times kept, until the next generate. translate rewrites the lines in another language with a model, audio untouched. export returns the lines with format srt, vtt or txt, from a timeline or from one library item’s stored words. Re-voicing speech is change_language. Free, except generate on clips without words (cloud processing) and translate: credits.
Authorizations
An API key (es_live_…) from Settings, under API keys, or an OAuth access token.
Headers
Retry a paid dispatch safely: the same key returns the job already dispatched instead of charging again.
The workspace this one call acts in, when it is not the default: for a key or a connected agent, one of the workspaces the user allowed it.
Body
generate, import, rewrite, translate, export The timeline. Every action but export with a ref needs it.
generate and export: which speech, voiceover, dialogue or music (lyrics); default is whichever the timeline has.
voiceover, dialogue, music, auto, all generate: color, activeColor, position, fontSize, fontFamily, fontWeight, fadeInFrames, fadeOutFrames, shadowEnabled, strokeEnabled, strokeColor, strokeWidth, backgroundColor, backgroundOpacity, emphasis ({words, color, emoji}), maxWords (a ceiling, default 6), maxChars (0 = no cap), closeGapMs (default 500), skipFillers (true leaves "um" and "uh" out of the lines, not the transcript; set by Social, Hook, Kinetic, Karaoke and One word). Unnamed fields are not kept; an unknown font is refused with the ones available.
generate: lineAnim, wordAnim. Unnamed fields are not kept.
generate: a caption template as the base, sized to this timeline: one saved for this workspace, or built in: Subtitles, Kinetic, One word, Karaoke, Broadcast, Boxed, Story, Social, Hook. get_templates kind caption describes each. Social suits a talking head cut for a feed, Broadcast a landscape interview, Subtitles plain lines. style and animation override what they name.
generate: save the caption template this call lands under this name for later pieces. An existing name is overwritten.
60import: the subtitle file's contents (SRT or WebVTT). Give this or ref.
2000000import: the library item that is the subtitle file (an uploaded .srt or .vtt). export: a library item whose stored words to export instead of a timeline's.
import: the clip the subtitles belong to. Omitted: the one clip on the timeline still missing its words. regroup: the run's first line.
import: draw the caption lines once the words land. Default true; false writes the words only.
import: file (default) keeps each cue as the file wrote it; auto re-cuts the words into lines by the style's maxWords and maxChars.
file, auto import: write over words the clip or its file already has. Without it they are left alone.
rewrite: the lines to reword, each once, by the clip_id a rewrite read returned, with its new text; the others stay. An unknown, empty or overlong line refuses the call and names it.
1 - 5000 elementsrewrite: a run of whole lines with new breaks, one string per line, the same words in order. A changed word is refused and named.
1 - 5000 elements1000rewrite with lines: the language they are written in.
en, es, fr, de, it, pt, ja, ko, zh, ar, hi, ru, nl, pl, sv, da, fi, no, cs, sk, hu, ro, bg, hr, uk, el, tr, th, vi, id, ms, fil, ta, te, ml, kn, bn, gu, mr, pa, he, fa, ur, sw, ha, af, ga, cy, is, ca, gl, sl, et, lv, lt, sr, bs, mk, ka, hy, az, kk, ne translate: the language to write the lines in.
en, es, fr, de, it, pt, ja, ko, zh, ar, hi, ru, nl, pl, sv, da, fi, no, cs, sk, hu, ro, bg, hr, uk, el, tr, th, vi, id, ms, fil, ta, te, ml, kn, bn, gu, mr, pa, he, fa, ur, sw, ha, af, ga, cy, is, ca, gl, sl, et, lv, lt, sr, bs, mk, ka, hy, az, kk, ne rewrite and translate: write to a forked copy named " · " instead of this timeline.
export: srt (default), vtt, or txt: the words with no times.
srt, vtt, txt The revision get_timeline returned. A stale one fails with revision_conflict instead of applying; so does no revision once a user edited the timeline in the app since this connection last read it.
Optional: one sentence shown to the user beside this action.
600
