muapi-product-ad-cinematic — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited muapi-product-ad-cinematic (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Cinematic 5–10s product ad from a product photo + brand brief.
| 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). |
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.
Submit ONE the plan containing only:
muapi image generate nodes(model=nano-banana-2, aspect_ratio=16:9 by default).
lighting, palette, framing, and lens between variants. Keep product geometry intact.
product_image if the model supports imageconditioning; 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.
Once the user replies with their pick, submit a SECOND the plan:
enhance_image (operation=upscale).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.
muapi audio create (kind=music) — runs in parallelwith the upscale/animate. Style derived from brand_brief (luxury → "ambient cinematic, warm strings, slow tempo, instrumental"). Duration ≈ video length.
bias to bright/saturated.
(just return the upscaled hero + music).
product ad, commercial, cinematic ad, product video
muapi CLI commands. Use muapi auth configure first if MUAPI_API_KEY is unset.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>.{{input_name}} placeholders with the user's actual inputs before issuing each call.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.