Turkey trot registration video: 3 versions of one 5K clip for $1.23

Thanksgiving is Thursday 26 November 2026. Generate one 5-second race clip and burn early, last-call and charity lines on it for about $1.23 on Sume.

5 min readSume
All posts

A turkey trot registration video needs three messages over a month: registration is open, spots are running out, and race day is here. Generate one 5-second clip ($0.625) and burn three lines with three caption jobs ($0.60) for $1.225 on Sume.

Wikipedia's Turkey trot article, read 2026-10-03, says turkey trots are footraces held on or around US Thanksgiving; the oldest documented one is in Buffalo, New York, in 1896; 5K is the most popular distance, over 90% of races; 2024 had 1.1 million participants across 936 races in all 50 states, up from under 700,000 in 2011; and the 2024 races brought in over $3.6 million in revenue, most of which went to charity. Many have costumed runners. For an organizer, the competition for sign-ups is large.

The three versions

Thanksgiving falls on 26 November, so a sensible rhythm is one post in the first week of November, one in the third week and one the week of the race. Use the same clip every time; only the cue text changes.

Three captions on one clip (Sume rates as of 2026-10-03)
VersionExample lineCost
OpenRegistration is open: 5K, Thanksgiving morning$0.20
Last callLast 50 spots. Register by Nov 20$0.20
Race weekPacket pickup this week. Turkey hats welcome$0.20

Generating the clip

Use wan-3.0 via POST /v1/videos, 720p, 5 seconds: $0.10 per second list, x 1.25 is $0.625. Prompt for a crowd of runners on a cold morning with no readable text, since text on bibs and banners will not be reliable; put the dates and the URL in captions instead. If you have real race photos, skip generation: a Timeline job with 5 stills costs $0.10 for the render.

import os, sys, uuid, requests

def main():
    key = os.environ.get("SUME_API_KEY", "")
    if not key:
        sys.exit("Set SUME_API_KEY first")
    body = {
        "video_url": "https://media.sume.com/artifacts/YOUR_ARTIFACT/clean.mp4",
        "style": "slam",
        "cues": [
            {"text": "Thanksgiving 5K: register now", "start": 0.0, "end": 3.0},
            {"text": "Nov 26, 8 a.m.", "start": 3.0, "end": 5.0},
        ],
    }
    resp = requests.post(
        "https://api.sume.com/v1/video-captions",
        json=body,
        timeout=60,
        headers={"Authorization": "Bearer " + key,
                 "Idempotency-Key": str(uuid.uuid4())},
    )
    print(resp.status_code, resp.json())

if __name__ == "__main__":
    main()

What Sume does and does not do

  • Does: make the clip and burn each line.
  • Does not: run registration, set prices, or check course permits.
  • Does not: guarantee the dates, so confirm them against your race page before the render.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume