AugmentClaude

Cinematic Product Ad Video

Turn a product photo and brand brief into a cinematic 5-10 second product ad. Needs a MuAPI key.

Installation

  1. 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 run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. 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
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

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

NameTypeRequiredDefaultDescription
product_imageimage_urlyesβ€”URL of the product photo (must already be uploaded).
brand_brieftextyesβ€”Mood / style direction (e.g. "luxury minimal", "playful").
duration_secintno6Final 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:

  1. Hero frame variants β€” 4 separate muapi image generate nodes (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_image if 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:

  1. Upscale the picked frame β€” enhance_image (operation=upscale).
  2. 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.
  3. Background music β€” muapi audio create (kind=music) β€” runs in parallel with the upscale/animate. Style derived from brand_brief (luxury β†’ "ambient cinematic, warm strings, slow tempo, instrumental"). Duration β‰ˆ video length.
  4. 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 muapi CLI commands. Use muapi auth configure first if MUAPI_API_KEY is 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 with muapi predict wait <request_id>.
  • Substitute {{input_name}} placeholders with the user's actual inputs before issuing each call.

Related skills