Burned-in captions and YouTube AI disclosure: captions are exempt
YouTube's disclosure page names caption creation among edits that need no altered-content label. What that covers when Sume burns captions into a Short.

If a Short is real footage and the only edit is captions, the disclosure question is short. YouTube's page on altered or synthetic content lists "caption creation" next to beauty filters, color adjustment, and special effects filters as edits that do not need disclosure.
What Sume does to the frame
The video captions API takes a public HTTPS video URL and returns a captioned video. It burns text on top of the frame. With cues, you author the text and timings yourself and no speech-to-text runs. Without cues, script_text, or words, speech-to-text finds the words, but only when the clip has audible speech. A silent clip fails with caption_no_speech.
Limit of the exemption
The exemption is for the caption step. It does not cover what is underneath. If the footage under the captions is a realistic scene that did not happen, or makes a real person appear to say something they did not, the page lists those separately as needing disclosure.
| Edit | On YouTube's list of no-disclosure edits |
|---|---|
| Burned-in captions | Yes (caption creation) |
| Color adjustment | Yes |
| Special effects filters | Yes |
| Footage that alters a real event or place | No, disclose |
Request
A minimal caption job with authored text. Set SUME_API_KEY first.
import json, os, urllib.request
body = {
"video_url": "https://media.sume.com/artifacts/example/clean.mp4",
"style": "black-outline",
"cues": [{"text": "Three steps, no filler", "start": 0.0, "end": 2.5}],
}
req = urllib.request.Request(
"https://api.sume.com/v1/video-captions",
data=json.dumps(body).encode(),
headers={
"Authorization": "Bearer " + os.environ["SUME_API_KEY"],
"Content-Type": "application/json",
"Idempotency-Key": "caption-cues-001",
},
method="POST",
)
print(urllib.request.urlopen(req).read().decode())Sources
Related posts
More in Developers
- Does the previous agent turn help transcription? AssemblyAI says 4.3%
AssemblyAI reports agent context cut entity error from 16.04% to 15.35%, a 4.3% relative drop. Sume STT has no context field; here is a fair test.
- Download a 4K Gemini Omni clip from /content: redirect, 409 and retry
GET /v1/videos/{id}/content answers 302 to the file, or 409 job_not_completed while rendering. Python that reads the redirect without leaking your API key.
- Does Dr. split a Sume STT segment? Abbreviations and sentence mode
Segmentation tests each token for a final period, so a token like Dr. or U.S. can end a segment early. Merge on your side with a small abbreviation list.
- Draft with sume/auto, finish on a pinned model: why the look differs
sume/auto never says which model ran, so a draft from it is no preview for a pinned final. Draft and finish on the same catalog id, and where Auto fits.
Written by Sume