← OrisuCONTENT HISTORY
WHAT CHANGED
Update to Orisu
Snapshot Oct 26, 2026 · 00:04 UTC · version 2.0.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Orisu and check future changes in Following.
Up to 3 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Use when the user wants an existing product photo cleaned up for a store or listing: background removed or made white, a distracting object, dust or a reflection removed, the image enlarged or sharpened, or a vector (SVG) version of a logo or flat graphic. Not for new scenes (use product-scene-styling) or a full photo set (use ecommerce-product-photos).",
"included_files": [],
"name": "product-image-cleanup",
"skill_md_contents": "---\nname: product-image-cleanup\ndescription: Use when the user wants an existing product photo cleaned up for a store or listing: background removed or made white, a distracting object, dust or a reflection removed, the image enlarged or sharpened, or a vector (SVG) version of a logo or flat graphic. Not for new scenes (use product-scene-styling) or a full photo set (use ecommerce-product-photos).\n---\n\n# Product image cleanup\n\nFix an image the user already has, without changing the product: cut it out, clean the background, remove distractions, enlarge it, or trace a flat graphic to SVG. Each fix is one call; chain them in the order below.\n\n## What you need\n\n- The image (attached or a public URL).\n- What to fix. If they say \"clean it up\", do background → distractions → enlarge, and say so.\n\n## Recipe\n\nStore it first with `upload_asset({ url })` and keep the `asset_id`. Then use what applies, passing each result's asset id (from `orisu_media.items`) to the next step:\n\n1. **Transparent cutout.**\n\n```json\n{ \"tool\": \"remove_background\", \"arguments\": { \"config\": {}, \"inputs\": { \"input_image\": { \"kind\": \"image\", \"assetId\": \"<asset_id>\" } } } }\n```\n\n2. **White background or a small removal** (dust, a cable, a reflection, a price sticker the user wants gone):\n\n```json\n{ \"tool\": \"edit_image\", \"arguments\": {\n \"config\": { \"model\": \"nano-banana-2\", \"prompt\": \"Remove the dust specks and the cable behind the product. Change nothing else: same product, label, colors, framing and light.\" },\n \"inputs\": { \"input_image\": { \"kind\": \"image\", \"assetId\": \"<asset_id>\" } },\n \"confirm_above_credits\": 40,\n \"idempotency_key\": \"product-image-cleanup-1\"\n} }\n```\n\nRemove only what the user asked. Never remove or alter labels, logos, ingredients or safety text on the product.\n\n3. **Enlarge** for print or zoom (2x or 4x):\n\n```json\n{ \"tool\": \"upscale_image\", \"arguments\": {\n \"config\": { \"model\": \"topaz-upscale\", \"scale_factor\": 4 },\n \"inputs\": { \"input_image\": { \"kind\": \"image\", \"assetId\": \"<asset_id>\" } },\n \"confirm_above_credits\": 40,\n \"idempotency_key\": \"product-image-cleanup-2\"\n} }\n```\n\nUpscale last, after edits, so later edits don't work on a huge file.\n\n4. **SVG** for a logo, icon or flat illustration (not photos): `vectorize_image` with `config: {}` and the same `inputs`.\n5. Show the before and after with `preview_asset` (original asset id and result) so the user can compare.\n\n## Cost, waiting and retries\n\nGive every paid call its own `idempotency_key`, unique to that request (for example `mug-packshot-1`). Send the same key again only to resend a call that was interrupted or whose result you never saw, such as after a permission or file-download prompt; the first result then comes back instead of a second charge. Before re-running anything, check `list_runs` or `get_run` for a result that already finished. To redo something on purpose (a failed run, an image that missed, changed settings), use a new key: the old one would replay the same result, failure included.\n\nEach step is a paid call; pass `confirm_above_credits` and ask before going over. On `timed_out: true`, call `wait_for_run`. If a step fails, redo that step on the last good result, not the whole chain.\n\n## Quality check\n\n- Cutout edges are clean (no halo, no missing parts such as handles or straps).\n- Only the requested things were removed; product text and details unchanged.\n- Upscaled image has no invented texture on the label.\n\n## Next edits to offer\n\n- New scenes for the cleaned product: product-scene-styling.\n- The full store set: ecommerce-product-photos.\n"
}SHA-256 of public snapshot: 109b14c543abc6fbb3710a8007b72a7d11d3ba1ee85e248f7746c7f2f04d8bca