Locksmith ad video: 3 clips, typed phone number, $1.10 on Sume

A locksmith can make an 18-second vertical ad from three silent AI clips and a music bed, with the phone number burned in as text, not drawn. About $1.10.

5 min readSume
All posts

A locksmith can get an 18-second 9:16 ad for about $1.10 on Sume: three silent 6-second clips on veo-3.1-lite, one generated music bed, a Timeline render, and the phone number and license line burned on as typed cues. The clips cost $0.675 together; the other three steps add $0.425.

The point of the typed cues is that a lockout customer needs one thing from the ad, the phone number, and a video model can draw a wrong digit. Keep every digit out of the prompt.

What does the 18-second locksmith ad cost?

veo-3.1-lite lists 4-8 second clips at 720p in 16:9 or 9:16, at $0.0375 per second without audio and $0.0625 with audio (catalog, read 2026-10-12). Silent clips are the right pick here because a music bed will replace any generated sound anyway. Music is $0.125 per audio, Timeline is $0.10 per output minute rounded up, and captions are $0.20 per job up to 60 seconds.

One 18-second ad. Sume rates from the catalog and model docs, read 2026-10-12. Check GET /v1/videos/models, the live catalog.
StepArithmeticCost
3 clips, veo-3.1-lite, 720p, 9:16, no audio3 x 6 s x $0.0375$0.675
Music bed1 audio$0.125
Timeline renderceil(18 s / 60) = 1 minute$0.10
Typed overlay (cues)1 caption job$0.20
Total0.675 + 0.125 + 0.10 + 0.20$1.10

Which three shots, and what stays out of the prompt?

Describe generic scenes: a hand turning a key in a front door at dusk, a closeup of a deadbolt being swapped, a van pulling up at a house. Do not ask for a license plate, a company logo, a badge or a phone number in frame. Set generate_audio to false and aspect_ratio to 9:16 on each POST /v1/videos call, with its own Idempotency-Key.

Then render them in order with POST /v1/timeline-1.0/render: three video slots at start 0, 6 and 12 with a short fade transition, and the music artifact as the audio spine with audio.duration_seconds 18. Every URL has to be a media.sume.com artifact from your workspace, which generated clips and music already are.

How do I burn the phone number on?

Send the Timeline MP4 to POST /v1/video-captions with cues (text, start, end in seconds). Cues need no speech recognition, so a clip with no speech does not hit caption_no_speech. The sample uses a reserved fictional number; replace it, and put your real license number in the third cue if your state requires it on advertising.

import asyncio, os, httpx

CUES = [
    {"text": "Locked out?", "start": 0.2, "end": 3},
    {"text": "Call (555) 010-0142", "start": 3.2, "end": 12},
    {"text": "Licensed and insured: show your license no.", "start": 12.2, "end": 17.8},
]

async def main():
    body = {"video_url": "https://media.sume.com/artifacts/YOUR_TIMELINE.mp4",
            "style": "punch", "cues": CUES}
    headers = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
               "Idempotency-Key": "locksmith-cues-001"}
    async with httpx.AsyncClient(timeout=60) as c:
        r = await c.post("https://api.sume.com/v1/video-captions", json=body, headers=headers)
        print(r.status_code, r.json())

asyncio.run(main())

When is this the wrong approach?

Generated clips are stand-ins for scenes, not proof of your work.

  • If the ad needs your van, uniform or storefront, use phone clips and trim them with POST /v1/video-trim at $0.02 per job.
  • An ad for a lockout service is a regulated claim in many places (license, insurance, 24-hour wording). Cues print exactly what you type, so check the wording yourself first.
  • 18 seconds is a bumper. For a longer ad, add clips; the Timeline spine runs to 1800 seconds.
  • If you want a spoken voice, the music bed is not it; add narration as a separate audio step.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume