Video

Create a video

Turn listing photos into a video. One photo makes a Photo to Video clip; 2–9 photos make a Listing Tour, in the order given. Costs 400 credits per photo.

Defaults: clip_seconds 3, aspect_ratio "auto"; each photo uses its original unless versions names an enhanced result.

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. Videos take a few minutes.

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/videos

Request

  • Base URL: https://api.propertypixel.app/v1
  • URL: https://api.propertypixel.app/v1/videos
  • 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

project_idstring uuid required

The project the photos belong to.

photo_idsstring[] required

Photos in playback order, 1–9. One photo makes a short clip; several are joined into a Listing Tour with crossfades.

clip_secondsinteger
aspect_ratio'auto' | '16:9' | '9:16' | '1:1'
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

Create a video

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.