Instagram Reels captions too small or cut off: tune safe width

Resize, narrow and move burned-in captions per request with Sume video captions design: font_size_ratio, safe_width_ratio and anchor_ratio, with their ranges.

5 min readSume
All posts

If burned-in captions on a Reel look too small or run off the edge, change three numbers in Sume's caption design: typography.font_size_ratio for size, typography.safe_width_ratio for how wide a line may be, and placement.anchor_ratio for where the line sits as a fraction of frame height. Each is optional and merges over the style, so one key changes one thing.

These tokens are documented on Sume's video captions page. Instagram's own interface overlays are not documented in a source this post could read, so for the Reels safe zone Meta publishes for ads, see Meta video ad specs.

Which design fields control size, width and position?

font_size_ratio scales the text relative to the frame, safe_width_ratio limits the width a line may use, and anchor_ratio sets the line centre as a fraction of the frame height. In the API schema their accepted ranges are 0.01 to 0.4 for font size, 0.3 to 1 for safe width, and 0.05 to 0.95 for the anchor. A number outside range is a 400 at request time, so it fails before rendering and billing.

design works on every named style except punch and tiktok-green, which render on a path that reads none of these tokens. So pick slam or another style when you intend to tune.

Caption design fields, Sume docs and API schema read 2026-10-02
FieldGroupRange
font_size_ratiotypography0.01 to 0.4
safe_width_ratiotypography0.3 to 1
anchor_ratioplacement0.05 to 0.95
max_wordsphrasingPer request, optional

How do I fix text that is cut off?

Lower safe_width_ratio so lines stop short of the side edges, and max_words in phrasing so a long phrase breaks into more cards. Two short lines survive a phone's rounded corners better than one long one.

Keep the anchor away from the very top and very bottom of the frame, where the app places its own controls. A mid-lower anchor such as 0.7 is a starting point to test, not a Meta-published safe value.

curl -X POST https://api.sume.com/v1/video-captions \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: reel-caption-size-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/reel.mp4",
    "style": "slam",
    "design": {
      "typography": {"font_size_ratio": 0.06, "safe_width_ratio": 0.75},
      "placement": {"anchor_ratio": 0.7},
      "phrasing": {"max_words": 3}
    }
  }'

How do I try a second look without paying for transcription again?

Pass source_caption_id instead of video_url and Sume reuses that caption's source video and its word timings, so no second speech-to-text runs. A restyle is still a render and is billed as one; the standalone caption is listed at $0.20 for videos up to 60 seconds, with live pricing in GET /v1/catalog.

That makes size and width easy to iterate: change one number, restyle, look at a still. To see stills quickly, use video inspect, which returns eight by default, unbilled.

curl -X POST https://api.sume.com/v1/video-captions \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: reel-caption-size-002" \
  -d '{
    "source_caption_id": "vc_123",
    "style": "slam",
    "design": {"typography": {"font_size_ratio": 0.07}}
  }'

What should I check on a real phone?

Judge on a phone at arm's length, with Instagram's own overlays on. Look at three frames: one early, one mid, one near the end, since captions often drift toward the edge on long phrases. If any line touches an edge or hides behind buttons, lower the width or move the anchor and restyle.

Sume cannot see Instagram's overlays, so the final decision is visual.

What about other languages?

Latin styles such as slam have no Hangul glyphs, and sending Korean text to them returns 400 (caption_hangul_text_latin_style) rather than silently re-styling. For Korean speech, use a Hangul style such as black-outline, which is also what an omitted style resolves to for Korean wording.

The language field is only a speech-to-text hint. It never picks the style or the font, so set style explicitly when the look matters. The design tokens in this post work on those Hangul styles too, since they are part of the same schema.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume