Skip to content
Back to skills

Product Ad Cinematic

ASecurity

Cinematic 5–10s product ad from a product photo + brand brief.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 29, 2026
ai-agentsgonodeapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add Anil-matcha/Generative-Media-Skills --skill product-ad-cinematic --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Product Ad Cinematic?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Product Ad Cinematic
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anil-matcha-product-ad-cinematic/badge)](https://www.skillsdirectory.com/skills/anil-matcha-product-ad-cinematic)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
slug: muapi-product-ad-cinematic
name: muapi-product-ad-cinematic
version: "1.0.0"
description: Cinematic 5–10s product ad from a product photo + brand brief.
acceptLicenseTerms: true
---


# 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:

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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.