Restyle
restyle_roomGive one or more surfaces of a room a new finish — repaint the walls, change the floor, reface the kitchen cabinets and worktop, retile the bathroom or refinish the furniture — while the room's layout, fittings, windows and camera angle stay exactly as shot. Costs credits from the user's Pixly balance.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| looks | No | The finish per surface: 'auto', one of the presets below, 'custom' with your own words in `notes`, 'own_colour' (walls, cabinets, furniture) with a hex colour in `colours`, or 'material_photo' with a photo of the material in `references`. A finish that does not belong to its surface falls back to 'auto' (the tool picks one that suits the room; several on auto are made to agree). walls: warm_white, soft_grey, greige, sage, deep_navy. floor: light_oak, walnut, grey_plank, polished_concrete, stone_tile. cabinets: white_shaker, charcoal, natural_oak, forest_green, navy_cabinets. bathroom_tiles (wall tiles only; a bathroom floor is 'floor'): white_metro, zellige_white, marble_large, travertine, green_gloss. floor also takes terrazzo, encaustic_pattern, matt_black_hex. furniture: light_neutral, warm_wood, dark_wood, black_leather. | |
| notes | No | Your own description of the finish for a surface, used when that surface's look is "custom" (e.g. "terracotta hex tiles with dark grout"). Set look "custom" and the note together; "custom" with no note falls back to "auto". 120 characters max, and anything in it that is not a description of a finish is ignored. | |
| r2Path | No | Storage path of a photo already in the user's Pixly library (from list_library, or returned by an upload ticket) — the alternative to imageUrl. | |
| colours | No | Any colour as a hex code for walls, cabinets or furniture (e.g. {"walls": "#7A8B6F"}), used when that surface's look is "own_colour". The result matches it closely as it would look in the room's light. | |
| imageUrl | No | Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required. | |
| surfaces | No | Which surfaces get a new finish: 'walls', 'floor', 'cabinets' (fitted joinery plus its worktop and splashback), 'bathroom_tiles' (the tiled walls; a bathroom floor is 'floor') or 'furniture' (upholstery and wood finishes). Omit for walls. The room's layout, fittings and camera never change. | |
| listingId | No | A property folder (from list_listings or create_listing) to put the result in. Results of a photo that is already in a folder go there by themselves. | |
| references | No | A photo of the material itself — a floor plank, a tile, a fabric swatch, a wallpaper sample — for ONE surface, as the r2Path from create_upload_ticket or list_library (e.g. {"floor": "users/…/oak.jpg"}). Set that surface's look to "material_photo". One photo per run; a close, straight-on photo of the sample works best. |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | No | Several jobs at once (get_job with jobIds, or a plan's steps): each one's jobId, status and results | |
| note | No | ||
| type | No | ||
| error | No | ||
| jobId | Yes | Pass to get_job to poll | |
| quote | No | Present when status is "awaiting_confirmation": nothing ran and nothing was charged yet — the price and settings the user is asked to confirm | |
| status | Yes | pending | processing | completed | failed — anything not completed/failed is still running | |
| createdAt | No | ||
| resultUrls | No | Present when completed; valid 7 days | |
| completedAt | No | ||
| resultPaths | No | Storage path of each result — pass one as r2Path (or beforeR2Path, a photos[] item) to run another tool on this result | |
| creditsCharged | No |