Scenario Video Ads

SkillMedia

Lets 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.

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

StageWhat happensDetail
1. BriefOne objective, audience, proposition, creativity and length dials, platforms, mandatories, spend ceilingreferences/brief.md
2. ConceptOne page, anchored to a named famous-ad pattern, shown to the userreferences/storyboard.md
3. StoryboardBeats and panels per the objective's rulebook, priced shot by shot with dry_run, approvedstoryboard.md, brief.md
4. StillsComposed natively per delivery ratio, product composited from the real photo, approved before animatingscenario-image, scenario-consistency
5. AnimateImage-to-video per approved still, one camera move, generateAudio: false where the schema has it, wait=falsescenario-video, scenario-seedance
6. Fidelity gateExtract frames from every product or character clip, spot-the-difference against the approved referencestoryboard.md, scenario-asset-analysis
7. AudioMusic generated on the cut's beat grid, voiceover to a word budget, sonic logoscenario-audio, references/delivery.md
8. AssembleTimeline, text cards from scenario-text-overlay as image layers, captions in safe zonesscenario-video-assembly, delivery.md
9. Pre-flightPolicy, flashes, sound-off pass, loudness, spend reportdelivery.md

Worked example: a perfume ad, 9:16, 20 seconds

  1. 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_describe returns a style line, not this inventory).
  2. Concept names its anchor: open inside the gala-and-gown cliche, break it on beat three. Show the page to the user.
  3. Storyboard 7 panels at 2 to 4 seconds each, hero shot designed first, 3 hook variants, 2 inserts as cut cover. dry_run every planned run, multiply by retry floors, present the budget table.
  4. 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.
  5. Animate each approved still: model_schema_get first, prompt movement first ("slow push-in over 4 seconds, the bottle rests fixed in place"), generateAudio: false when the schema lists it.
  6. Gate every clip: frame-extract, then one asset_analyze call against the checklist. Label drift fails the clip; regenerate from the same still, never from the drifted output.
  7. Music at a stated BPM so cuts land on bars; compose the timeline, scenario-text-overlay renders the tagline card into the safe zone; caption the master.
  8. Pre-flight per delivery.md, then report spend from usage against the approved board.

Common mistakes

  • Reaching for local ffmpeg or a desktop editor for the cut: assembly is model_run on Scenario tool models (see scenario-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