← ImagineArtCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to ImagineArt
Snapshot Sep 30, 2026 · 22:47 UTC · version 2.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Creator-style product video ads — unboxing, review, tutorial, testimonial, demo and hyper-motion — plus reusable on-camera presenters and ad variations for split testing. Use when the user wants an ad with a person presenting their product. Not for garment try-on (use Try-On) and not for product stills with no presenter (use Product Studio).",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 481
},
{
"relative_path": "assets/ATTRIBUTION.md",
"size_in_bytes": 939
},
{
"relative_path": "assets/icon.svg",
"size_in_bytes": 429
},
{
"relative_path": "references/creator.md",
"size_in_bytes": 2701
},
{
"relative_path": "references/errors.md",
"size_in_bytes": 2325
},
{
"relative_path": "references/flow.md",
"size_in_bytes": 1239
},
{
"relative_path": "references/hooks.md",
"size_in_bytes": 3194
},
{
"relative_path": "references/models.md",
"size_in_bytes": 3809
},
{
"relative_path": "references/qa.md",
"size_in_bytes": 2143
},
{
"relative_path": "references/script.md",
"size_in_bytes": 2611
}
],
"name": "ugc",
"skill_md_contents": "---\nname: ugc\ndescription: Creator-style product video ads — unboxing, review, tutorial, testimonial, demo and hyper-motion — plus reusable on-camera presenters and ad variations for split testing. Use when the user wants an ad with a person presenting their product. Not for garment try-on (use Try-On) and not for product stills with no presenter (use Product Studio).\n---\n\n# UGC Ads\n\nProduce one finished creator-style ad: a presenter, a product, a hook, a setting, and a\nformat — assembled through the server's guided picker flow.\n\nRead `references/flow.md` for the exact call sequence, `references/hooks.md` for hook and\nsetting selection, `references/creator.md` for presenter consistency, `references/script.md`\nfor the spoken beats, `references/qa.md` before you deliver, `references/models.md` for\nmodel limits, and `references/errors.md` when something fails.\n\n## Runtime contract\n\n- **One `select_*` call per turn.** Each picker renders UI and the user's choice returns as\n the next message. Two pickers in one turn produces a dead widget and a stalled flow.\n- **The pickers do their own intake.** They collect photos, URLs and descriptions and call\n the underlying upload and create tools themselves. Never call `request_image_upload`,\n `create_product` or `create_avatar` to feed a picker.\n- **`duration` and `resolution` are required on `generate_ad`**, not optional. Resolve them\n with `list_durations` and `list_resolutions` — those two tools describe **ad generation\n specifically** and are the correct source here.\n- **Ids are internal.** Never print `org_id`, `folder_id`, `format_id`, `product_id`,\n `avatar_id`, job ids, or phase names.\n- **Never resubmit a pending job.** A queued generation is billed once; resubmitting bills\n twice for one result.\n\n## Hard rules\n\n- **One presenter per ad.** Never regenerate or swap the avatar mid-run.\n- **Never alter the product.** Colour, shape, finish and included accessories must match\n what actually ships.\n- **Never bake text into generation.** Image and video models render letterforms\n unreliably. Captions come from `generate_video_captions`; overlay copy is added after.\n- **Say what you changed.** A substituted model, duration or resolution is a material\n change — one short line, every time.\n- **Two attempts per stage, maximum.** Then stop and report what you observed.\n\n## Truth and safety gate — clear this before generating\n\nIf any item fails, do not generate and do not route around it.\n\n- **Presenter authorization.** Use a generated adult presenter, or a real person the user\n is authorized to depict. A supplied photo is not permission to impersonate its subject.\n Decline public figures, minors, and deceptive identity use. If third-party consent is\n unclear, ask once.\n- **Allowed promotion.** Decline political persuasion and promotion of age-restricted or\n prohibited goods: adult content, gambling, illegal or prescription drugs, tobacco and\n nicotine, weapons, counterfeits, deceptive financial services, malware, and covert\n surveillance.\n- **Truthful claims.** Treat the claims the user supplies as the complete allowlist.\n Preserve each one as written. Never strengthen, combine, or infer a new claim from them.\n With no claims supplied, write claim-free copy about what is directly observable —\n materials, controls, how it is used, what is in the box.\n- **No synthetic testimonials.** A generated presenter is a host or demonstrator, never a\n real customer. Do not invent purchase, ownership, results, before/after outcomes,\n ratings, or lived experience. First-person experience is allowed only when the user\n supplies the exact script and confirms it is their own.\n- **Transparent framing.** Describe the output as a brand demo or creator concept, not an\n organic customer review. If the user asks for a caption or post package, include an\n ad/sponsorship disclosure.\n\n## Phase 0 — Intake\n\nEstablish four things in **one** question, not four:\n\n1. **The product** — what it is and what it visibly does\n2. **The ad style** — unboxing, review, tutorial, testimonial, demo, hyper-motion\n3. **The claims** they are allowed to make, if any\n4. **Where it runs** — feed, story, paid placement\n\nDo not ask about models, resolutions or hooks. Those are yours to choose and state.\n\n## Phase 1 — Product\n\n`select_product`. If the product does not exist yet, the picker creates it — let it. Note\nwhat the product photo actually shows; the script cannot describe features that aren't\nvisible.\n\n## Phase 2 — Presenter\n\n`select_avatar`. **This is the identity lock.** The same presenter carries the whole ad and\nevery later variation. See `references/creator.md` before choosing — a presenter mismatched\nto the product category is the most common reason an ad reads as fake.\n\n## Phase 3 — Format\n\nIf the user named a format, `list_formats` resolves it to a numeric `format_id`. If they\nnamed none, `select_format` renders the picker.\n\n## Phase 4 — Hook\n\n`select_hook`. The ad style from Phase 0 is **not a separate step** — it shapes this pick\nand the next one. Carry their words forward rather than asking them to restate the style.\n`references/hooks.md` maps style to hook.\n\nThe hook is the whole ad. Most viewers decide in the first 1.5 seconds.\n\n## Phase 5 — Setting\n\n`select_setting`. Match the setting to where the product is actually used, not to what\nlooks most expensive. An unboxing in a showroom reads as an ad; an unboxing at a desk\nreads as a person.\n\n## Phase 6 — Destination\n\n`select_folder`, then `select_market_project` (which takes that folder).\n\n## Phase 7 — Generate\n\n`generate_ad` with the resolved `product`, `avatar`, `format_id`, hook, setting, project,\nplus `duration` and `resolution`. Then let the widget poll — don't call `fetch_status`. On a\ntext-only host, poll `fetch_status` with `id=<uuid>` and `sync: true` until `complete` or\n`error`.\n\n## Phase 8 — QA before delivery\n\nRun the checklist in `references/qa.md`. Do not claim the ad is good without checking the\nactual output. If you could not inspect it, say so.\n\n## Variations — `/variants`\n\nOnly when an ad already exists. Multiplying is not regenerating.\n\n1. **Hold the product and presenter constant.** They are the control.\n2. **Vary one axis** — hooks, or formats, or settings. A test where three things changed\n teaches nothing.\n3. **3–5 by default.** Quote the credit cost before a larger batch.\n4. **Label what differs** in each. \"Five hooks, same product and setting\" is a test.\n\n## Presenters — `/presenter`\n\nA presenter is a reusable asset; the same face across every video is the point.\n\n| Request | Tool |\n|---|---|\n| Create | `create_avatar` |\n| Render an image | `generate_avatar` |\n| Choose an existing one | `select_avatar` |\n| Edit | `update_avatar` |\n| Remove | `delete_avatar` — destructive, confirm first |\n\nAsk three things only: who they are, what they present, the usual setting.\n`references/creator.md` has the archetypes that work per category.\n"
}SHA-256 of public snapshot: bf12f74cf4ad61b7e84002385442333801c703d6ab7cdcc7bc7ec840282722cf