Edits has 250+ fonts: Sume's 29 caption fonts are Hangul-only

Edits ships 250+ fonts and 50+ text animations. Sume Video Captions lists 29 fonts, all Hangul, and no font field for Latin styles. What that means.

4 min readSume
All posts

Edits lists "250+ fonts and 50+ animation effects" for text overlays, with safe zones that show where text will not be cut off by Instagram's interface (Instagram creators, read 2026-10-03). Sume's caption renderer has 29 documented fonts, and every one of them is a Hangul face. The font field only works with Hangul styles; naming one beside a Latin style such as slam returns a 400 (caption_font_requires_hangul_style). So for English captions you choose a style, not a typeface, and you tune the look with design.

What Sume lets you change on Latin captions

On slam, punch and tiktok-green the face is fixed by the style. slam and the other Hangul-capable styles accept design overrides, but punch and tiktok-green still render on a path that reads none of them, per the docs. That leaves a clear map of which knob works where:

Caption look controls by style family, read 2026-10-03
Style family`font``design`
slam (Latin default)RejectedAccepted
punch, tiktok-greenRejectedNot supported
korean-ad, black-outline, weight-shift, highlight, pill-karaoke, clip-wipe, editorial-emphasisHangul faces onlyAccepted

The Hangul faces you can name

The list is open-licensed (SIL Open Font License 1.1) and ships with the renderer, and any name outside it is rejected rather than silently substituted, so a caption never falls back to a face you did not ask for. Highlights from the 29:

  • Clean baseline: pretendard, noto-sans-kr, ibm-plex-sans-kr, gothic-a1, nanum-gothic.
  • Impact: black-han-sans, gasoek-one, bagel-fat-one.
  • Playful or handwritten: jua, single-day, nanum-pen, gaegu, east-sea-dokdo.
  • Editorial serif: noto-serif-kr, nanum-myeongjo, song-myung.
  • Retail display: gmarket-sans; pixel: dunggeunmo.

A caption request that names a face

Pair a Hangul style with a font and a language hint. weight-shift and korean-ad animate the wght axis, which only Pretendard carries, so on a static face they keep colour and scale emphasis and lose the weight travel; the sample picks Pretendard for that reason.

import json, os, urllib.request

API = "https://api.sume.com/v1"

def post(path, body, key):
    req = urllib.request.Request(
        f"{API}{path}",
        data=json.dumps(body).encode(),
        headers={
            "Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
            "Content-Type": "application/json",
            "Idempotency-Key": key,
        },
        method="POST",
    )
    with urllib.request.urlopen(req) as res:
        return json.load(res)

job = post(
    "/video-captions",
    {
        "video_url": os.environ["SUME_PUBLIC_VIDEO_URL"],
        "style": "weight-shift",
        "font": "pretendard",
        "language": "ko",
    },
    "caption-pretendard-001",
)
print(job["request_id"])

The honest comparison

If your Reels are English and brand typography matters, a 250-font editor wins and Sume's Latin options are the three named styles plus colour and placement tokens. If your Reels are Korean, Sume gives you named faces and a restyle path that reuses word timings. Either way, check the result on a phone at feed size before you publish; Instagram's own safe-zone overlay in Edits is the right yardstick for where text can sit.

What to do if you need a specific Latin typeface

Sume's caption job is the wrong tool when a brand guide names a typeface. The docs give you a style, colour, weight and placement tokens, but no way to upload or choose a Latin face. If the exact face matters, set captions in an editor that has it, such as Edits with its 250+ fonts, and use Sume for the steps around it: trimming, assembling, or generating clips.

If captions only need to be legible and consistent, a fixed Latin face is often fine. Check the result at feed size: the Instagram safe-zone overlay in Edits shows where the interface will cover text, and the Sume placement.anchor_ratio and typography.safe_width_ratio tokens let you move and narrow the line to stay inside it.

A quick audit before you burn

Ask three questions. Is the copy Latin or Hangul? If it is Latin, font is off the table and slam is the default. Is the spoken word emphasis important? Then pick a style that animates it and keep design modest. Does the clip have speech? A silent clip fails as caption_no_speech, and the fix is authored cues with text, start and end, which skip speech-to-text entirely.

One more constraint

Captions burn into the pixels, so a face or colour you choose cannot be changed by the viewer, while Instagram's own closed captions are text it renders itself. Instagram's help page on closed captions for reels says speech recognition writes the speech out as text at the bottom when you turn automatic captions on (read 2026-10-03). Burned-in captions and automatic captions can double up on screen, so decide which one a given Reel uses before you render.

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume