Move captions on an avatar video: design.placement and anchor_ratio

Inline avatar captions take no design overrides. To lift the caption line off the platform buttons, re-burn with the standalone job. Fields, price, example.

5 min readSume
All posts

To move the captions on a finished avatar clip, run the clean MP4 through the standalone captions endpoint with a design.placement.anchor_ratio value. Inline captions on the avatar job take only style, optional font, a language hint and script_text, so they cannot be moved. The standalone job takes a design object whose placement group sets the vertical position of the caption line, and it costs a flat 0.20 dollars for videos up to 60 seconds per the docs.

What anchor_ratio means

The docs define anchor_ratio as the centre of the line as a fraction of the frame height, with landscape_anchor_ratio for landscape frames. The documentation does not give a recommended value, so test your own: render one clip, check it in the platform's preview, and adjust. Numbers outside a field's documented range return a 400 at request time, so a wrong value fails before any render is paid for.

curl -X POST https://api.sume.com/v1/video-captions \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: lift-captions-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/example/clean.mp4",
    "style": "slam",
    "design": { "placement": { "anchor_ratio": 0.6 } }
  }'

Which styles allow it

Per the docs, punch and tiktok-green do not support design, because they render on a path that reads none of the tokens. slam, the Latin default, does. Other groups in design are colors, typography, phrasing and motion, and each field is optional and merged over the style's own value.

Use the clean file

Do not caption the same clip twice. The avatar job returns a clean primary video_url even when caption burn fails; if you turned inline captions on, you already have captions in that file. To avoid doubling, create the avatar job with captions off, keep the clean video, and caption it once with the standalone job. Remember that the inline captions option is a separate add-on in the avatar estimate, while the standalone job is its own fixed charge, so you are choosing one or the other per clip.

Cost check

One avatar clip of 30 seconds at plus is 7.35 dollars, and one standalone caption job adds 0.20 dollars, so 7.55 dollars. At standard it is 5.72 dollars. If you re-style the same clip later, the restyle route reuses the word timings; the price does not change.

Why bother

The bottom of a 9:16 frame is crowded with platform controls. Moving the caption line up a little keeps the first words legible. Look at the clip inside the actual app before you decide.

Testing a placement

Render three versions with different anchor values using restyles, view each in the app you publish to, and keep the one that is not covered by buttons. Record the value in your pipeline settings so that every clip in the series uses the same one. Check portrait and landscape separately, because landscape frames have their own landscape_anchor_ratio field.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume