Day of the Dead ofrenda video from family photos, for Nov 1 and 2

Make a 40-second Day of the Dead tribute from eight family photos, two marigold stills and a music bed: static holds, no face animation, about $0.48 on Sume.

5 min readSume
All posts

A Day of the Dead video can be a quiet slideshow of photographs: eight family photos, two marigold border stills, a gentle music bed and a name caption on each, rendered as one 40-second MP4 for about $0.48 on Sume. Timeline holds stills static, which suits a remembrance piece where you do not want a face moving.

The context is from Wikipedia's Day of the Dead article, read 2026-10-03: the holiday is traditionally celebrated on 1 and 2 November, an ofrenda is a private altar that holds the favorite foods and drinks, photos and memorabilia of the departed, orange cempasuchil marigolds are believed to attract souls, and UNESCO inscribed the tradition in 2008 as practised by Mexico's indigenous communities. 1 November 2026 is a Sunday.

Be careful with what you automate

This is a family and community occasion, not a sale. Use photos you or the family own, ask before you include anyone's image, and keep the tone of the ofrenda itself: names, dates, a line about the person. A business that wants to take part can offer to make a tribute for customers rather than use the holiday as a discount hook.

Build

Import each photo so it is a media.sume.com asset (Timeline refuses off-host URLs). Generate two marigold-border stills with the Image API if you want a frame; Qwen Image (qwen/qwen-image) is $0.025 per image on Sume. Generate a slow instrumental with the Music Router, writing the length in the prompt ('a 40-second track, instrumental, no vocals').

Plan the timeline: audio.mode: "silence", duration_seconds: 40, the music as soundtrack with fade_out_seconds, and ten slots of 4 seconds each with fade transitions of 0.5 seconds. Use fit: "contain" for portrait photos you do not want cropped, or blur to fill the frame.

Cost of a 40-second ofrenda video on Sume (docs rates, as of 2026-10-03)
ItemCost
Eight family photos (imported, not generated)not a generation cost in the docs
Two marigold stills2 x $0.025 = $0.05
Music bed$0.125
Timeline render, 40 s$0.10
One caption job for the names$0.20
Total$0.475

Names as captions

Caption cues take text, start and end. One job covers up to 60 seconds, so all eight names fit in a single $0.20 charge.

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": "Abuela Rosa", "start": 0.5, "end": 3.5},
            {"text": "Tio Miguel", "start": 4.5, "end": 7.5},
        ],
    }
    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: assemble photos, a bed and captions into one MP4.
  • Does not: restore or colorize old photos for you in this flow, or decide what is appropriate to include.
  • Check the caption faces: the docs list Latin and Hangul faces, so test accented names (such as Tio or Jose) on a short clip first.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume