Which scripts can Sume burn into captions? Latin and Hangul, then test

Index-Translate covers 150 languages, but Sume's caption docs describe Latin and Hangul styles. Route by script and spend $0.20 on a test cue for the rest.

5 min readSume
All posts

Sume's caption docs describe two script families: Latin text, which defaults to the slam style, and Hangul, which needs a Hangul style such as black-outline. They do not document glyph coverage for other scripts, so a translation into any other writing system should be proven with one $0.20 test job before a batch.

That matters because Bilibili's Index-Translate README says the models cover 150 languages, which is more than the caption docs describe. Facts here are from the Video captions docs and the README, read 2026-10-05.

What the docs say, by script

The check is made at the API, not at the renderer.

Caption style rules by script, from the Sume docs (read 2026-10-05)
ScriptStyle rule in the docsIf you get it wrongWhat to do
LatinNo style: slam. punch and tiktok-green also use Latin facesn/aSend cues, no style needed
HangulHangul styles such as black-outline, weight-shift, korean-ad400 caption_hangul_text_latin_style on a Latin stylePick a Hangul style
Any other scriptNot documentedUnknown until you renderBurn one test cue first

Route by script in your pipeline

Detect the script of each translated cue before you build the request, and send unknown scripts to a test queue. This helper runs locally.

import unicodedata

def script_of(text):
    names = {unicodedata.name(c, "").split(" ")[0] for c in text if c.isalpha()}
    if names <= {"LATIN"}:
        return "latin"
    if "HANGUL" in names:
        return "hangul"
    return "other:" + "/".join(sorted(names))

def caption_style(text):
    kind = script_of(text)
    if kind == "latin":
        return None
    if kind == "hangul":
        return "black-outline"
    raise ValueError(f"test one cue first ({kind})")

for sample in ("Free shipping", "Envio gratis", "\ud55c\uad6d", "Бесплатная доставка"):
    try:
        print(sample, "->", caption_style(sample))
    except ValueError as e:
        print(sample, "->", e)

Cost of being careful

One test job per new script is $0.20 per script at list. Ten new scripts is $2.00, against the cost of burning a whole batch with text a font cannot draw.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume