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.

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:
| Style family | `font` | `design` |
|---|---|---|
slam (Latin default) | Rejected | Accepted |
punch, tiktok-green | Rejected | Not supported |
korean-ad, black-outline, weight-shift, highlight, pill-karaoke, clip-wipe, editorial-emphasis | Hangul faces only | Accepted |
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
- Edits has 30+ caption styles; Sume has 10 plus design overrides
Instagram says Edits offers 30+ caption styles in multiple languages. Sume Video Captions documents 10 named styles and a design override object. See the table.
- Edits exports 4K 60fps HDR: Sume Timeline's 2160 px edge and 60 fps
Instagram says Edits exports up to 4K at 60fps with HDR. Sume Timeline 1.0 caps each side at 2160 px and offers 24, 25, 30 or 60 fps. Numbers and a plan call.
- Edits keyframes vs Sume Timeline: stills are static, no zoom
Edits supports keyframes. Sume Timeline holds a still static and ignores a motion field; animate the still first with Video Router image-to-video.
- Eleven v4 90+ languages vs Sonic 3.6 44 languages: which fits yours
ElevenLabs says Eleven v4 covers 90+ languages. Cartesia says Sonic 3.6 covers 44. How to check your language before you pick a TTS model or API.
Written by Sume