--- name: virtual-try-on description: Show a garment from a flat-lay, hanger or product photo worn by a real person from their own photo. The garment keeps its colour, fabric and details, and the person stays unchanged. Requires the person's own photo or written consent. metadata: type: image version: 1.0.0 category: Fashion tagline: Use this Skill to see a garment photo worn by a person, with the fabric and the person kept true. made-for: Fashion brands, E-commerce sellers, Stylists, Shoppers generates-with: Still image, 3:4 or 4:5 requires: Node.js 18 or newer, only to run scripts/build-input.mjs outside-costs: None in the Skill. The image model you send the request to may charge for each image. updated: 2026-10-16 title: Virtual try-on availability: live summary: See a garment photo worn by a person, with the fabric, colour and details kept and the person unchanged. command: /virtual-try-on my linen shirt on this photo of me output: PNG · 3:4 or 4:5 portrait required-input: Garment photo + the person's own photo (or written consent) creator: meleon --- # Virtual try-on Use this skill when someone wants to see a specific garment on a specific person: a shopper checking a shirt, a brand showing a new piece on a team member, a stylist previewing a look. ## Consent comes first This Skill puts a real person's face and body into a new image. Before anything else: - The person photo must be of the person asking, or the person must have given written consent (a message or email is enough) for this use. Ask: "Is this your own photo, or do you have this person's permission?" - If the answer is no, unclear, or the photo looks like a celebrity, a public figure, a stranger, or a child, stop. Say you cannot do this one and offer to use a licensed model photo, a consenting volunteer, or a mannequin instead. - Never change the person's face, body shape, age or skin tone, and never make the image revealing. Keep it a normal, clothed fashion image. ## What you need - The garment photo, as a public URL: flat-lay, on a hanger, or on another person. The whole garment should be visible. - The person's own photo, as a public URL: front-facing, good light, torso visible, arms not crossed over the garment area. - Confirmation of consent, as above. - Optional: a background or setting. The default is to keep the person's own background. If either photo is missing, ask for it. Do not invent a garment or a person. ## What you make One still image of the same person wearing the same garment, in the person's own pose and light: - Portrait 3:4 (1536 × 2048) by default, matching the person photo. - Portrait 4:5 for social posts, when asked. ## How to run it 1. Ask the user, in words, whether the person photo is their own or whether they have the person's written consent, and quote their answer back in your reply. If the answer is missing, unclear or no, stop here. Never pass `--consent` to the script on your own initiative; only after the user has said yes. 2. Read `references/try-on-guide.md` and note the garment's colour, fabric, collar, buttons and print. Those must survive. 3. Fill in `assets/prompt-template.md`, or run `scripts/build-input.mjs` to print the full request. 4. Send the request like this: POST the printed JSON `input` to fal model `openai/gpt-image-2/edit` with the user's own FAL_KEY (the Skill never stores keys), or paste the prompt and images into any GPT-Image-class editor. Send the person photo first and the garment photo second. The defaults (1536 × 2048, quality high, about $0.25 per image) are the settings that made `assets/preview.webp`. 5. Check the result against `references/output-spec.md`. 6. If a check fails, try again, at most 3 attempts in total. Change one thing per attempt and name what you changed. View each output beside the input photos. Then return the best one and say what still differs from the garment or person. 7. Return the image and the prompt. Say that it is a preview of fit and look, not an exact fit guarantee. ## Privacy A photo uploaded to a public URL can be fetched by anyone who has the link. Delete the uploaded photos once the image is made. For a person photo, do this every time. ## Files - `references/try-on-guide.md`: consent, photo choices, fabric fidelity, fit and failure fixes. - `references/output-spec.md`: sizes, format and the pass/fail checks. - `assets/prompt-template.md`: the prompt to fill in. - `assets/generation-input.json`: the model and default image settings. - `assets/example-input.webp`: a sample garment photo. - `assets/preview.webp`: the result on a synthetic model. - `scripts/build-input.mjs`: prints the full model request. It does not call any API.