NEW19 AI tools · /v1/studio/*

Listing media,
generated by API.

Stage empty rooms, clear clutter, turn day into dusk, render 3D dollhouses from floor plans, animate photos and ship branded ads — try every tool in the Studio playground, then call it with one POST.

Async jobs

Heavy work runs in the background.

Generative endpoints answer 202 Accepted with a job ID. Poll it, stream progress over Server-Sent Events, or pass a webhook_url and we’ll call you.

Auth — either header, same key as the Listings API
x-api-key: <your_api_key>Authorization: Bearer <your_api_key>
01 · submitPOST /v1/studio/*
02 · accepted202 · job_id
03 · poll or streamGET /jobs/:job_id
floorplan_3d · job_studio_01JA0XQ4M9ZK7Tcompleted
{
"job_id": "job_studio_01JA0XQ4M9ZK7T",
"type": "floorplan_3d",
"status": "completed",
"progress_percentage": 100,
"current_step": "done",
"result": {
"isometric_3d_dollhouse_url": "https://cdn.mlsapi.dev/studio/renders/job_studio_01JA02_dollhouse.png",
"thumbnail_url": "https://cdn.mlsapi.dev/studio/renders/job_studio_01JA02_thumb.png",
"room_renders": [
{
"room_name": "Living Room",
"image_url": "https://cdn.mlsapi.dev/studio/renders/job_studio_01JA02_living.png"
},
{
"room_name": "Kitchen",
"image_url": "https://cdn.mlsapi.dev/studio/renders/job_studio_01JA02_kitchen.png"
}
],
"design_system_applied": {
"flooring": "Wide-plank European white oak",
"style": "luxury"
}
},
"created_at": "2026-09-29T14:02:11.000Z",
"completed_at": "2026-09-29T14:02:24.000Z",
"status_url": "/v1/studio/jobs/job_studio_01JA0XQ4M9ZK7T"
}
Endpoint reference

Every Studio endpoint.

Each links to its feature page with parameters, request examples and responses.

FeatureEndpointRuns
Virtual StagingPOST/v1/studio/staging/stageasync · ~12s
Remove FurniturePOST/v1/studio/staging/emptyasync · ~12s
Change StylePOST/v1/studio/staging/restyleasync · ~12s
Declutter RoomsPOST/v1/studio/staging/declutterasync · ~12s
Replace FurniturePOST/v1/studio/staging/replace-furnitureasync · ~14s
Replace MaterialsPOST/v1/studio/staging/replace-materialasync · ~14s
Paint Color VisualizerPOST/v1/studio/staging/wall-colorsasync · ~18s
Custom PromptPOST/v1/studio/customasync · ~12s
Photo EnhancementPOST/v1/studio/enhance/exteriorasync · ~12s
Day to DuskPOST/v1/studio/staging/twilightasync · ~12s
4K UpscalePOST/v1/studio/enhance/upscaleasync · ~10s
Floor Plan to 3D · AnalyzePOST/v1/studio/floorplan/analyzesync · ~2s
Floor Plan to 3D · Render 3DPOST/v1/studio/floorplan/render-3dasync · ~15s
3D to PhotorealisticPOST/v1/studio/render/architecturalasync · ~15s
Photo to VideoPOST/v1/studio/video/walkthroughasync · ~25s
Before & After VideoPOST/v1/studio/video/transitionasync · ~25s
House Tour VideoPOST/v1/studio/video/tourasync · ~45s
Realtor Video PolishPOST/v1/studio/video/enhanceasync · ~30s
Branded Ad CreativesPOST/v1/studio/creatives/generateasync · ~5s
Social Publishing · Write captionsPOST/v1/listing/:mlsId/contentsync · ~5s
Social Publishing · PublishPOST/v1/studio/social/publishsync · ~1s
Job statusGET/v1/studio/jobs/:job_idsync
Job progress streamGET/v1/studio/jobs/:job_id/streamSSE

See it on your own photos.

Sign up or log in at studio.mlsapi.dev to run it on your own photos — then call the same endpoint from your code.