Cinematic Product Ad Video
Turn a product photo and brand brief into a cinematic 5-10 second product ad. Needs a MuAPI key.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up β so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/muapi-product-ad-cinematic-samuraigpt/β the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates β they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description β no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the βWhat this skill doesβ section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
Cinematic 5-10s product ad from a product photo + brand brief.
What this skill does
Cinematic Product Ad
Cinematic 5β10s product ad from a product photo + brand brief.
Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
product_image | image_url | yes | β | URL of the product photo (must already be uploaded). |
brand_brief | text | yes | β | Mood / style direction (e.g. "luxury minimal", "playful"). |
duration_sec | int | no | 6 | Final video length in seconds (5β10). |
Steps
This skill has TWO phases separated by a user pick. Submit them as two separate the plan calls β never bundle downstream steps into the first plan.
Phase A β variant exploration (cheap)
Submit ONE the plan containing only:
- Hero frame variants β 4 separate
muapi image generatenodes (model=nano-banana-2, aspect_ratio=16:9 by default).- Each prompt restyles the product against the brand brief mood. Vary lighting, palette, framing, and lens between variants. Keep product geometry intact.
- Reference the user's
product_imageif the model supports image conditioning; otherwise describe the product in detail.
After the plan executes, end your turn with a brief message listing the 4 asset_ids and asking the user which one to take forward (e.g. "Pick a hero (asset_1, asset_2, asset_3, or asset_4)?"). Wait.
Phase B β commit on the picked hero (expensive)
Once the user replies with their pick, submit a SECOND the plan:
- Upscale the picked frame β
enhance_image(operation=upscale). - Animate the upscaled frame β
muapi video from-image(model=kling-v3.0-standard-image-to-video, duration={{duration_sec}}, prompt="slow cinematic push-in, soft volumetric light, subtle product micro-rotation"). Reference the upscale's URL with$nX.url. - Background music β
muapi audio create(kind=music) β runs in parallel with the upscale/animate. Style derived frombrand_brief(luxury β "ambient cinematic, warm strings, slow tempo, instrumental"). Duration β video length. - Return the upscaled hero image and the final video.
Notes
- If the brief mentions "luxury", bias the palette to gold/black; for "playful", bias to bright/saturated.
- If video gen fails after failover, fall back to a still-frame slideshow (just return the upscaled hero + music).
- Don't auto-confirm step 4 β its cost (~80 cr) deserves a user nod.
Trigger Keywords
product ad, commercial, cinematic ad, product video
Notes for the Executing Agent
- This recipe is LLM-orchestrated: read each phase, gather any missing inputs from the user, then call
muapiCLI commands. Usemuapi auth configurefirst ifMUAPI_API_KEYis unset. - For model IDs without a CLI alias yet, fall back to the raw endpoint via
curl -X POST https://api.muapi.ai/api/v1/<endpoint> -H "x-api-key: $MUAPI_API_KEY" -H 'content-type: application/json' -d '{...}'and poll withmuapi predict wait <request_id>. - Substitute
{{input_name}}placeholders with the user's actual inputs before issuing each call.
Related skills
Skill Builder & Optimizer
anthropics
Create, edit, and optimize Claude skills with performance testing and benchmarking.
Org Change Management
alirezarezvani
Guide teams through organizational changes using the ADKAR model and communication strategies.
Audio/Video Transcription
daymade
Transcribe audio and video files to text with fast local or remote processing.
Claude Export Conversation Fixer
daymade
Repair broken line wrapping in Claude Code exported conversation files.