Servidor MCP

Pixly

app.pixly/pixly
Diseño y creatividad Bienes raíces Público y accesible MCP 2025-11-25

Qué hace este MCP

Generates and edits real-estate listing visuals through staging, decluttering, enhancement, restyling, exterior transformations, upscaling, and short video creation.

before_after_reel
Before/After Reel
Before and after video: animate a before→after transformation (e.g. empty room → staged, or a renovation) into a social-ready reveal reel from two photos. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'format': {'enum': ['9:16', '16:9', '1:1'], 'type': 'string', 'default': '9:16'}, 'afterR2Path': {'type': 'string', 'minLength': 1, 'description': 'R2 path of the end frame — the alternative to afterImageUrl.'}, 'revealStyle': {'enum': ['smooth', 'slideIn', 'dropLand', 'glowBuild', 'movers'], 'type': 'string', 'default': 'smooth', 'description': 'How the transformation is revealed'}, 'videoIntent': {'enum': ['staging_reveal', 'staging_reveal_reverse', 'construction_timelapse'], 'type': 'string', 'default': 'staging_reveal'}, 'beforeR2Path': {'type': 'string', 'minLength': 1, 'description': 'R2 path of the start frame — the alternative to beforeImageUrl.'}, 'afterImageUrl': {'type': 'string', 'minLength': 1, 'description': 'End frame (e.g. the staged result) — https URL or data: URI'}, 'beforeImageUrl': {'type': 'string', 'minLength': 1, 'description': 'Start frame (e.g. the empty room photo) — https URL or data: URI'}, 'durationSeconds': {'anyOf': [{'type': 'number', 'const': 5}, {'type': 'number', 'const': 10}], 'default': 5}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
cinematic_motion
Cinematic Motion
Photo to video: turn a single listing photo into a short cinematic real estate video with a professional camera move (zoom, orbit, fly-through, crane up…). No second frame needed. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'format': {'enum': ['9:16', '16:9'], 'type': 'string', 'default': '9:16', 'description': 'Aspect ratio'}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}, 'direction': {'enum': ['left-to-right', 'right-to-left'], 'type': 'string', 'description': "The direction the camera travels, for the moves that have one (orbit, pan, drone-orbit). 'left-to-right' sends the camera rightward, 'right-to-left' leftward. Ignored by every other move; omit to use the move's own default."}, 'cameraMove': {'enum': ['zoom', 'fly-through', 'orbit', 'pan', 'aerial', 'pull-back', 'crane-up', 'tilt-up', 'boom-down', 'drone-orbit', 'flyover', 'pull-away', 'handheld'], 'type': 'string', 'default': 'zoom', 'description': 'Camera-move preset'}, 'durationSeconds': {'anyOf': [{'type': 'number', 'const': 5}, {'type': 'number', 'const': 10}], 'default': 5, 'description': 'Clip length; the routed model validates its supported tiers'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
create_upload_ticket
Upload a Local Photo
Get a presigned upload URL for a LOCAL image file — the one case a URL can't cover. PUT the file to uploadUrl with the same Content-Type, then pass the returned r2Path to a generation tool instead of imageUrl. Ticket expires in 1 hour.
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['filename', 'contentType'], 'properties': {'filename': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Original filename, used for the extension'}, 'sizeBytes': {'type': 'integer', 'maximum': 10485760, 'description': 'Exact byte size of the file. Recommended: when given it is signed into the URL, so the upload is bounded server-side.', 'exclusiveMinimum': 0}, 'contentType': {'enum': ['image/jpeg', 'image/png', 'image/webp', 'image/heic', 'image/heif', 'image/tiff'], 'type': 'string', 'description': 'MIME type the PUT request will send'}}}
day_to_night
Day to Night
Day to dusk (virtual twilight): turn a daytime listing photo into a magazine-style evening scene — lights on, warm glow, dusk sky — with the building and camera angle unchanged. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
declutter_photo
Declutter
Remove clutter, mess, and personal items from a listing photo while keeping the room, furniture, and architecture intact. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
edit_staged_photo
Edit Staged Result
Apply a specific change to a previously staged photo (swap the sofa, add a rug) while preserving everything else. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['style', 'customInstructions'], 'properties': {'style': {'type': 'string', 'minLength': 1, 'description': 'Style id of the staging being edited (the same ids virtual_staging takes), used as context to match new elements'}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': 'R2 path of the previous staged result — the alternative to imageUrl.'}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'URL of the PREVIOUS staged result to edit (the resultUrls entry from its job). Either imageUrl or r2Path is required.'}, 'sourceJobId': {'type': 'string', 'description': 'Job the edited result came from (lineage)'}, 'sourceResultIndex': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Which variation was edited'}, 'customInstructions': {'type': 'string', 'minLength': 1, 'description': 'The concrete edit to apply, e.g. "change the sofa to grey"'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
enhance_photo
Enhance
Real estate photo editing in one step: turn an amateur listing photo into a finished, professional photo (exposure, color, clarity). Returns 3 variants to pick from. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
get_checkout_link
Get a Payment Link
Use when a tool fails for lack of credits or a plan. Returns a Stripe Checkout URL for the user to pay on — this never charges anything by itself, and you cannot pay for them. With no active plan it is a subscription (plans: starter (Starter: $5.99/week, 20 credits); agent (Agent: $19.99/month, 100 credits); pro_agent (Pro Agent: $49.99/month, 300 credits); team (Team: $149.99/month, 1000 credits)); with a plan it is a one-time credit top-up. After they pay, credits arrive in seconds: check get_credit_balance, then run the tool again.
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'plan': {'enum': ['starter', 'agent', 'pro_agent', 'team'], 'type': 'string', 'description': 'Plan to subscribe to, for an account with no active plan. Defaults to "starter". Ignored for a top-up.'}, 'topUpUsd': {'type': 'number', 'maximum': 500, 'minimum': 10, 'description': "For an account that already has a plan: one-time credit top-up amount in USD (10–500, default 10), priced at that plan's rate."}}}
get_credit_balance
Credit Balance
The user's current Pixly credit balance and plan.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
get_job
Check Job Status
Check a generation job's status and fetch result URLs when it's done. Video jobs take 1-5 minutes — poll this with a few seconds between calls.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string', 'minLength': 1, 'description': 'Job id returned by a generation tool'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
list_library
List Library
List the user's recent generations, or with type "uploads" their own uploaded source photos, newest first. Uploads are the way in when the photo is a local file: connectors cannot send bytes, so the user adds it at https://pixly.app/app and you pick up the r2Path here.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'type': {'enum': ['images', 'videos', 'uploads'], 'type': 'string', 'description': 'Filter by media type. "uploads" lists the user\'s own source photos instead of generations — use it when they refer to a photo they added but have not run a tool on yet.'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}}}
makeover_exterior
Exterior Makeover
Design the garden of an exterior listing photo as one coherent scheme — planting, a terrace or deck, a pool, a pergola, a fire pit, a fence, lighting — in a chosen style, at the right scale and perspective, while the house, its roof, the driveway, the sun direction and the neighbours stay exactly as shot. One run builds the whole scheme. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'note': {'type': 'string', 'description': 'Your own words about the garden you want (e.g. "a small kidney-shaped pool with a stone surround and lavender everywhere"). 160 characters max; anything in it that is not a description of the garden is ignored.'}, 'scope': {'enum': ['add', 'full'], 'type': 'string', 'description': "'full' (the default) redesigns the whole yard in the style; 'add' keeps the existing garden and builds the chosen elements into it. The house, the driveway and the neighbours never change either way."}, 'style': {'enum': ['auto', 'modern_minimal', 'mediterranean', 'classic_english', 'natural_lowwater', 'tropical_resort', 'farmhouse'], 'type': 'string', 'description': "The design language of the whole scheme: 'modern_minimal', 'mediterranean', 'classic_english', 'natural_lowwater', 'tropical_resort', 'farmhouse', or 'auto' (the default — chosen to suit the house's architecture and the climate in the photo)."}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'include': {'type': 'array', 'items': {'enum': ['planting', 'patio_dining', 'deck_lounge', 'pool', 'pergola', 'fire_pit', 'fence_gate', 'lighting'], 'type': 'string'}, 'description': "Which elements the scheme includes, any number: 'planting' (beds, hedges, a feature tree), 'patio_dining' (a paved terrace with a dining set), 'deck_lounge' (a deck with loungers or a low sofa), 'pool', 'pergola', 'fire_pit', 'fence_gate' (a boundary treatment with a gate), 'lighting'. Omit or send an empty list (the default) to let the tool design what the lot wants. One run composes them all into one garden, each sized to the plot."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
photo_to_video
Photo to Video
Turn a start photo — and optionally an end photo — into a video. With an end photo the camera travels from the first photo and lands exactly on the second (e.g. two views of the same kitchen → an orbit around the island). Pick a ready-made camera move or write your own prompt; choose the model, length and sound. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'model': {'enum': ['kling-v3', 'kling-2.6'], 'type': 'string', 'default': 'kling-v3', 'description': 'kling-v3: 3/5/8/10/15 s, optional sound, lands most precisely on the end frame. kling-2.6: 5/10 s, silent, cheaper.'}, 'sound': {'type': 'boolean', 'default': False, 'description': 'Add ambient sound (kling-v3 only; kling-2.6 is always silent).'}, 'format': {'enum': ['16:9', '9:16', '1:1'], 'type': 'string', 'default': '16:9', 'description': "Label for the clip's shape; the video follows the start photo's own shape."}, 'prompt': {'type': 'string', 'maxLength': 1000, 'description': 'Your own description of the video, in any language. Replaces cameraMove when set.'}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Start frame — where the video begins. Public https URL or data: URI; either imageUrl or r2Path is required.'}, 'endR2Path': {'type': 'string', 'minLength': 1, 'description': 'R2 path of the end frame — the alternative to endImageUrl.'}, 'cameraMove': {'enum': ['smooth', 'walk', 'orbitLeft', 'orbitRight', 'pushIn', 'pullBack', 'riseUp'], 'type': 'string', 'default': 'smooth', 'description': 'Ready-made camera move used when no prompt is given.'}, 'endImageUrl': {'type': 'string', 'minLength': 1, 'description': 'Optional end frame — the camera travels from the start photo and lands exactly on this one. Best when both photos show the same space from different spots.'}, 'durationSeconds': {'type': 'integer', 'default': 5, 'maximum': 15, 'minimum': 3, 'description': 'Clip length. kling-v3 takes 3, 5, 8, 10 or 15; kling-2.6 takes 5 or 10.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
plot_sign
Plot Number
Place a photorealistic 3D monument sign with your exact text (price, area, SOLD) onto a photo of an empty plot, matched to perspective and lighting. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['text'], 'properties': {'look': {'enum': ['stone', 'metal', 'grass', 'sign'], 'type': 'string', 'description': 'Sign material/style; defaults server-side'}, 'text': {'type': 'string', 'maxLength': 24, 'minLength': 1, 'description': 'Sign label, verbatim — a price ("$1,200,000"), area ("800 m²"), or short word ("SOLD")'}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}, 'orientation': {'enum': ['standing', 'lying'], 'type': 'string', 'description': 'Letter orientation (letter looks only); defaults server-side'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
remove_furniture
Remove Furniture
Remove furniture from a photo: empty a room and rebuild the surfaces behind what was taken out, keeping the architecture and camera angle identical — the blank canvas for restaging. By default it also removes the room's own joinery (fitted kitchen, built-in wardrobes, bathroom fixtures); mode 'movable' leaves those alone, and an optional extra takes the floor covering out too, for a full renovation strip-back. Doors always stay. (Declutter is the opposite: it keeps the furniture.) Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'mode': {'enum': ['movable', 'fitted'], 'type': 'string', 'description': "How far to strip the room. 'fitted' (the default) removes the movable contents AND the room's own joinery — the fitted kitchen and its appliances, built-in wardrobes and shelving, and bathroom sanitaryware. 'movable' removes only furniture, rugs, curtains, art, plants and lamps, leaving the kitchen, built-ins, sanitaryware, floor and doors exactly as they are."}, 'extras': {'type': 'array', 'items': {'enum': ['floor'], 'type': 'string'}, 'description': "Extra things to take out, for a full strip-back. Only applies with mode 'fitted' and is ignored otherwise: 'floor' takes the floor covering down to bare concrete screed. Omit to keep the floor. Doors always stay, as do walls, ceiling, windows, structural openings and the camera."}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
render_floor_plan
Floor Plan Render
Turn a picture of any floor plan — a hand sketch, a photo of a brochure page, a blueprint, a screenshot — into a polished real-estate floor plan: a furnished top-down 2D plan with real floors and room names, or a 3D isometric cutaway. The rooms, walls, doors and windows are kept exactly as drawn; nothing is added and written dimensions are left off. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'look': {'enum': ['furnished', 'isometric'], 'type': 'string', 'description': "Which picture to make of the plan: 'furnished' (the default — a polished top-down 2D plan with real floors, furniture and room names) or 'isometric' (a 3D cutaway of the same layout, furnished, no text). The photo must show a floor plan: a hand sketch, a brochure page, a blueprint, a screenshot. The layout is kept exactly as drawn; written dimensions are left off."}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
replace_lawn
Lawn Replacement
Turn patchy, brown or bare grass in an exterior listing photo into a healthy green lawn, leaving driveways, paths, beds and the house untouched. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'lawn': {'enum': ['auto', 'fresh_mown', 'lush', 'natural', 'golf', 'warm_season'], 'type': 'string', 'default': 'auto', 'description': "Lawn style. 'auto' lets the tool pick a healthy lawn that suits the photo."}, 'shade': {'enum': ['light', 'medium', 'deep'], 'type': 'string', 'default': 'medium', 'description': 'How green; only used with a chosen lawn style.'}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'stripes': {'enum': ['auto', 'on', 'off'], 'type': 'string', 'default': 'auto', 'description': 'Mowing stripes: auto (stripes for fresh_mown and golf, none otherwise), on, off.'}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
replace_sky
Sky Replacement
Replace a grey, overcast or blown-out sky in an exterior listing photo with a natural clear blue sky, matching the light and keeping the building, trees and reflections unchanged. A run takes about 1–2 minutes; poll get_job until it completes. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sky': {'enum': ['auto', 'clear', 'light_clouds', 'dramatic_clouds', 'sunset', 'pastel_sunrise', 'winter_clear'], 'type': 'string', 'default': 'auto', 'description': "Sky style. 'auto' lets the tool pick what suits the photo's light."}, 'sun': {'enum': ['auto', 'on', 'off'], 'type': 'string', 'default': 'auto', 'description': 'Sun glow: auto (a glow for sunset/sunrise styles, none otherwise), on (place it with sunX/sunY), off.'}, 'sunX': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'With sun=on: glow position from the left edge, 0..1.'}, 'sunY': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'With sun=on: glow position from the top edge, 0..1 (kept in the top 60%).'}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
reset_season
Seasonal Reset
Photograph the same property in another season: take the snow off the ground, the roof and the branches and put the garden in leaf, or move a summer shot to autumn or winter. The house, the driveway, the paths and the camera angle stay exactly as shot. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'season': {'enum': ['auto', 'spring', 'summer', 'autumn', 'winter'], 'type': 'string', 'description': "The season to show the property in: 'spring', 'summer', 'autumn', 'winter', or 'auto' (the default — the tool shows the property at its best, which for a snowy or dormant photo means high summer). Only the planting, the ground cover and the daylight change; the house, the driveway, the paths and the framing stay exactly as shot."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
restyle_room
Restyle
Give 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.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'looks': {'type': 'object', 'description': "The finish per surface: 'auto', one of the presets below, or 'custom' with your own words in `notes`. 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: white_metro, marble_large, terrazzo, matt_black_hex, travertine. furniture: light_neutral, warm_wood, dark_wood, black_leather.", 'propertyNames': {'enum': ['walls', 'floor', 'cabinets', 'bathroom_tiles', 'furniture'], 'type': 'string'}, 'additionalProperties': {'enum': ['auto', 'custom', 'warm_white', 'crisp_white', 'soft_grey', 'greige', 'warm_beige', 'clay_pink', 'sage', 'soft_blue', 'olive_green', 'graphite', 'deep_navy', 'terracotta_walls', 'panelling', 'wallpaper_textured', 'limewash', 'microcement', 'exposed_brick', 'timber_slats', 'light_oak', 'mid_oak', 'wide_ash', 'walnut', 'herringbone_oak', 'grey_plank', 'polished_concrete', 'stone_tile', 'terracotta_floor', 'slate_tile', 'checker_tile', 'carpet_neutral', 'white_shaker', 'cream_shaker', 'handleless_white', 'handleless_grey', 'charcoal', 'matt_black_cabinets', 'natural_oak', 'walnut_cabinets', 'sage_cabinets', 'forest_green', 'navy_cabinets', 'two_tone', 'gloss_white', 'white_metro', 'zellige_white', 'white_large', 'grey_porcelain', 'marble_large', 'travertine', 'terrazzo', 'encaustic_pattern', 'matt_black_hex', 'slate_dark', 'wood_effect_tile', 'green_gloss', 'light_neutral', 'mid_grey_wool', 'warm_greige', 'cream_boucle', 'tan_leather', 'black_leather', 'green_velvet', 'navy_velvet', 'rust_velvet', 'warm_wood', 'dark_wood', 'black_metal'], 'type': 'string'}}, 'notes': {'type': 'object', 'description': '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.', 'propertyNames': {'enum': ['walls', 'floor', 'cabinets', 'bathroom_tiles', 'furniture'], 'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}, 'surfaces': {'type': 'array', 'items': {'enum': ['walls', 'floor', 'cabinets', 'bathroom_tiles', 'furniture'], 'type': 'string'}, 'description': "Which surfaces get a new finish: 'walls', 'floor', 'cabinets' (fitted joinery plus its worktop and splashback), 'bathroom_tiles' or 'furniture' (upholstery and wood finishes). Omit for walls. The room's layout, fittings and camera never change."}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
touch_up_exterior
Exterior Touch-up
One-click retouch of an exterior listing photo: a natural sky where it is dull, a healthy lawn where the grass is dead, a clean driveway, and bins, hoses and other clutter removed — each only where needed, with the house unchanged. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'fix': {'type': 'array', 'items': {'enum': ['sky', 'lawn', 'hardscape', 'clutter'], 'type': 'string'}, 'description': "Which areas the tool may touch: 'sky', 'lawn', 'hardscape' (driveway, paths, patio), 'clutter' (bins, hoses, tools, a stray vehicle). Omit for all four; each is fixed only where the photo needs it."}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
upload_image_from_url
Import Photo from URL
Rarely needed: generation tools take an imageUrl directly. Use this only to import a photo into Pixly ahead of time, e.g. to reuse one URL across several tools without refetching it each time.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Publicly reachable image URL (JPG/PNG/WebP, max 10 MB) to import into Pixly'}}}
upscale_hd
HD Upscale
Enlarge a photo by up to four times with real detail, to a maximum of 4096 px on the long edge — for print, MLS uploads and large screens. Nothing in the photo changes. Free on any result Pixly made (pass its r2Path from list_library); 1 credit on your own photo. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
virtual_staging
Virtual Staging
AI virtual staging: furnish and style an empty (or badly furnished) room photo in a chosen interior design style — also the tool for "redesign this room" or "show this room in another style". HD, watermark-free results. Some stagings also render a free second version: get_job then lists both under `versions` (the second can take a minute or two longer) — show the user both and let them pick. Costs credits from the user's Pixly balance.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['style'], 'properties': {'style': {'type': 'string', 'examples': ['modern-minimal', 'scandinavian', 'industrial', 'mid-century-modern', 'japandi'], 'minLength': 1, 'description': 'Interior style id. One of: modern-minimal, scandinavian, industrial, mid-century-modern, japandi, contemporary, transitional, urban-chic, bauhaus, organic-modern, brutalist, italian-modern, traditional, art-deco, colonial, victorian, french-country, english-cottage, neoclassical, art-nouveau, grandmillennial, hollywood-regency, parisian-chic, modern-classic, craftsman, mediterranean, mediterranean-modern, rustic-farmhouse, bohemian, tropical, family-staging, hygge, wabi-sabi, modern-farmhouse, cottagecore, shabby-chic, cabin-lodge, eclectic, retro-70s, warm-luxury, investor-premium, contemporary-dark, glam, penthouse-modern, hotel-suite, maximalist, quiet-luxury, coastal, desert-modern, hacienda, pacific-northwest, caribbean-resort, hamptons, moroccan, tuscan, southwestern, asian-zen, coastal-grandmother, cape-cod, california-casual, mountain-modern. When the user has no preference, "modern-minimal" or "scandinavian" suit most listings.'}, 'r2Path': {'type': 'string', 'minLength': 1, 'description': "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."}, 'imageUrl': {'type': 'string', 'minLength': 1, 'description': 'Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.'}, 'roomType': {'type': 'string', 'description': 'Room type hint; omit to let vision infer it from the photo'}, 'numImages': {'type': 'integer', 'default': 1, 'maximum': 4, 'minimum': 1, 'deprecated': True, 'description': 'Ignored — staging always returns one image. Call again for another take.'}, 'stagingQuality': {'enum': ['standard', 'pro'], 'type': 'string', 'deprecated': True, 'description': 'Ignored — the Pro tier is retired. Every staging costs 1 credit and may render a second version on another model for free.'}, 'customInstructions': {'type': 'string', 'description': 'Optional extra instructions blended into the staging prompt'}}}
Esquema de salida
{'type': 'object', 'required': ['jobId', 'status'], 'properties': {'note': {'type': 'string'}, 'type': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string', 'description': 'Pass to get_job to poll'}, 'status': {'type': 'string', 'description': 'pending | processing | completed | failed — anything not completed/failed is still running'}, 'createdAt': {'type': 'string'}, 'resultUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present when completed; valid 7 days'}, 'completedAt': {'type': 'string'}, 'creditsCharged': {'type': ['number', 'null']}}}
Modificado
virtual_staging
1 de October de 2026 a las 02:52
Modificado
plot_sign
25 de September de 2026 a las 03:01
Modificado
upscale_hd
25 de September de 2026 a las 03:01
Modificado
touch_up_exterior
25 de September de 2026 a las 03:01
Añadido
render_floor_plan
25 de September de 2026 a las 03:01
Modificado
makeover_exterior
25 de September de 2026 a las 03:01
Modificado
reset_season
25 de September de 2026 a las 03:01
Modificado
restyle_room
25 de September de 2026 a las 03:01
Modificado
replace_lawn
25 de September de 2026 a las 03:01
Modificado
replace_sky
25 de September de 2026 a las 03:01
Modificado
day_to_night
25 de September de 2026 a las 03:01
Modificado
remove_furniture
25 de September de 2026 a las 03:01
Modificado
declutter_photo
25 de September de 2026 a las 03:01
Modificado
enhance_photo
25 de September de 2026 a las 03:01
Modificado
photo_to_video
25 de September de 2026 a las 03:01
Modificado
cinematic_motion
25 de September de 2026 a las 03:01
Modificado
virtual_staging
25 de September de 2026 a las 03:01
Añadido
get_checkout_link
23 de September de 2026 a las 02:52
Modificado
get_credit_balance
23 de September de 2026 a las 02:52
Modificado
list_library
23 de September de 2026 a las 02:52
Modificado
get_job
23 de September de 2026 a las 02:52
Modificado
create_upload_ticket
23 de September de 2026 a las 02:52
Modificado
upload_image_from_url
23 de September de 2026 a las 02:52
Modificado
plot_sign
23 de September de 2026 a las 02:52
Modificado
upscale_hd
23 de September de 2026 a las 02:52
Modificado
touch_up_exterior
23 de September de 2026 a las 02:52
Modificado
makeover_exterior
23 de September de 2026 a las 02:52
Modificado
reset_season
23 de September de 2026 a las 02:52
Modificado
restyle_room
23 de September de 2026 a las 02:52
Modificado
replace_lawn
23 de September de 2026 a las 02:52