Scenario Video Ads
SkillMediaLets your agent produce short video ads like TikToks or YouTube spots from a product photo or brand assets.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Scenario Video Ads skill
About this skill
Use when producing a video ad with Scenario from a product shot or brand assets: a mobile 9:16 or landscape 16:9 commercial, a TikTok, Reels, Shorts, YouTube, or CTV spot, or campaign creative needing a creative brief, storyboard, cinematic camera work, brand-faithful product footage, music and voic
What this skill tells your AI
The instructions your AI receives, as published by scenario-labs/skills in skills/scenario-video-ads/SKILL.md and read by ahel’s review.
Overview
This skill is the director layer: it turns one product shot and a brief into a finished ad, delegating mechanics to the sibling skills it names per stage. Connection and the core loop: see the scenario skill in this repo. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap. The full sibling map and install commands: references/dependencies.md.
Two rules bind every stage, because they carry the ad's credibility. The product is never generated: every product shot starts from the uploaded photo, as a first frame or composited into an approved still. Text is never generated: logos, taglines, prices, and legal lines are overlaid in assembly on text-free plates.
Ask the brief once, then run without stopping. The one approval that matters sits between the priced storyboard and generation: video is the expensive stage, so the user signs off on the budget table first. The concept page and the stills are cheaper checkpoints: show them when someone can answer. In a run where nobody can, continue: the brief's spend ceiling stands in for the sign-off, so generate video only while the priced board fits it, and the fidelity gate stands in for still approval.
Quick reference
| Stage | What happens | Detail |
|---|---|---|
| 1. Brief | One objective, audience, proposition, creativity and length dials, platforms, mandatories, spend ceiling | references/brief.md |
| 2. Concept | One page, anchored to a named famous-ad pattern, shown to the user | references/storyboard.md |
| 3. Storyboard | Beats and panels per the objective's rulebook, priced shot by shot with dry_run, approved | storyboard.md, brief.md |
| 4. Stills | Composed natively per delivery ratio, product composited from the real photo, approved before animating | scenario-image, scenario-consistency |
| 5. Animate | Image-to-video per approved still, one camera move, generateAudio: false where the schema has it, wait=false | scenario-video, scenario-seedance |
| 6. Fidelity gate | Extract frames from every product or character clip, spot-the-difference against the approved reference | storyboard.md, scenario-asset-analysis |
| 7. Audio | Music generated on the cut's beat grid, voiceover to a word budget, sonic logo | scenario-audio, references/delivery.md |
| 8. Assemble | Timeline, text cards from scenario-text-overlay as image layers, captions in safe zones | scenario-video-assembly, delivery.md |
| 9. Pre-flight | Policy, flashes, sound-off pass, loudness, spend report | delivery.md |
Worked example: a perfume ad, 9:16, 20 seconds
- Brief once: awareness, twist creativity, 20s for Reels and TikTok, ceiling in CU. Upload the product shot, then build the fidelity checklist from it with
asset_analyze, instructing it to inventory label text, cap geometry, and glass tint: every later check reuses it (asset_describereturns a style line, not this inventory). - Concept names its anchor: open inside the gala-and-gown cliche, break it on beat three. Show the page to the user.
- Storyboard 7 panels at 2 to 4 seconds each, hero shot designed first, 3 hook variants, 2 inserts as cut cover.
dry_runevery planned run, multiply by retry floors, present the budget table. - Stills at 9:16: composite the real bottle into styled plates with an image-edit model, baseline-plus-delta prompts. Each still is approved before animating, by the user or by the fidelity checklist when nobody can answer: image money is cheap, video money is not.
- Animate each approved still:
model_schema_getfirst, prompt movement first ("slow push-in over 4 seconds, the bottle rests fixed in place"),generateAudio: falsewhen the schema lists it. - Gate every clip: frame-extract, then one
asset_analyzecall against the checklist. Label drift fails the clip; regenerate from the same still, never from the drifted output. - Music at a stated BPM so cuts land on bars; compose the timeline,
scenario-text-overlayrenders the tagline card into the safe zone; caption the master. - Pre-flight per delivery.md, then report spend from
usageagainst the approved board.
Common mistakes
- Reaching for local ffmpeg or a desktop editor for the cut: assembly is
model_runon Scenario tool models (seescenario-video-assembly). - Letting the video model render a label, logo, tagline, or price: generated type drifts frame to frame; composite text in post.
- One long clip at the schema's maximum duration: generate 3 to 5 second product shots and 5 to 10 second coverage, then cut to rhythm in assembly.
- Judging fidelity by watching a clip once: drift hides between glances; run the frame-extract gate.
- Leaving the schema's audio toggle (
generateAudio, where offered) at its default: the soundtrack is built in assembly, so clips with baked-in audio fight the bed. - Cropping a 16:9 master to 9:16: each ratio is its own composition, decided at the storyboard.
- Two objectives in one brief: brand and performance in the same asset serves neither; make two cuts from one board instead.
- Shipping without the pre-flight: a sensual perfume cut or a wrong-length CTV file dies in ad review, not in generation.
Signals
- GitHub stars
- 681
- Forks
- 82
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
scenario-video-ads- Source
- github.com/scenario-labs/skills