Real estate walkthrough video from listing photos: the 30-image limit

A Sume Format run accepts up to 30 images as attachments. How to send listing photos, keep room order, set a cap and read the walkthrough back.

5 min readSume
All posts

You can build a real estate walkthrough video from listing photos by sending the photos as attachments on a Format run. The create body accepts up to 30 images in attachments ({ "type": "input_image", "image_url": "https://..." }), and the whole run shares one media budget of 30 files with a maximum of 10 videos and 10 audio files. A listing with 42 photos therefore needs a choice: send the best 30, or split the listing across several runs.

Sending the photos

Put the room order in the instruction, because the agent reads attachments as images and not as a labelled list. Put structured facts such as the address, the bedroom count and the asking price in input. Sume saves input as a data file and tells the agent it is data, so listing text scraped from a portal does not get read as commands.

For a first look at what a catalog Format expects, read it before you call it. The sume-slideshow slug is listed in the catalog at the sume handle; the io block on the response shows its declared input and output kinds.

curl -sS "https://api.sume.com/v1/formats/sume/sume-slideshow"   -H "Authorization: Bearer $SUME_API_KEY"

The limits that matter for a listing

All items in the table come from the call docs, as of 2026-10-09.

Limits that apply to a walkthrough run, as of 2026-10-09
LimitValueEffect on a listing
Images in attachments30Pick the best 30 photos
Media files in one run30 total, 10 videos, 10 audioCounts URLs inside input too
input size64 top-level keys, 2 MiBRoom notes fit easily
instruction accepted8000 charactersOnly about 4000 are carried as prompt text
generation_spend_cap_usdUp to 500; default from the FormatSet about 20 for a short tour

Reading the result

When the run is completed, primary_output_url is the video, a durable media.sume.com URL that never expires. Anyone who has the URL can open it, so a listing video meant for one buyer should be copied behind your own access control. If you want the length to be checked before posting, read duration_ms on the artifact entry.

Keep your listing id on your side. It cannot come back in output unless the run repeats it, so store the run id next to it. Use the listing id and a version as the Idempotency-Key, so a retry after a network error does not start a second paid run.

Listing photos: practical points

Send photos that your agency owns or has the right to use, and send only HTTPS URLs that stay reachable for the length of the run. An unknown asset_id returns 400 attachment_not_found, and an attachment over the media budget returns 400 invalid_attachment, so the problem shows up at create and not after a paid run.

Order matters to a human viewer even though the API does not ask for it. Number the photos in the instruction, for example "photo 1 is the street view, photos 2 to 5 are the living room". If the first result skips a room, continue the run with previous_run_id and name only the room that needs fixing, so you do not pay for the whole tour again. Do not describe features the photos do not show; the agent follows your text, and a tour that claims a garden that is not there is a problem for the listing, not for the model.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume