Personalized gift video with a name: Ideogram edit, cues and cost

Put a customer's name on a gift card still with an Ideogram 4.5 edit, animate it, and burn exact caption cues for the name. The per-recipient cost on Sume.

5 min readSume
All posts

A gift video that says the buyer's friend's name feels made for them. The risk is spelling: lettering can drift between frames once a video model animates it. So split the job. Let an image model draw the name once, and let caption cues carry it, exactly as typed, across the whole clip.

Step 1: write the name on the card

Send your gift card template photo as the first reference to ideogram/ideogram-v4.5; it edits the first image. fal's page lists "accurate text rendering" as a core feature. Quote the name in the prompt and ask for nothing else to change. Medium quality is $0.06 at fal list, so $0.08 on Sume with the 1.25 multiplier and cent rounding.

Step 2: animate the card

Use the edited card as first_frame on minimax-h3-max: 5 seconds at 768p is 5 x $0.10 = $0.50 on Sume. Ask for a gentle camera drift and confetti falling outside the card. Native stereo audio is always produced on this model, so either keep it or mute it downstream.

Step 3: burn exact cues

Video captions with cues skip speech-to-text and burn the text you send. That makes them the safe place for the name: whatever the video model did to the card letters, the cue reads as written. Each cue needs text (up to 400 characters), start and end, and end must exceed start. Use one idempotency key per order, so a retry returns the original job instead of a second charge.

import os
import requests

def burn(video_url, name, message, order_id):
    resp = requests.post(
        "https://api.sume.com/v1/video-captions",
        headers={
            "Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
            "Idempotency-Key": f"gift-cues-{order_id}",
        },
        json={
            "video_url": video_url,
            "cues": [
                {"text": f"For {name}", "start": 0, "end": 2.5},
                {"text": message, "start": 2.5, "end": 5},
            ],
        },
        timeout=60,
    )
    return resp.status_code, resp.json()

print(burn("https://media.sume.com/artifacts/example/card.mp4",
           "Maya", "Happy birthday!", "1001"))

What one recipient costs

A standalone caption job is $0.20 for videos up to 60 seconds under the captions docs. Add the image and clip:

Per-recipient cost on Sume (docs and fal list, read 2026-10-03)
StepBasisCost
Name on cardIdeogram 4.5, medium, list x 1.25 rounded up$0.08
Animated cardminimax-h3-max, 5 s at 768p$0.50
Name and message cuesOne caption job$0.20
Total$0.78

Checks before you send

At $0.78 each, a hundred personalized videos cost $78.00 before any retries, and failed image generations are not billed.

  • Read the name on the still at full size before you spend $0.50 on motion; rerun the $0.08 edit if it is wrong.
  • Names with accents or non-Latin letters: test one, and for Hangul use a Hangul caption style, because Latin styles reject Korean copy with 400.
  • Never put text you did not review into a cue; the burn is exact, including typos.
  • Keep order id and name in your own database, not in the prompt metadata you share.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume