{"ok":true,"site":{"host":"nude-virtual-showroom.vercel.app","url":"https://nude-virtual-showroom.vercel.app/","type":"live","desc":"A private digital lookbook and virtual fitting room for NUDE. Browse the collection, view product detail, and try on virtually.","tools":[{"name":"nude.list_pieces","kind":"answer","impl":"imperative","description":"List all NUDE pieces with full construction detail — wire, cup, padding, straps, closure, material, colours, sizes and structure notes. Use this to work out which pieces fit a request such as 'nude-toned and smooth under a white shirt'. Returns no image data.","title":"Browse the NUDE collection","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"nude.get_piece","kind":"act","impl":"imperative","description":"Open one piece in full: construction detail, sizes, description, its product page URL, and the actual garment image a try-on will send to cloth-v4. This is the step where you find out whether the colour you were about to promise is the colour that will render. Use it on every piece you are seriously considering before you render anything.","title":"Look at one piece properly","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pieceId":{"type":"string","description":"A pieceId from nude.list_pieces, e.g. nude-01.","pattern":"^nude-[0-9]{2}$"}},"required":["pieceId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"nude.get_fitting_room_state","kind":"answer","impl":"imperative","description":"Read this fitting room's state: whether a photo has been added, which try-ons have been generated and whether each is a real render, the current shortlist, and any preparation already handed over. Returns no image data.","title":"Read the fitting room","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"nude.try_on","kind":"act","impl":"imperative","description":"Render one piece onto the photo already stored in this fitting room, using Perfect Corp's cloth-v4 virtual try-on. Takes roughly 10-30 seconds and runs one at a time. Pass a colour from that piece's coloursYouCanRender to render that colourway; omit it for the unlabelled default. A colour that cannot be rendered is refused, never substituted. Requires that the person has already added a photo — this tool cannot supply or replace it. Returns whether the render succeeded and its lookId, and no image data.","title":"Try a piece on","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pieceId":{"type":"string","description":"A pieceId from nude.list_pieces, e.g. nude-01. One piece per call.","pattern":"^nude-[0-9]{2}$"},"colour":{"type":"string","description":"Optional. A colourway from that piece's coloursYouCanRender. Omit to use the default reference, whose colourway is unlabelled. Asking for a colour outside coloursYouCanRender is refused rather than substituted.","maxLength":32}},"required":["pieceId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"nude.prepare_fitting_room","kind":"act","impl":"imperative","description":"The final step, once the fitting room is actually right. Hand back one to three pieces, each with its own reason, plus a brief restating her task and an optional caveat for anything you could not confirm. Refuses unless every named piece already has a real generated try-on and its own why — a prepared fitting room always contains the real results and a per-piece justification, never three plausible names. Getting here slowly is correct; getting here with the wrong pieces is not.","title":"Hand the fitting room over","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"brief":{"type":"string","description":"The task restated in the person's own words, so she recognises it when she comes back hours later. E.g. 'Tokyo business trip — under a white shirt'.","maxLength":200},"pieces":{"type":"array","description":"One to three pieces, in the order you want her to see them. Each must already have a real generated try-on, and each needs its own reason — one blanket rationale for the set is not accepted.","items":{"type":"object","properties":{"pieceId":{"type":"string","pattern":"^nude-[0-9]{2}$"},"why":{"type":"string","description":"What this specific piece does for this brief. Cite the construction detail you relied on, not a general impression.","maxLength":200}},"required":["pieceId","why"],"additionalProperties":false},"minItems":1,"maxItems":3},"caveat":{"type":"string","description":"Anything you could not confirm — a colour the render cannot honour, a requirement only partly met, a piece included as the nearest available option, a requirement that strictly only one piece meets. Say all of it here rather than overclaiming. There is room; use it.","maxLength":700}},"required":["brief","pieces"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Commerce","favicon":"/favicons/nude-virtual-showroom.vercel.app.png","apiSurface":"spec","toolCount":5}}