Facebook Feed video captions: burn them onto a clip with no speech
Meta marks captions optional but recommended for Facebook Feed video ads. Sume's caption job fails on a silent clip unless you pass your own cues.

Meta's Facebook Feed video ad page marks video captions as optional but recommended. Sume's POST /v1/video-captions transcribes speech by default, so a silent product clip fails with caption_no_speech; pass authored cues with text, start and end to burn copy without speech-to-text.
Why does my silent product clip fail captioning?
The captions docs say speech-to-captions, from script_text or from speech-to-text when it is omitted, needs audible speech. A silent clip fails as caption_no_speech with next_action: use_overlay_captions, which is a specific failure and not a generic policy rejection. A Timeline render with audio.mode set to silence produces exactly that kind of clip.
How do I burn authored copy instead?
Send cues (or segments), each with text, start and end. That is the authored overlay path and it skips speech-to-text. video_url must be a public HTTPS URL. style is optional; leave it off and the wording decides (slam for Latin text).
curl -X POST https://api.sume.com/v1/video-captions \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: feed-captions-001" \
-d '{
"video_url": "https://example.com/candle-silent.mp4",
"cues": [
{ "text": "Hand-poured soy candle", "start": 0.0, "end": 2.5 },
{ "text": "Burns for 40 hours", "start": 2.5, "end": 5.0 }
]
}'Which case needs which route?
Match the clip to the route.
| Clip | Route | Result |
|---|---|---|
| Has a voiceover | Omit cues; optionally pass script_text | Speech-to-captions |
| Silent | Pass cues or segments | Authored overlay, no speech-to-text |
| Silent, no cues | Nothing | Fails as caption_no_speech |
What are the limits of this answer?
Meta lists captions as optional, so nothing here is required to pass review. The captions docs describe the job, not how a burned-in caption sits inside Meta's placement; check the result in Meta's ad preview. The hard-coded times above are placeholders, so set them to the length of your clip.
Sources
Related posts
More in Use cases
- Facebook Feed video ad file type: MP4, MOV or GIF from Sume?
Meta lists MP4, MOV or GIF for Facebook Feed video ads. Sume Timeline, video-filter and video-trim each return an MP4, so MP4 is the format to plan around.
- Flow Music edits a song by section: how to do it by API
Google Flow Music edits songs by section; its Lyria API page says multi-prompt editing is unsupported. On Sume, cut two takes and join the parts you keep.
- Google Merchant apparel images worn by people: reference-guided images
Google asks for apparel product images worn by people. gpt-image-2.5 on Sume takes up to 16 reference images, so a garment photo can guide the image.
- Google Merchant Center image size: 500x500 minimum, 1500x1500 advised
Google lists at least 500 x 500 pixels for product images and recommends 1500x1500 or above. Sume's gpt-image-2.5 can output 1536x1536, which meets the advice.
Written by Sume