caption_hangul_text_latin_style: the 400 and the fix
Sume returns 400 caption_hangul_text_latin_style when Korean copy is sent to slam, punch or tiktok-green. Name a Hangul style such as black-outline instead.

caption_hangul_text_latin_style is a 400 from POST /v1/video-captions. It means Korean text was sent with a style that draws Latin display faces only: slam, punch or tiktok-green. Name a Hangul style such as black-outline, or omit style and let the wording choose.
Descript's 2026-09-17 changelog added 18 caption presets. Sume's looks differ by script, and the rules are in Video captions.
Why is it an error and not a fallback?
The docs say the three Latin styles have no Hangul glyphs. Rather than silently re-styling the job, Sume rejects it: a caption you did not choose is worse than an error, and a video full of tofu boxes would cost the same as a good one. Latin copy on slam is unchanged.
Which style should I name instead?
For Korean speech such as talking heads or UGC, the docs point to the Hangul identities, led by black-outline, the safe default. korean-ad is the ad karaoke look and pairs with language: "ko".
| Request | Result |
|---|---|
Korean text, style: "slam" | 400 caption_hangul_text_latin_style |
Korean text, style: "punch" or "tiktok-green" | Same 400 |
Korean text, style: "black-outline" | Burned as written |
Korean text, no style | Resolves to black-outline |
Latin text, style: "slam" | Unchanged |
What if I leave style out?
An omitted style follows the wording: Korean copy resolves to black-outline instead of burning tofu through the Latin default. A style you name is rendered as named, which is why naming slam with Korean text fails. The related font error is covered in caption_font_requires_hangul_style.
Sources
Related posts
More in Developers
- caption_no_speech: caption a silent clip with cues
caption_no_speech means the clip has no audible speech. Sume's fix is next_action use_overlay_captions: send cues with text, start and end and skip ASR.
- catalog_list shows a capability that tools_list does not
On Sume's hosted MCP, catalog_list lists public API capabilities and can name ones with no MCP tool. tools_list is the session's real tool contract.
- Reframe a video around the speaker by API: what a crop can do
Descript's Center Active Speaker (Beta) follows whoever talks. Sume's video filter crop is one fixed rectangle per clip, so cut per speaker and crop each part.
- chatgpt-image-latest shuts down Dec 1: pin a Sume model id
OpenAI retires the chatgpt-image-latest alias on Dec 1, 2026. On Sume, pin openai/gpt-image-2.5 or send sume/auto, and read ids from GET /v1/images/models.
Written by Sume