Word animations require a word_animation object (with style and words[]) on a text element. Only fields that differ from their defaults are shown.
duration is required on text elements. word_animation.words must be non-empty — the API returns 422 if the array is missing or empty.word_animation and motion[] are mutually exclusive — sending both is a 422. The engine reads the word object only when the element emits no animations array, and the word timings would re-time the motion entries instead. Pick one.Styles color and box require background_color — a 422 without it. An absent highlight color resolves to opaque black on the renderer, which is an invisible highlight with a 200 OK, so the API asks for the color up front.
Set time, duration, x, and y on the text element to control when and where the text appears. Word timestamps in words[] are absolute timeline seconds — if your text element starts at time: 5, the first word’s start should also be around 5, not 0.
White text, colored box behind the active word only. No permanent background. This is the combination for CapCut / TikTok-style animated captions.background_color is read by the box highlight renderer as the box color. Leave background unset (or false) so no permanent background box is drawn behind the full text.