Captions misspell your brand name: fix it with authored cues
Sume video captions have no custom dictionary field. Pass cues with your own spelling and speech-to-text is skipped, so the brand name prints as written.

The Sume video captions endpoint has no dictionary or custom-vocabulary field, so you cannot register a brand name in advance. To control the spelling, send cues (or segments) with your own text, start and end: the docs say authored overlay cues skip speech-to-text, so nothing is guessed.
Submagic's create-project request shows a dictionary array of terms. The Sume request fields below are from the video captions docs, read 2026-10-01.
Which caption fields control the words?
Required is video_url. The optional text-related fields differ in who decides the words.
| Input | Words come from |
|---|---|
Nothing but video_url | Speech-to-text on the audio |
script_text | Your script, aligned to the speech |
cues / segments | Your text and timings; no speech-to-text |
When does script_text help?
script_text still needs audible speech, since it aligns your script to what is said. If the script and the audio disagree, see caption script alignment mismatch. It is the lighter fix when the speaker follows the script word for word and only the spelling is the problem.
How do I send authored cues?
Each cue needs text, start and end. You supply the timings, so take them from your own transcript or from the script you recorded against. The language field is only a speech-to-text hint (ko, en), and it does not change how authored text is drawn.
{
"video_url": "https://example.com/launch.mp4",
"cues": [
{ "text": "Meet Acme-Flow", "start": 0.0, "end": 1.6 },
{ "text": "built for small teams", "start": 1.6, "end": 3.2 }
]
}Does it cost anything extra?
Each accepted standalone caption job reserves and captures $0.20 USD for videos up to 60 seconds under the docs' current fixed estimate, whichever input you use. If you want a free look at the audio first, a video inspect takes an optional language_code when transcribe is on; probe and stills are unbilled.
Sources
Related posts
More in Developers
- AI music exactly 30 seconds: no duration field, use Timeline
Music Router rejects duration and duration_seconds. Ask for the length in the prompt, then fix the exact output length with Timeline 1.0 audio.duration_seconds.
- Avatar video captions error over 60 seconds: split the script
Inline captions on an avatar video are rejected when the estimated duration is over 60 seconds, the same cap as the job. Split long scripts into jobs.
- Green screen removal by API: chromakey in a video filter graph
Sume's video filter allowlists chromakey and colorkey, but an MP4 holds no alpha, so a key must be composited inside the graph. Not AI background removal.
- Claude mcp_tool_listing pin: what a Sume tool list depends on
A pinned mcp_tool_listing holds the Sume tool list fetched for one session scope. Sume's list depends on mcp:read vs mcp:write and never pushes list changes.
Written by Sume