How AI real estate photo editing works
Last updated 2026-10-25 · Venu Gopal Reddy Muvva, Surge Software
1. Upload
Drop JPEG/PNG files on a listing, or paste Dropbox / Google Drive share links. Brackets are grouped by file name (kitchen_1.jpg, kitchen_2.jpg, kitchen_3.jpg → one photo) or by a fixed count per set (3 or 5).
2. Choose edits per photo
Defaults: HDR merge, window pull, perspective, white balance; sky replacement for exterior shots. Add twilight, object removal boxes, or a learned style preset. Virtual staging is a preview for now (simple CPU furniture); photoreal staging is coming soon.
3. QC score and review
Each output gets a 0–100 score from seven checks (exposure, blown highlights, crushed shadows, colour cast, vertical tilt, softness, noise) plus MLS resolution. Below your threshold (default 80) we re-edit automatically up to three times; if it is still low, it goes to the human QC queue with an SLA timer (default 6 hours).
4. Compliance and delivery
Staged, twilight and object-removed photos get a disclosure label on the MLS copy; the unlabeled original is kept in a separate folder. MLS copies are never branded. Agents get a branded delivery page with ZIP downloads, a property website, video and floor plan.
5. Billing, team and white-label
ListingPhotoStudio is free. The few things that cost us money (human QC reviews, Claude fallback copy) are charged at exactly that cost from prepaid credit; new studios start with $5. Credit never expires and there is no plan to cancel. Settings → Team creates invite links. Settings → White-label sets your logo, colour, a custom portal domain and hides the "Powered by ListingPhotoStudio" footer. Agents can request a free revision on any delivered photo; it goes to the QC queue on your SLA.
REST API
Create a key in Settings → API keys and send it as Authorization: Bearer lsk_…. POST /api/v1/listings creates a listing; POST /api/v1/listings/{id}/photos uploads brackets (multipart, process=1 starts editing); GET /api/v1/listings/{id} and GET /api/v1/photos/{id} return status, QC score, issues and download URLs. Processing is free and never blocked by credit.
# create a listing
curl -X POST https://listingphotostudio.com/api/v1/listings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"address":"12 Oak St","city":"Austin","beds":3,"baths":2}'
# upload brackets (one photo per file-name group) and start processing
curl -X POST https://listingphotostudio.com/api/v1/listings/$LISTING/photos -H "Authorization: Bearer $KEY" -F files=@living_1.jpg -F files=@living_2.jpg -F files=@living_3.jpg -F process=1
# poll a listing, or one photo
curl https://listingphotostudio.com/api/v1/listings/$LISTING -H "Authorization: Bearer $KEY"
curl https://listingphotostudio.com/api/v1/photos/$PHOTO -H "Authorization: Bearer $KEY"