Meta text overlay rules: one CTA, contrast, safe zone, Sume captions
Meta's overlay advice is four lines: clean font, contrasting hue, one call to action, stay in the safe zone. How to meet each with a Sume caption job.

Meta's guidance on text overlays comes to four rules: use a modern, clean font in a large enough size with a contrasting hue, do not obstruct the visuals, do not send too many messages because an ad usually has one call to action, and stay within the safe zone. A Sume caption job covers the font, color and position parts, and the one-CTA rule is a script decision.
The four rules
These come from Meta's page on text overlays and the safe zone. The page defines text overlays as words or phrases placed directly on top of an ad's visual content, and says the safe zone is the area where text and logos will not be cropped out or covered by the interface.
For 9:16 ads in Stories, Reels, Feed and Facebook in-stream reels it asks you to keep the top, bottom and sides free. For Instagram Feed ads in 1:1 or 4:5 it asks you to keep the bottom and sides free.
| Meta rule | Sume control | Who decides |
|---|---|---|
| Clean, large font | caption style (slam, black-outline and others), typography overrides | Caption request |
| Contrasting hue | design.colors base, active, stroke | Caption request |
| Do not obstruct visuals | design.placement.anchor_ratio | Caption request |
| One call to action | The words in the script | You |
| Stay in safe zone | anchor_ratio plus a visual check | Both |
A caption request that follows them
Sume's caption surface is POST /v1/video-captions. The design field overrides one request's colors, typography, placement, phrasing and motion. Colors are hex or rgb values, and a number outside the documented range returns 400 before you pay. Use a style that supports design: punch and tiktok-green do not.
The example sets a white base with a black stroke for contrast and puts the line center at 0.45 of the frame height, above any bottom band.
curl -X POST https://api.sume.com/v1/video-captions \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: overlay-rules-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/ad.mp4",
"style": "slam",
"design": {
"colors": { "base": "#FFFFFF", "stroke": "#000000" },
"placement": { "anchor_ratio": 0.45 }
}
}'The one-CTA rule is a writing rule
Captions burn the speech. They do not add a button or pick a message. If the voiceover says three offers, three offers appear. Edit the script to one action before you generate the audio. A caption job accepts script alignment, so the words on screen can match the final script.
Keep the CTA out of the first and last frame zone that the interface covers, and keep any disclaimer band clear as the 40% post describes.
Check on a real frame
Pull stills with POST /v1/video-inspect at the moment the longest caption shows. Compare against the Ads Manager Safe zone guardrail, the yellow overlay Meta provides, before you publish.
Sources
Related posts
More in Use cases
- Midjourney 100K-image history crash fixed; archive your files anyway
Midjourney's Oct 2 changelog fixes a crash opening images in 100K+ histories. Keep your own copy: download outputs and log prompts, settings and cost.
- Midjourney collaboration is 'upcoming'; hand off with Sume metadata
Midjourney's Oct 2 changelog lists collaborative generation and edit history as upcoming. On Sume, put a handoff note in the job metadata field.
- Mixed-language recording: detach ranges, STT with a hint per range
Split a bilingual video into audio ranges with Sume audio detach, then transcribe each range with its own language_code. Detach output caps at 900 s.
- MSN's AI content policy: AIAC vs unreviewed AIGC for video makers
MSN separates AI-assisted content from unreviewed AI-generated content, and asks for disclosure now. What a Sume video publisher on MSN should do.
Written by Sume