Sports Video Template

Workout of the Day

A CrossFit box or training app posts the day's session as a whiteboard: five square frames carrying the date, the format, the movement list, the scoring standard and the class times, and nothing else. 24 seconds at 1:1 (1080x1080), built on a strict white-black-white-black-white ground alternation with marker red used only to mark a number or an instruction. Scene 03 is the hero — a right-aligned red rep column against a ruled divider, movement names in Anton at 68px with loads demoted to a 28px sub-line so they never compete for the same glance. It is a pure batch template: 24 dynamic fields (23 text plus one evergreen photo) map one-to-one onto a coach's programming spreadsheet, so a month programmed in one sitting renders thirty videos with no authoring after the first. Swapped per render: gym_name, date_label, session_name, session_focus, structure_line, structure_label, four movement rows (move_1..4_reps / _name / _detail), score_type, time_cap, coach_note, class_times, booking_line, and gym_photo.

Aspect ratio
1:1 · Square
Duration
~24s
Category
Sports

Try it with your own copy

Edit a field and the frame re-renders in your browser. No account, no credits - previews are free because they cost a browser paint, not a render.

What you can customize

This template exposes 24 dynamic fields you can swap per video - edit them in the editor or pass them to the API to batch-render variations at scale. The monospace name is the exact key to send in replacements.

  • Gym Name

    text
    gym_name

    Crosstown Barbell

    ~165 characters max · 2 lines

  • Date Label

    text
    date_label

    Thursday · 14 August

    ~25 characters max · 1 line

  • Session Name

    text
    session_name

    Brickyard

    ~11 characters max · 1 line

  • Session Focus

    text
    session_focus

    Conditioning

    ~18 characters max · 1 line

  • Structure Line

    text
    structure_line

    AMRAP 18

    ~10 characters max · 1 line

  • Structure Label

    text
    structure_label

    As many rounds as possible in 18 minutes.

    ~51 characters max · 1 line

  • Move 1 Reps

    text
    move_1_reps

    15

    ~5 characters max · 1 line

  • Move 1 Name

    text
    move_1_name

    Wall Balls

    ~22 characters max · 1 line

  • Move 1 Detail

    text
    move_1_detail

    20 / 14 lb

    ~67 characters max · 2 lines

  • Move 2 Reps

    text
    move_2_reps

    12

    ~5 characters max · 1 line

  • Move 2 Name

    text
    move_2_name

    Toes-to-Bar

    ~22 characters max · 1 line

  • Move 2 Detail

    text
    move_2_detail

    Scale: knee raise

    ~67 characters max · 2 lines

  • Move 3 Reps

    text
    move_3_reps

    9

    ~5 characters max · 1 line

  • Move 3 Name

    text
    move_3_name

    Hang Power Cleans

    ~22 characters max · 1 line

  • Move 3 Detail

    text
    move_3_detail

    135 / 95 lb

    ~67 characters max · 2 lines

  • Move 4 Reps

    text
    move_4_reps

    200M

    ~5 characters max · 1 line

  • Move 4 Name

    text
    move_4_name

    Run

    ~22 characters max · 1 line

  • Move 4 Detail

    text
    move_4_detail

    Out and back

    ~67 characters max · 2 lines

  • Gym Photo

    url
    gym_photo

    https://images.pexels.com/photos/9958671/pexels-photo-9958671.jpeg?auto=compress&cs=tinysrgb&w=1800

  • Score Type

    text
    score_type

    Rounds + Reps

    ~16 characters max · 1 line

  • Time Cap

    text
    time_cap

    18:00

    ~6 characters max · 1 line

  • Coach Note

    text
    coach_note

    Choose a load you can cycle unbroken for nine. Break the toes-to-bar early, before the grip goes.

    ~195 characters max · 3 lines

  • Class Times

    text
    class_times

    05:30 · 09:00 · 12:00 · 17:30 · 18:30

    ~107 characters max · 2 lines

  • Booking Line

    text
    booking_line

    crosstownbarbell.com/book

    ~88 characters max · 2 lines

Render it from the API

Copy either call below. Both already carry this template's ID and its real variable keys - swap the values for your own.

1. Preview it — free

