YouTube Shorts auto-captions not showing? Burn them in with Sume

YouTube says Shorts captions exist only in certain languages and on mobile devices. When that is not enough, Sume burns captions into the MP4 for $0.20.

5 min readSume
All posts

If YouTube's automatic captions are missing on your Short, the help page's own explanation is that captions are only available in certain languages and mobile devices. The fix that does not depend on YouTube is burning captions into the video itself: Sume's video captions endpoint takes a public HTTPS video URL and returns a new captioned MP4 for $0.20 per job up to 60 seconds.

YouTube facts here come from Enhance your Shorts, Add subtitles & captions and Video Clips & Shorts in YouTube Studio, read 2026-10-02. Sume facts come from the video captions docs.

Why might Shorts auto-captions be unavailable?

Three YouTube statements matter. The Shorts editor page says captions are only available in certain languages and mobile devices. The captions page says, in its auto-translate section, that automatic captions will be in the video's default language only. And the clips tool page says the transcript in that tool is used to create the auto-generated captions for a Short.

None of those pages lists the supported languages, so this post does not either. If your language is missing, or you edit on a device that lacks the option, you need captions from another route.

What is the difference between YouTube captions and burned-in captions?

YouTube captions are a separate track the viewer can toggle and that YouTube can restyle. Burned-in captions are pixels in the video: they cannot be turned off, they appear everywhere the file is shown, and the player cannot translate them.

That trade is why many Shorts use both. Burned-in text carries the hook for viewers who never open a caption menu; a caption track serves accessibility and search. Sume produces only the burned-in half. Its docs state that SRT uploads are unsupported on this endpoint, and it does not create a YouTube caption track.

Caption routes for a Short, sources read 2026-10-02
RouteWho makes itToggle offLanguage limit
YouTube auto-captionsYouTubeYesCertain languages and mobile devices
Caption file uploadYouYesNot stated on the pages read
Sume video captionsSume jobNo, burned inSpeech hint via language, auto-detect if omitted

How do I burn captions with Sume?

Send video_url (a fetchable public HTTPS URL), plus optional style, language and script_text. Omit style and Latin copy defaults to slam, Korean to black-outline. A clip with no speech fails as caption_no_speech; pass cues with text, start and end to burn authored text without speech-to-text. Each accepted job is $0.20 for videos up to 60 seconds under the current fixed estimate, and the docs say to confirm live pricing in GET /v1/catalog.

A Short can run three minutes, so check the catalog before batching clips over 60 seconds; this post does not claim a price for them.

curl -X POST https://api.sume.com/v1/video-captions \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: short-caption-001" \
  -d '{"video_url":"https://media.sume.com/artifacts/artf_demo/clean.mp4","style":"slam","language":"en"}'

How do I get the result and restyle it?

The job runs asynchronously: poll GET /v1/jobs/:id/status, then read GET /v1/jobs/:id/result or GET /v1/video-captions/:id for the captioned video_url. To try another look, pass source_caption_id instead of video_url; Sume reuses the stored word timings so no second speech-to-text runs, though a restyle is still billed as a render.

Burn onto the clean source, not onto an already-captioned file, or the text will stack.

What are the limits?

Burned-in captions will not fix YouTube's availability and they do not replace a caption track. Sume does not read YouTube's captions, and it does not list which languages YouTube supports. To keep spelling right, pass script_text: Sume aligns the wording to the speech, or fails with a typed alignment error (script_alignment_mismatch or script_alignment_failed) that you can retry without the script.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume