← 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
{
"name": "social",
"description": "Content for feeds and channels — Instagram posts, multi-slide carousels, stories, YouTube thumbnails, video covers, and burned-in captions or subtitles. Use when the destination is a social platform or a video needs captions. Not for marketplace listing images (use Product Studio).",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 490
},
{
"relative_path": "assets/ATTRIBUTION.md",
"size_in_bytes": 952
},
{
"relative_path": "assets/icon.svg",
"size_in_bytes": 306
},
{
"relative_path": "references/errors.md",
"size_in_bytes": 2325
},
{
"relative_path": "references/models.md",
"size_in_bytes": 3809
},
{
"relative_path": "references/qa.md",
"size_in_bytes": 803
},
{
"relative_path": "references/recipes.md",
"size_in_bytes": 1631
}
],
"skill_md_contents": "---\nname: social\ndescription: Content for feeds and channels — Instagram posts, multi-slide carousels, stories, YouTube thumbnails, video covers, and burned-in captions or subtitles. Use when the destination is a social platform or a video needs captions. Not for marketplace listing images (use Product Studio).\n---\n\n# Social Studio\n\nRead `references/recipes.md` for the prompt library and destination sizing.\n\n## Tokens\n\n| Token | What it does |\n|---|---|\n| `/instagram` `/post` | Single feed post |\n| `/carousel` | Multi-slide deck |\n| `/story` | Vertical story graphic |\n| `/thumbnail` `/cover` | YouTube thumbnail (16:9 only) |\n| `/captions` `/subtitles` | Burn captions into an existing video |\n\n## Truth gate — claims\n\n- **The claims the user supplies are the complete allowlist.** Preserve each as written.\n Never strengthen, combine, or infer a new claim from them.\n- **With no claims supplied**, write only about what is directly observable — materials,\n controls, how it is used, what is included.\n- **No superlatives you cannot support** — \"best\", \"revolutionary\", \"#1\". They read as\n advertising and fail on review.\n- **No comparison to a named competitor.**\n\n## Posts and carousels\n\n- Single post → `generate_instagram_post`\n- Multi-slide → `generate_carousel`. The `prompt` is the **topic**, not a per-slide prompt\n — upstream plans each slide with an LLM. Pass `slides` for the count.\n- A carousel about a specific product → pass `product_id`; it resolves the product photo\n itself. Don't hunt for a URL.\n\n**Carousels bill per requested slide up front, and a partial failure is not refunded.** If\nfewer slides come back than requested, say so plainly.\n\n## Thumbnails\n\n`generate_youtube_thumbnail` takes `title`, plus optional `channel_style` and\n`subject_description`. **Know its real shape before promising anything:**\n\n- **It is 16:9 only.** There is no aspect-ratio argument. **It cannot produce a vertical\n Shorts cover.** If the user asks for one, say so and offer a 16:9 thumbnail or a\n `generate_image` route at `9:16`.\n- **It takes no reference image.** You cannot feed it the user's face. `subject_description`\n is *text*. If the user needs their own face preserved, this tool is the wrong route —\n use `generate_image` with their photo as `image_url`.\n- **It deliberately renders no text**, because image models render letterforms poorly. It\n returns a striking image *plus text-overlay guidance*: 2–3 overlay options of 3–5 bold\n words, where to place them, and font suggestions.\n\n**So a thumbnail from this tool is not finished.** Deliver the image and the overlay\nguidance together, and say plainly that the text still needs adding. For a finished\nthumbnail with exact text, hand off to the **Canva** skill, which adds it as editable\nelements — that is the completion path this tool was designed for.\n\nWhat makes a thumbnail work, for the prompt you write:\n\n- **Readable at 120px wide.** Big subject, few elements, hard contrast.\n- **Faces beat objects**, and a clear expression beats a neutral one.\n- Keep suggested overlay copy to 3–4 words.\n\n\n## Captions\n\n1. **Identify the video.** `asset_id` must be a finished video **this server hosts** — from\n `list_assets`, or the last path segment of an `asset.imagine.art/processed/<uuid>` URL\n already in the conversation. **A link from anywhere else cannot be captioned.** Say so\n plainly rather than trying.\n2. **Style.** Named one (\"whisper captions\") → straight to `generate_video_captions`.\n Named none → `select_caption_preset`, which also collects language, position and shadow.\n3. Pass `preset` **verbatim** — the upstream match is exact, so recapitalising fails.\n\n**Cost, said while they choose, not after:** animated (\"dynamic\") presets cost twice static\nones; cost scales per started minute and doubles again for 2K/4K sources.\n\nUse region-qualified locales — `en-US`, not `en`. `translation_language` adds a surcharge.\n\n## Defaults\n\n`4:5` feed, `9:16` stories, `1:1` if they say square. Thumbnails are `16:9` only —\nthe tool has no other option.\n5 slides for a carousel.\n\n## Conventions\n\nNever print `org_id`, `folder_id`, or raw asset uuids.\n\n## When something fails\n\nRead `references/errors.md`. Identify the kind of failure before responding: pending jobs\nare waited on, technical errors retried at most twice, unsupported capabilities stated\nplainly, safety refusals never routed around, and every material change disclosed.\n\n## Inspect before generating\n\nA request to change something that already exists is an **edit**, not a build. Find the\nexisting asset and modify it. Generate only what the requested change actually requires.\n\n## QA before delivery\n\nRun `references/qa.md` before calling this finished. Inspect the actual output — never\nclaim quality you have not observed, and say plainly what you could not verify.\n"
}SHA-256: 982c37f2cd5ce20e06bd4b8a05bfed88a3848e96d6b1f8c0283ef76ae5fded9a