Mascot product ad
Make a ~30 s product ad that stars the brand's own mascot: a short cartoon story built on the product's name or promise, narrated, with the product's real substance (its UI, code, integrations, dashboard) composited on top as motion graphics and key-phrase captions. It works from the product's website and mascot art alone. An existing launch video, if there is one, supplies the beats, the real screens and the logos, and is what a side-by-side is measured against.
Use the brand's own materials, made for or shared by the brand owner, and keep the
result private to them until they agree to it being shown. Partner logos appear only
the way the brand already shows them (guide-capture-a-brand, Avoid). Rounds and
deliverables follow the core skill.
Steps
- Break down the source. From the site (
guide-capture-a-brandfor the look): headline, features, integrations, supported languages or platforms. From a launch video the person has: its beats and lengths (ffmpeg-scene-cutsor a 1 fps contact sheet), and full-resolution frames of its product screens. List every substantive point (what it does, setup time, languages, integrations, monitoring): each must survive into the ad, in the picture, the narration or the graphics. - Concept and shot list. One story world that puns on the product's name or promise and gives the mascot a job in it (a lighthouse keeper for a product named for a beacon, a doorman, a librarian). One shot per point, 3 to 5 s each, about 7 shots for 28 s. Per shot: the picture, the narration line, and the real screen or logo that goes over it. The narration names the specifics (the languages, the stores, the integrations). Gate: the shot list with a price, before any spend.
- Voice (
guide-cast-a-voice,elevenlabs-tts-v4): three auditions of the whole script, so the person hears the pacing too. Gate: a pick. - Look (
nano-banana-prompt-format): one style frame of a key shot on nano banana Pro edit, the mascot art as reference, 2 takes, 2K, 16:9. Match the mascot's own drawing style and palette exactly; describe the new costume pieces (a cap, a bow tie) and keep everything else. Gate: a pick. - Stills: every other shot from the picked frame plus the mascot art, 2 takes
each. Describe each new location strongly; drop the takes that copy the style
frame's set before the review. Integrations the brand lists can be drawn into the
world, their logos given as references ("a sign above each stall shows the logo in
the second image"), and then also appear as graphics. Remove anything the
characters could walk through (ropes, rails) unless the action needs it. Check every
still for baked-in labels and remove them with a one-line edit
(
nano-banana-targeted-fix). Gate: one review page. - Motion test (
h3-max-image-to-video,h3-prompt-format): one shot at 1080P, "Static shot, locked on the opening framing", mouths closed. Gate: the motion, before the batch. - Animate the rest, all at once. Direct exits explicitly ("turns and strolls to the right toward the open doors"). Judge each on a frame sheet by eye: raw first-frame SSIM on grainy cartoon renders reads 0.70 to 0.85 even on a correct opening.
- Narration track: each line voiced as its own file, with the previous line as
context for continuity; transcribe each with
whisper-clifor word times. - Music (
elevenlabs-generate-music): one bed from a composition plan whose sections land on the cut (sparse for shot 1, a groove in the middle, a final hit on the end card), no vocals; check the take with a transcript. - Base cut (ffmpeg): each clip trimmed to its slot, its last frame held (
tpad) when the slot is longer, each narration file at its cue, the clips' own effects at about 0.35, the bed ducked under the voice. Measure the real cut frames afterwards (select='gt(scene,0.2)',showinfo): a 24 fps concat drifts shot starts a few frames from the plan. - Motion graphics (
hn4a-compositor-motion-graphics) over the base cut:- key-phrase captions only, 2 to 4 words a shot, in a heavy display serif in the brand's colours, popped on the spoken word;
- the product's real screens (an activation dialog, a code snippet, a dashboard) as cards, from the launch video's frames or site screenshots, on the line that mentions them;
- small logos (languages, integrations) popping in one by one on each name;
- a card that replaces something in the picture (a dashboard on a wall screen) cuts
on and off on that shot's measured cut frames, with
cutas its in and out; - the URL as the last caption. Gate: the spec live on a review page with stills at each cue; render only after a yes.
- Deliver: render, check the frame count, transcribe the cut against the script,
measure loudness (about −17 LUFS, peaks under −1.5 dBTP; trim the gain rather than
re-normalizing). Deliver per the core skill, with a side-by-side beside the film
when there is an original (original left, ours right, our audio). Fix notes by re-rendering only the changed
span (
render --frames A:B --into) on a copy of the last render.
Choices this workflow makes
- The story world comes from the product's name or promise, and the mascot gets a job in it. That makes it more than a re-skin of the original.
- Substance rides on top as the product's real screens, never generated UI: generated screens get the text wrong.
- One narration file per line.
- Every look is gated: voice, style frame, stills, one motion test, the live layout.
- When it's a gift for the founder, draft the message for the person to send privately with the side-by-side, saying what it cost and how long it took; it is posted only once the founder says yes.
Dead ends
- A "no on-screen text" rule for a product ad: the first cut was charming but lost the product's substance. Captions and the real screens fixed it.
- "Whatever language you ship" in the narration: name them.
- One narration take cut into lines: a cut inside the take left an audible artifact the person heard on the first delivery.
- A dashboard card that popped in 0.4 s into its shot: the picture underneath flashed. Cut it on the measured frame.
- A busy style frame as the only reference: about half the stills copied its set.
Worked example
Globex, a developer tool with a drawn robot mascot, from its site and its own launch video. 16:9 1920×1080, 24 fps, 28 s, 7 shots of 3 to 5 s. The story world puns on the product's name; the mascot gets a uniform and a job in it.
| Shot | Point | Picture | Over it |
|---|---|---|---|
| 1 | The problem | The mascot at its post, a queue waiting | key phrase |
| 2 | What it does | The mascot at work | key phrase, the product's code snippet card |
| 3 | Setup time | A quick install | the activation dialog card |
| 4 | Languages | Visitors from many places | language logos, one per spoken name |
| 5 | Integrations | Stalls with the partners' logos drawn in | integration logos popping on their names |
| 6 | Monitoring | A big screen in the world | the dashboard card, cut on the measured frames |
| 7 | End | The mascot waves | the URL |
Three review rounds. Round 1's main note: the "no on-screen text" cut had lost the product's points, so key-phrase captions and the real screens went on top. The person also heard an artifact where one narration take had been cut into lines (fixed by voicing each line on its own) and saw the picture flash under the dashboard card (fixed by cutting it on the measured frames). It was approved beside the side-by-side.
Spend at 1080P: stills about $3, video about $6, voice and music under $0.50: about $10.


