{"id":6138,"plugin_id":"plugin_asdk_app_6a97af93ebc88191961039f177688fa9","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T22:47:43.740Z","digest":"c3059474ba7cb464942e42fcce0eaa82ffb07dde2f3d7a6e0e68b73d5f365178","against":null,"payload":{"name":"studio","description":"Direct image, video and music generation, plus your asset library and credit balance, for requests no other ImagineArt skill covers. Use only as a last resort — fashion, products, ads, effects, social, motion, retouching, branding and interiors all have dedicated skills that handle those requests better.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":483},{"relative_path":"assets/ATTRIBUTION.md","size_in_bytes":936},{"relative_path":"assets/icon.svg","size_in_bytes":403},{"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":576}],"skill_md_contents":"---\nname: studio\ndescription: Direct image, video and music generation, plus your asset library and credit balance, for requests no other ImagineArt skill covers. Use only as a last resort — fashion, products, ads, effects, social, motion, retouching, branding and interiors all have dedicated skills that handle those requests better.\n---\n\n# Studio\n\n**This is the fallback.** It does not participate in automatic routing\n(`allow_implicit_invocation: false`). Before using it, check whether a specific skill owns\nthe request — it almost always does.\n\n| If the request is about | Use instead |\n|---|---|\n| A photo that should move | Effects |\n| Clothing, models, lookbooks, runway | Fashion |\n| A customer's own garment on a person | Try-On |\n| A product with a presenter | UGC Ads |\n| Product stills, listings, jewelry | Product Studio |\n| Instagram, carousels, thumbnails, captions | Social Studio |\n| Camera moves, drone, food video | Motion |\n| Editing an existing image | Retoucher |\n| Logos and identity | Brand Studio |\n| Rooms and staging | Spaces |\n| Music | Sound |\n| Editable After Effects compositions or motion titles | After Effects |\n| Premiere Pro timelines and exports | Premiere |\n| Editable Blender scenes, materials, lighting or 3D animation | Blender |\n\n## Tokens\n\n| Token | What it does |\n|---|---|\n| `/assets` `/creations` | Browse past work |\n| `/credits` `/balance` | Credit balance |\n| *(none)* | Raw generation |\n\n## Generation\n\n- `generate_image` — text-to-image, or image-to-image when `image_url` is set\n- `generate_video` — text-to-video, or image-to-video when `image_url` holds exactly one URL\n- `generate_music` — audio\n\n**Never guess a valid value** — but use the right source.\n\n- **`generate_video` / `generate_image` durations and resolutions are per-model\n  allow-lists**, documented on the tool itself and summarised in `references/models.md`.\n- **`list_durations` and `list_resolutions` describe ad generation only.** They are inputs\n  for `generate_ad`, not universal validators — do not use them to check a video model.\n- `list_aspect_ratios`, `list_camera_angles`, `list_camera_movements` are general.\n\nModel names must be passed exactly as written; a near-miss fails.\n\n**Never omit `resolution`** — it defaults to the model's lowest tier.\n\n## Library\n\n| Request | Tool |\n|---|---|\n| Visual grid | `show_assets` with `org_id` |\n| Rows to reason over | `list_assets` |\n| Past generations | `list_user_creations` |\n| Credit balance | `get_balance` |\n\n`list_assets` takes `service`: `user` for uploads, `image,video` for generations, omitted\nfor everything including music and project assets. When a full page comes back there is a\nnext-page cursor — use it rather than saying that's all there is.\n\n**The most common real reason to be here:** another skill needs an `asset_id`. Find it,\nhand it over, continue. Never make the user copy a uuid.\n\n## Finishing a generation\n\nWhere a widget renders, it polls itself. On a text-only host, poll `fetch_status` with\n`id=<uuid>` and `sync: true` until `complete` or `error`.\n\n## Paywall\n\nFree organizations can only run `generate_image` on the default model. Relay refusals\nverbatim; they carry the upgrade link.\n\n## Conventions\n\nNever print `org_id`, `folder_id`, or raw uuids — refer to assets by what they are and\nwhen they were made.\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## 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"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}