Same body as a render. Costs no credits, creates no job. Returns a public URL that plays the video in a browser, plus a list of problems with your payload — a mistyped key is otherwise ignored in silence.

curl -X POST https://renderly.video/api/v1/previews \
  -H "Authorization: Bearer $RENDERLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "workout-of-the-day",
  "replacements": {
    "gym_name": "Crosstown Barbell",
    "date_label": "Thursday · 14 August",
    "session_name": "Brickyard",
    "session_focus": "Conditioning",
    "structure_line": "AMRAP 18",
    "structure_label": "As many rounds as possible in 18 minutes."
  }
}'

2. Render it

Change one word in the URL. Keep templateId — it is what links your call to this template, so later improvements reach you automatically.

curl -X POST https://renderly.video/api/v1/renders \
  -H "Authorization: Bearer $RENDERLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "workout-of-the-day",
  "replacements": {
    "gym_name": "Crosstown Barbell",
    "date_label": "Thursday · 14 August",
    "session_name": "Brickyard",
    "session_focus": "Conditioning",
    "structure_line": "AMRAP 18",
    "structure_label": "As many rounds as possible in 18 minutes."
  }
}'

The body above shows 6 of 24 variables. Send any subset — every key you leave out renders its authored default. Read the full contract, with character limits, from GET /api/v1/templates/workout-of-the-day/variables. See the previewing guide, the rendering guide, or the OpenAPI spec.

Frequently asked questions

How do I customize the Workout of the Day template?

Open the template in the Renderly editor and replace its 24 customizable fields (such as Gym Name) with your own text, images, or video. Every change previews instantly before you render.

How much does it cost to render this template?

Rendering is credit-based - 1 credit equals 1 minute of 1080p video. You only pay when you export, and credits never expire on the pay-as-you-go plan.

Can I generate this video at scale via the API?

Yes. POST this template's ID and a replacements object to /api/v1/renders - one call per row of data, 24 fields swappable per video. Send the same body to /api/v1/previews first to check it for free. No-code integrations like Zapier work the same way.

More Sports templates

Basketball Game Recap - Final Buzzer template preview

Basketball Game Recap - Final Buzzer

An arena-loud, broadcast-grade 37-second 16:9 final-buzzer card a club, league, or fantasy/media app auto-posts the instant the game ends - the basketball sibling of the Sports Match Recap family (violet accent + Archivo Black vs. the soccer card's blue + Anton). Seven scenes: a "Final" cold open with both crests, the final score in team colors with an F buzzer chip, a hardwood-light by-quarter line score, a head-to-head team-stats panel with dueling bars, a Player of the Game spotlight, a hard-cut violet Next Game tease, and a sign-off end card. Swap the per-game dynamic fields - competition + round + venue, both team names, crests and a swappable arena backdrop, the home/away score, each team's quarter-by-quarter line, three labelled head-to-head stats, the player of the game + stat line + optional photo, and the next opponent + crest + date - to render a unique recap for every game off a game.final webhook or stats feed. (Team colors and the stat-bar proportions are baked to the sample; the Player of the Game panel falls back to a jersey-number graphic when no cutout is supplied.)

Sports Match Recap - Full-Time Scorecard template preview

Sports Match Recap - Full-Time Scorecard

A broadcast-grade 37-second 16:9 full-time card a club, league, or fantasy/media app auto-posts the instant the final whistle blows. Seven scenes: a "Full Time" cold open with both crests, the final scoreline in team colors with an FT chip, a light goalscorers card, a head-to-head match-stats panel with dueling bars, a Player of the Match spotlight, a hard-cut blue Next Fixture tease, and a sign-off end card. Anton / Oswald / JetBrains Mono with an electric-blue system accent. Swap the per-fixture dynamic fields - competition + round + venue, both team names, crests and a swappable stadium backdrop, the home/away score, each side's goalscorers, three labelled head-to-head stats, the player of the match + stat line, and the next opponent + crest + date - to render a unique recap for every fixture off a match.finished webhook or league feed. (Team colors and the stat-bar proportions are baked to the sample; goal minutes render in the team text color.)

Sport template preview

Sport

A dynamic sports template with energetic background music and bold text.

Ready to make your Workout of the Day video?

Customize it in the editor and render in minutes - no design or editing skills required.