mcpField
M
muapi-product-ad-cinematic

muapi-product-ad-cinematic

github.com/samuraigptMarketing & growth25668 installsUpdated 4w ago
Repository

About muapi-product-ad-cinematic

A muapi skill for producing a 5–10-second cinematic product ad from a product photo and brand brief. It separates low-cost hero-frame exploration from the user-approved video, upscale, and music generation phase.

Key features

  1. 01Four hero-frame variations
  2. 02User selects the frame before video generation
  3. 03Upscales the selected image
  4. 04Generates video and background music
  5. 05Still-image fallback if video generation fails

Use cases

  1. 01Developing a short product commercial from a product photo
  2. 02Comparing visual directions before creating an ad video
  3. 03Preparing a cinematic product presentation with matching music

MCP support

This is an LLM-orchestrated skill that directs an agent to call muapi CLI commands; it does not describe an MCP server or MCP-specific interface.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/samuraigpt/generative-media-skills --skill muapi-product-ad-cinematic

After installing, type/muapi-product-ad-cinematicin Claude Code to confirm it loaded.

Details

From the project README

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.

Comments

Markdown supported