Scenario Video Ads
SkillMediaLets your agent produce short video ads like TikToks or YouTube spots from a product photo or brand assets.
Use Scenario Video Ads in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Scenario Video Ads and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Scenario Video Ads skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
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
- 823
- Forks
- 95
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
scenario-video-ads- Source
- github.com/scenario-labs/skills