YouTube Shorts count replays as views: render a looping 15-second clip
YouTube counts a Shorts view when a Short starts or replays. Build a 15-second loop from repeated Timeline 1.0 slots for $0.10; match last frame to first.

Short answer
YouTube's Shorts help page says that, from 3/31/2025, a Shorts view counts when the Short starts or replays, with no minimum watch time (read 2026-10-05). So a clip that loops cleanly can be a real design choice. In Timeline 1.0 you can bake a loop into the file by repeating the same source in several slots, and a 15-second result costs $0.10.
What the YouTube page says and does not say
The page defines what counts as a view. It does not say that looping raises reach, ranking or revenue, and I am not claiming that it does. The point is narrower: a replay is a counted view, so a Short that is easy to watch twice has a measurable reason to exist. Whether a loop is good for your channel is something to test with your own analytics.
A loop in the timeline
A timeline slot is a source, an on-spine start and a duration, with an optional in-point. Nothing stops three slots from using the same source_url, as long as the starts increase and slot 0 starts at 0. Three 5-second slots read from the same 5 seconds of a clip give 15 seconds of looped footage. For a seamless loop, choose a clip whose last frame resembles its first, or add a short fade on the repeats.
Remember the coverage rule: the slots must reach to within 0.5 seconds of the end of the audio spine, so a 15-second spine needs slots that end at 14.5 seconds or later.
| Slot | start | duration | source_in | transition |
|---|---|---|---|---|
| 1 | 0 | 5 | 0 | none (first slot) |
| 2 | 5 | 5 | 0 | none, or fade up to 1 s |
| 3 | 10 | 5 | 0 | none, or fade up to 1 s |
Plan it before you pay
The plan call is unbilled and returns segment_count and billable_minutes. Fifteen seconds rounds up to 1 billable minute, so the render is $0.10 at the documented rate of $0.10 per ceil(output minute). Silence mode needs no audio file. If the clip has its own sound, extract it with audio detach and feed it in as the spine instead.
import json
src = "https://media.sume.com/artifacts/artf_demo/loop5.mp4"
body = {
"audio": {"mode": "silence", "duration_seconds": 15},
"video": [{"source_url": src, "start": 5 * i, "duration": 5,
"source_in": 0} for i in range(3)],
}
print(json.dumps(body))
print("POST /v1/timeline-1.0/plan with this body")Before you post
Render, then look at the join frames with video frames at 4.9 and 5.1 seconds to see whether the repeat is visible. Upload through YouTube as a normal Short: square or vertical, up to 3 minutes.
A loop has trade-offs. A 15-second file that is three repeats of 5 seconds is 5 seconds of content, so make sure the 5 seconds is worth watching three times. If the clip has speech, a repeat will say the same words again, which can read as a mistake. Loops suit silent product turns, ambient scenes and music-led visuals more than talking heads.
If you would rather not repeat a clip, the other way to make a replay feel natural is to end on the beat the opening frame sets up. That is an editing choice and needs no repeated slots, only a careful in-point and out-point from a video trim cut.
Sources
Related posts
More in Use cases
- YouTube Shorts Remix is free: what to use for 200 Omni clips a week
Shorts Remix with Gemini Omni is free for creators 18 and over, inside YouTube. For scripted batches, call Omni by API on Sume and mind plan limits.
- YouTube Shorts series: cut a long video into 3-minute episodes
A Shorts series needs Shorts only, portrait or square, up to 180 s. Plan windows of 170 s and send one Sume video-trim per episode with start and duration.
- YouTube's AI label for unrealistic content: the expanded description
YouTube puts a label on realistic AI content, but unrealistic AI content is disclosed in the expanded description. The realistic test and the API field.
- AI album cover generator: square art at 3000×3000
Generate square album art, then upscale: Apple recommends at least 3000×3000. On Sume, generate 2400×2400 and upscale it 1.25× to reach 3000×3000.
Written by Sume