Christmas 2026 is a Friday: a December ad calendar in 6-second clips

Christmas Day 2026 is Friday, Dec 25, so Christmas Eve is Thursday. Plan five 6-second Sume clips, one per phase, for $3.75 at 720p on Wan 3.0.

5 min readSume
All posts

Christmas Day 2026 is Friday, December 25. That puts Christmas Eve on Thursday, December 24, and the last full shopping week at Monday, December 21 to Wednesday, December 23. A calendar built around that shape needs five phases, and five 6-second clips on Wan 3.0 at 720p cost $3.75: the model lists $0.10 per second, Sume bills list x 1.25, so $0.125 per second and $0.75 per clip.

This post only sets the dates and the clip for each phase. Your shipping carrier's cut-off dates decide the final week, so read those from the carrier, not from a blog.

Five phases, five clips

Every date below is a plain Gregorian date of 2026 and does not depend on any forecast.

December 2026 ad calendar, Wan 3.0 720p, 6 seconds, list x 1.25 (Sume Video Router docs, read 2026-10-13)
PhaseDatesClip ideaCost
Gift ideasMon Nov 30 to Fri Dec 4Three gift picks on one table$0.75
Order byMon Dec 7 to Fri Dec 18The sale and the last order date as a caption$0.75
Weekend rushSat Dec 19 to Sun Dec 20Fast delivery or in-store pickup$0.75
Last daysMon Dec 21 to Wed Dec 23Last order cut-off, eGift cards$0.75
Christmas EveThu Dec 24Digital gift cards and a thank-you$0.75

Render the five in one script

Keep the dates out of the generated video. Spoken or rendered dates in a text-to-video clip can come out wrong. Put them in a caption cue after the render, where they are exact text.

import asyncio, os
import httpx

PHASES = {
    "gift-ideas": "Three wrapped gifts on a pine table, soft window light, slow push-in",
    "order-by": "A hand sliding a parcel across a counter, festive ribbons, shallow depth of field",
    "weekend-rush": "Shoppers' hands passing shopping bags in a bright street, warm string lights",
    "last-days": "A courier handing over a box at a front door, evening snow",
    "christmas-eve": "Candle glow on a mantel, a stocking, quiet and warm, slow tilt",
}

async def submit(client, name, prompt):
    r = await client.post("https://api.sume.com/v1/videos", json={
        "model": "wan-3.0", "prompt": prompt, "duration": 6,
        "resolution": "720p", "aspect_ratio": "9:16"})
    r.raise_for_status()
    return name, r.json()["id"]

async def main():
    key = os.environ["SUME_API_KEY"]
    async with httpx.AsyncClient(headers={"Authorization": f"Bearer {key}"}, timeout=30) as c:
        for name, job in await asyncio.gather(*(submit(c, n, p) for n, p in PHASES.items())):
            print(name, job)

asyncio.run(main())

Then add the words

After the clips complete, burn the dates and the offer with Video captions cues. Each cue has text, start and end and needs no speech.

Hold one extra clip's cost as a re-roll fund per phase, and render the Christmas Eve clip last, since its date and hours are the most likely to change.

  • Christmas Eve falls on Thursday, Dec 24, so the last full week runs Monday Dec 21 to Wednesday Dec 23.
  • The weekend of Dec 19 and 20 is the last weekend before Christmas week.
  • Do not render dates into the video; add them as caption cues.

Related posts

More in Use cases

All Use cases posts

Written by Sume