Shorts episode title card: a 2-second still, then the clip

Open each Shorts episode on a held title still with Timeline 1.0: slot math, the 0.5 s coverage rule, what stills ignore, and one render body you can copy.

5 min readSume
All posts

How to open every episode on a title card

Put the card in as the first video[] slot of a Timeline 1.0 render. A still is a legal slot source: it is held as a static frame for the duration you give it. The card has to be a media.sume.com artifact of your workspace, which is true of anything a Sume image job returns and of anything you import with POST /v1/media-imports. Give it start: 0 and a 2-second duration, start the clip at 2, and the output opens on the card and cuts to the episode.

This is more relevant than usual because YouTube's Shorts series feature, rolling out from 23 September 2026 per the October platform roundup, puts episodes in a numbered, sequential season. A viewer who lands on episode 7 from a thumbnail benefits from a card that says which episode it is.

The rules that decide whether it renders

video[0].start must be 0 or the job refuses with timeline_must_start_at_zero. Starts must increase, and the declared starts are authoritative: the compiler compensates for crossfades and never pre-shifts your clock. A transition belongs only on slots after the first, so the fade in the example sits on the clip, not on the card (transition_on_first_segment otherwise). The transition is 1 second at most and at most half of the shorter neighbor, which is why a 0.25-second fade on a 2-second card is fine.

Coverage can stop at most 0.5 seconds before the end of the spine. In the body below the spine is 32 seconds and the two slots cover 0 to 32, so the check passes. If your clip is shorter than the spine remainder, Sume pads or loops a short source and reports it as a soft warning. A plan cannot predict that warning, so read warnings[] on the result.

What a still ignores, and the voice question

Stills take no motion. If you send motion on a still the job accepts it, ignores it and reports motion_ignored, so do not design a slow zoom on the card and expect it. The fit field is cover by default and also takes contain, stretch and blur; for a card that is already 1080 by 1920, cover is a no-op, and for a card at another ratio you choose how it meets the frame.

The spine plays from time 0, so a voiceover spine also plays under the card. There is no documented way to delay the spine inside the same render. Two honest options: write episodes so the first spoken line fits a 2-second title beat, or make the card's seconds part of the spine by joining a short lead-in file in front of the voice with timeline audio concat, which is a sample-domain join with no re-synthesis.

A body to copy

This render is 32 seconds, a 2-second card and a 30-second clip, so it reserves one output minute ($0.10 per ceil minute under the documented rate; the docs say to confirm the live rate in GET /v1/catalog).

curl -X POST https://api.sume.com/v1/timeline-1.0/render \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: s1-ep03-card-001" \
  -d '{
    "audio": {"url": "https://media.sume.com/artifacts/artf_demo/ep03-voice.wav",
              "duration_seconds": 32},
    "video": [
      {"source_url": "https://media.sume.com/artifacts/artf_demo/ep03-card.png",
       "start": 0, "duration": 2},
      {"source_url": "https://media.sume.com/artifacts/artf_demo/ep03-clip.mp4",
       "start": 2, "duration": 30, "fit": "cover",
       "transition": {"type": "fade", "duration": 0.25}}
    ],
    "output": {"width": 1080, "height": 1920, "fps": 30}
  }'

Numbers from the docs for planning cards

These are the limits that apply to this pattern.

Timeline limits that affect a title-card slot (read 2026-10-06)
FieldLimitWhat happens outside it
video[] slots1 to 200Request refused
Slot duration0.2 s minimuminvalid_segment_timing
Transition1 s max, half of the shorter neighbortransition_too_long
StillsStatic hold, motion ignoredmotion_ignored warning
Output sizeEven integers 256 to 2160Request refused
Default output1080x1920 MP4Set output.width and height to change

Where the card image comes from

Make it in your design tool and import it, or generate it with a Sume image job and use the returned artifact URL directly. If the episode number is text, render the text into the image: the timeline has no text layer, and the filter surface excludes drawtext. If you want the number burned in over the video itself, use video captions with authored cues instead, which burn exact text at exact times without speech-to-text.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume