Shorts 2x playback speed: captions flash by, so set phrasing max_words

YouTube's June 2026 Shorts update lists 2x playback speed. At 2x a caption phrase is on screen half as long; limit max_words and burn captions with Sume.

5 min readSume
All posts

Short answer

At 2x playback a caption phrase that was readable for 1.2 seconds is on screen for 0.6. Burn captions in short phrases: in Sume's video captions API set design.phrasing.max_words to a low number such as 3, which works with the slam style. Punch and tiktok-green do not support design overrides.

What YouTube announced

YouTube's blog post of June 25, 2026 on Shorts experience updates lists a heart that replaces the thumbs-up, a retired dislike button, Clear Screen that hides icons and text, 2x playback speed, a Shorts timer and Not Interested reasons (read 2026-10-05). The post does not describe how many viewers use 2x, so treat it as a possibility, not an average. A burned-in caption cannot be sped up or slowed down by the viewer, so it has to be readable at the fastest speed you care about.

The reading-time arithmetic

On-screen time at 2x is half the time at 1x. The phrase times and the reading rate below are assumptions for the arithmetic, not data about viewers.

Caption phrase time at 1x and 2x playback, read 2026-10-05
Phrase on screen at 1xOn screen at 2xWords readable at 2x (assumed 3 words per second)
1.2 s0.6 s1.8
1.5 s0.75 s2.25
2.0 s1.0 s3.0

A request with short phrases

The 3 words per second figure is an assumption, not a measured reading speed. With it, a 3-word phrase needs about 1 second to read, which is exactly what a 2-second phrase gives you at 2x. Limit the phrase to three words with design.phrasing.max_words and each card is short enough to survive the faster speed. The request body below changes nothing else about the slam style. Phrase length is only one lever; a clip with long pauses between sentences also gives each card more time on screen than a clip with continuous speech.

import json, os, urllib.request

key = os.environ.get("SUME_API_KEY", "")
if not key:
    raise SystemExit("set SUME_API_KEY")
body = {
    "video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
    "style": "slam",
    "design": {"phrasing": {"max_words": 3}},
}
req = urllib.request.Request(
    "https://api.sume.com/v1/video-captions",
    data=json.dumps(body).encode(),
    headers={"Authorization": "Bearer " + key,
             "Content-Type": "application/json",
             "Idempotency-Key": "caption-fast-001"},
)
print(json.load(urllib.request.urlopen(req)))

What else the same update affects

Clear Screen hides icons and text, so check that your burned-in captions are part of the picture and do not rely on an overlay the viewer can hide. If the caption line collides with on-screen controls on your own test device, move it with design.placement.anchor_ratio, the center of the line as a fraction of frame height.

A caption job is $0.20 for a video up to 60 seconds. Restyling with source_caption_id re-burns the same words with a new look at the same price, so you can try max_words 2 against 3 without a second transcription.

A short test plan: burn the same clip with max_words 3 and max_words 2, play both at 2x on a phone, and keep the one you can read without pausing. Do the same with a clip that has fast speech, since that is where phrase cards turn over fastest. If neither is readable, the fix is upstream: slow the speech or cut the script, because a caption cannot hold a card on screen longer than the words are spoken.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume