Before & After Video
before_after_reelBefore and after video: animate a before→after transformation (e.g. empty room → staged, or a renovation, or a daylight photo → its Day to Night version with videoIntent day_to_night) into a social-ready reveal reel from two photos. Both photos are required. Only have one? Make the other first with a photo tool — virtual_staging (empty room → furnished), remove_furniture (furnished → empty), day_to_night, restyle_room, makeover_exterior and the other edit tools — and pass its result as afterImageUrl (or beforeImageUrl). Costs credits from the user's Pixly balance.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Video shape. original (default) keeps the photos' own shape; 9:16, 16:9 or 1:1 crop both photos, centred, to that shape first. | original |
| listingId | No | A property folder (from list_listings or create_listing) to put the result in. Results of a photo that is already in a folder go there by themselves. | |
| afterR2Path | No | R2 path of the end frame — the alternative to afterImageUrl. | |
| revealStyle | No | How the transformation is revealed | smooth |
| videoIntent | No | staging_reveal: an empty room becoming a furnished one (or a renovation). day_to_night: Before is a daylight photo and After its dusk version (a Pixly Day to Night result and its original) — the video turns day into the lit evening; revealStyle does not apply. | staging_reveal |
| beforeR2Path | No | R2 path of the start frame — the alternative to beforeImageUrl. | |
| afterImageUrl | No | End frame (e.g. the staged result) — https URL or data: URI | |
| beforeImageUrl | No | Start frame (e.g. the empty room photo) — https URL or data: URI | |
| durationSeconds | No |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | No | Several jobs at once (get_job with jobIds, or a plan's steps): each one's jobId, status and results | |
| note | No | ||
| type | No | ||
| error | No | ||
| jobId | Yes | Pass to get_job to poll | |
| quote | No | Present when status is "awaiting_confirmation": nothing ran and nothing was charged yet — the price and settings the user is asked to confirm | |
| status | Yes | pending | processing | completed | failed — anything not completed/failed is still running | |
| createdAt | No | ||
| resultUrls | No | Present when completed; valid 7 days | |
| completedAt | No | ||
| resultPaths | No | Storage path of each result — pass one as r2Path (or beforeR2Path, a photos[] item) to run another tool on this result | |
| creditsCharged | No |