House tour

A full house tour from 3–6 photos.

Pass your photos in order with a highlight for each room. Studio builds a cinematic multi-shot tour with clean cuts, an ambient soundtrack and — optionally — an AI-written script, sized for Reels, Shorts or YouTube.

POST/v1/studio/video/tourasync · ~45s
ExteriorPalm-lined and move-in ready.
Living RoomBright, open living area.
KitchenAn updated kitchen with an island.
Primary SuiteA quiet primary retreat.
ordered_photos15s · 9:16
1ExteriorPalm-lined and move-in ready.
2Living RoomBright, open living area.
3KitchenAn updated kitchen with an island.
4Primary SuiteA quiet primary retreat.
Script
Music
  • 3–6 photos
  • 12 · 15 · 30s
  • Auto script
  • Music
Use cases

Every new listing gets a video

01

Just-listed reels

Automate a vertical tour the moment a listing goes live.

02

Listing pages

A 16:9 tour at the top of the property page keeps visitors longer.

03

Email & SMS

Short tours with a poster frame for newsletters and buyer alerts.

API

One request. That’s the integration.

Authenticate with x-api-key or Authorization: Bearer — the same key as the Listings API.

POST/v1/studio/video/tourAsync · ~45s
01POST 3–6 ordered photos with highlights, a duration and a music genre. You get a job_id right away.
02Poll GET /v1/studio/jobs/:job_id, stream progress over SSE, or wait for your webhook.
03Download the finished tour and poster frame from the CDN.
Body parameters7
ordered_photos{ room_name, photo_url, highlight }[]required
3 to 6 photos in the order they should appear.
duration_secondsnumberrequired
12, 15 or 30.
auto_scriptboolean
Write captions and narration from the highlights.
shot_scriptstring
Your own script instead of the automatic one.
aspect_ratioenum
9:16 · 16:9 · 1:1
music_genreenum
ambient_luxury · upbeat_modern · acoustic_warm · none
webhook_urlstring
Called with the finished job when processing completes.
terminal
curl -X POST https://mlsapi.dev/v1/studio/video/tour \
-H "x-api-key: $MLSAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"ordered_photos": [
{
"room_name": "Exterior",
"photo_url": "https://cdn.mlsapi.dev/photos/A12079565/exterior.webp",
"highlight": "Palm-lined front yard"
},
{
"room_name": "Living Room",
"photo_url": "https://cdn.mlsapi.dev/photos/A12079565/02.webp",
"highlight": "Bright, open living area"
},
{
"room_name": "Kitchen",
"photo_url": "https://cdn.mlsapi.dev/photos/A12079565/03.webp",
"highlight": "Updated kitchen"
},
{
"room_name": "Primary Suite",
"photo_url": "https://cdn.mlsapi.dev/photos/A12079565/07.webp",
"highlight": "Quiet primary bedroom"
}
],
"duration_seconds": 15,
"auto_script": true,
"aspect_ratio": "9:16",
"music_genre": "ambient_luxury"
}'
202 Accepted
POST /v1/studio/video/tour
{
"job_id": "job_studio_01JA0XQ4M9ZK7T",
"type": "video_tour",
"status": "processing",
"progress_percentage": 10,
"current_step": "initializing_pipeline",
"estimated_completion_seconds": 45,
"created_at": "2026-09-29T14:02:11.000Z",
"status_url": "/v1/studio/jobs/job_studio_01JA0XQ4M9ZK7T"
}

Try House Tour Video in Studio.

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