Friday the 13th kindness challenge: a 13-clip recap in one render
World Kindness Day lands on Friday 13 November 2026. Join 13 four-second kind-act clips into a 52-second recap with numbered cards for $0.30 on Sume.

Awareness Days suggests primary schools run a "Friday the 13th kindness challenge" for World Kindness Day 2026, where classes complete 13 kind acts and display the results. A school, club or office can turn that into a recap video: 13 clips of four seconds each make a 52-second video, one Timeline render ($0.10) and one caption job with 13 numbered cues ($0.20), $0.30 in total.
The idea and the date, Friday 13 November 2026, come from World Kindness Day 2026 on Awareness Days, read on 2026-10-12. The limits come from the Sume Timeline and video captions docs, read the same day.
Why is 13 slots a special case?
Timeline's default render.strategy is auto, which chunks a render past 12 segments. You can ask for single, but the docs say Sume refuses it above 12 slots with render_strategy_unsafe. So with 13 clips, leave the strategy alone. A second limit matters too: more than eight adjacent fades is refused as too_many_chained_transitions, so put a hard cut between some clips.
| Rule | Limit | What to do |
|---|---|---|
| Video slots per render | 1 to 200 | 13 is fine |
| Segments in one single-pass render | 12 | Leave strategy on auto |
| Adjacent fades | 8 at most | Fade every other join |
| Spine length | 1 to 1800 s | 52 s is fine |
How do you build the body?
The script below builds the slots and the numbered cues and prints a summary; it runs with plain Python. Post the render object to POST /v1/timeline-1.0/plan first (it is unbilled), then to /render with an Idempotency-Key, and send cues to POST /v1/video-captions once the render is a finished artifact.
import json
ACTS = 13
SECONDS = 4
video, cues = [], []
for i in range(ACTS):
start = i * SECONDS
slot = {
"source_url": f"https://media.sume.com/artifacts/artf_demo/act-{i + 1:02d}.mp4",
"start": start,
"duration": SECONDS,
}
if i and i % 2 == 0:
slot["transition"] = {"type": "fade", "duration": 0.25}
video.append(slot)
cues.append({
"text": f"Kind act {i + 1} of {ACTS}",
"start": start + 0.3,
"end": start + 3.5,
})
total = ACTS * SECONDS
render = {"audio": {"mode": "silence", "duration_seconds": total}, "video": video}
print(len(render["video"]), "slots,", total, "seconds")
print(json.dumps(cues[0]))What does it cost?
The 52-second render rounds up to one output minute, and the 52-second video is under the 60-second price band for a caption job.
| Step | Rate | Amount |
|---|---|---|
| Render, 52 s | $0.10 per output minute, rounded up | $0.10 |
| 13 numbered cards | $0.20 per caption job up to 60 s | $0.20 |
| Total | $0.30 |
Photograph acts that children and staff agreed to share, and leave faces out where you lack consent. The clips must be imported first, since Timeline refuses off-host URLs.
Sources
Related posts
More in Use cases
- Small business year in review video from 10 photos and cues
Turn a year of shop photos into a thank-you recap: image-to-video clips from first frames, trimmed, then burned with your real numbers as caption cues.
- Zoom video background: MP4 or MOV, 360p to 1080p, from Sume
Zoom accepts an MP4 or MOV video background between 480x360 and 1920x1080. Generate a 16:9 clip on Sume at 720p or 1080p and skip the 4K trap.
- 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.
- AI avatar for online course videos: build and update lessons
Use an AI avatar as your online course instructor: one reusable avatar, a short talking video per section, captions, and one Timeline join per lesson.
Written by Sume