product-demo-ad — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited product-demo-ad (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
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.
No face. The product does the work, the camera stays close, and the viewer sees the thing happen. For a product that demonstrates itself this beats a creator ad, and it costs the same.
ugc-adproduct-demo-ad ugc-ad
──────────────────────────────────────────────
it visibly DOES something it needs vouching for
the result is on screen the result is internal
B2B / tools / hardware beauty / supplements / apparel
no likeness questions a face builds the trustA blender, a cleaning spray, a label maker, a software UI: demo. A vitamin, a mattress, a course: creator.
inReels MCP connected — get_account to verify. create_ad_video needs a paid plan.
A product image is required. Omit creator_actor_id and creator_image_url and you get the product-led ad.
The ad is built around a single physical thing happening. Name it before you write a word of script:
An appliance that stays off is a dead ad. We have rendered this and it is boring in exactly the way you expect. If the product has an on state, turn it on. If it has a before and after, show both in one continuous move.
Narration explains what is not visible. The screen handles what is.
| Length | Words |
|---|---|
| 5s | up to 10 |
| 10s | up to 20 |
| 15s | up to 30 |
Over budget and the line gets clipped mid-sentence — the model does not speak faster to fit. Cut words rather than hoping.
Often the best product demo has no narration at all: the sound of the thing working, and one line of text at the end. If you want that, say so in the brief and keep the script short or absent.
The model juggles objects badly. Hold the scene down:
— a surprise second cup or a straw appearing from nowhere is the giveaway that this was generated.
quote_ad_video { "product_image_url": "…", "script": "…", "variations": 3 }create_ad_video {
"product_image_url": "…",
"script": "<within budget, or omit for brief>",
"brief": "<the action, if you are letting the model write the line>",
"look": "natural",
"aspect_ratio": "9:16",
"variations": 3
}look: commercial is the one case where it earns its place — a product-led ad is allowed to look produced. natural still reads as more trustworthy on Meta. Test both if the budget allows; that is what variations is for.
get_run_status { "run_id": "…", "wait": true }Five to ten minutes. watch_url appears before the MP4 does — it is a preview page, not the deliverable. Hand over output_url, and only once the run reports completed.
on a turntable is a stock video, not an ad.
illegible at thumbnail size, the ad is illegible in the feed.
misspelled. Describe shape, colour and parts instead.
gets you cuts you did not want.
create_ad_video spends credits and needs a paid plan.quote_ad_video first; the quote is exactly what the call charges.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.