Editing

Virtually stage photos

Virtually stage rooms: furnish empty rooms or restyle furnished ones in a design_style. Costs 100 credits per variation per photo, plus 100 per variation with ultra_hd.

Select photos with photo_ids, or project_id + all_photos: true. Defaults: variations 1, ultra_hd false; staging starts from the original photo unless versions names a prior result (e.g. a decluttered one).

Spends credits in two steps. Call without quote_id first: you get a quote (cost, balance before and after, whether the balance covers it, and whether results will be watermarked) and nothing is spent. Show the cost to the user and wait for a yes, then call again with the same arguments plus quote_id. The quote lasts 10 minutes and only matches identical arguments.

Results are asynchronous: this returns job IDs right away (status pending). Poll get_job_status with the job IDs, waiting poll_after_ms between calls, until each job is completed or failed. Failed jobs are refunded automatically.

Requires a connection with edit access. Spends credits. Without quote_id it returns 409 quote_required with a quote and spends nothing. Resend with quote_id to run, or send auto_confirm: true to skip the quote.

post/stagings

Request

  • Base URL: https://api.propertypixel.app/v1
  • URL: https://api.propertypixel.app/v1/stagings
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://llflgtovnkrsjqydycyu.supabase.co/auth/v1/oauth/authorize, token URL https://llflgtovnkrsjqydycyu.supabase.co/auth/v1/oauth/token)

Headers

Idempotency-Keystring

A unique key (for example a UUID) that makes retries safe. A retry with the same key and body returns the stored response; the same key with a different body returns 422. Keys last 24 hours.

Request body

photo_idsstring[]

The photos to use. Get IDs from get_project. Alternatively pass project_id with all_photos: true.

project_idstring uuid

The project the photos belong to. Required with all_photos; with photo_ids it must match their project.

all_photosboolean

Use every photo in project_id instead of listing photo_ids.

design_style'modern' | 'contemporary' | 'scandinavian' | 'industrial' | 'farmhouse' | 'coastal' | 'mid_century_modern' | 'hamptons' | 'luxury' | 'minimalist' | 'traditional' | 'japandi' | 'glam' | 'bohemian' required
variationsinteger

Different stagings to generate per photo (1–4). Default 1. Each one is charged.

ultra_hdboolean

Upscale each result to at least 4K, for 100 extra credits per result. Default false.

versionsobject

Edit on top of a previous result instead of the original: map of photo_id → job_id of a completed job on that photo. Photos not listed use the original.

quote_idstring uuid

The id of a quote the user confirmed. Omit it to get a quote first; nothing is spent without one.

auto_confirmboolean

REST with a personal API key only. Skip the quote step and spend immediately. For trusted scripts; ignored for app (OAuth) connections, which always get a quote.

Response

Virtually stage photos

object'job_batch' required
credits_spentinteger required
poll_after_msinteger required

Suggested wait before calling get_job_status.

Changes

No recorded changes to this operation across all 1 revision of this API.