Skip to main content
Glama

Before & After Video

before_after_reel

Before 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
NameRequiredDescriptionDefault
formatNoVideo shape. original (default) keeps the photos' own shape; 9:16, 16:9 or 1:1 crop both photos, centred, to that shape first.original
listingIdNoA 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.
afterR2PathNoR2 path of the end frame — the alternative to afterImageUrl.
revealStyleNoHow the transformation is revealedsmooth
videoIntentNostaging_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
beforeR2PathNoR2 path of the start frame — the alternative to beforeImageUrl.
afterImageUrlNoEnd frame (e.g. the staged result) — https URL or data: URI
beforeImageUrlNoStart frame (e.g. the empty room photo) — https URL or data: URI
durationSecondsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobsNoSeveral jobs at once (get_job with jobIds, or a plan's steps): each one's jobId, status and results
noteNo
typeNo
errorNo
jobIdYesPass to get_job to poll
quoteNoPresent when status is "awaiting_confirmation": nothing ran and nothing was charged yet — the price and settings the user is asked to confirm
statusYespending | processing | completed | failed — anything not completed/failed is still running
createdAtNo
resultUrlsNoPresent when completed; valid 7 days
completedAtNo
resultPathsNoStorage path of each result — pass one as r2Path (or beforeR2Path, a photos[] item) to run another tool on this result
creditsChargedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / listingId
      Added value: +{
      +  "description": "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.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / jobs
      Added value: +{
      +  "description": "Several jobs at once (get_job with jobIds, or a plan's steps): each one's jobId, status and results",
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed3 schema fields changed
    • changedInput schema / properties / format / default
      Previous value: -"9:16"New value: +"original"
    • addedInput schema / properties / format / description
      Added value: +"Video shape. original (default) keeps the photos' own shape; 9:16, 16:9 or 1:1 crop both photos, centred, to that shape first."
    • changedInput schema / properties / format / enum
      Previous value: -[
      -  "9:16",
      -  "16:9",
      -  "1:1"
      -]New value: +[
      +  "original",
      +  "9:16",
      +  "16:9",
      +  "1:1"
      +]
  3. Changed1 schema field changed
    • addedOutput schema / properties / quote
      Added value: +{
      +  "description": "Present when status is \"awaiting_confirmation\": nothing ran and nothing was charged yet — the price and settings the user is asked to confirm",
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • addedOutput schema / properties / resultPaths
      Added value: +{
      +  "description": "Storage path of each result — pass one as r2Path (or beforeR2Path, a photos[] item) to run another tool on this result",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  5. Changed2 schema fields changed
    • addedInput schema / properties / videoIntent / description
      Added value: +"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."
    • changedInput schema / properties / videoIntent / enum
      Previous value: -[
      -  "staging_reveal",
      -  "staging_reveal_reverse",
      -  "construction_timelapse"
      -]New value: +[
      +  "staging_reveal",
      +  "staging_reveal_reverse",
      +  "construction_timelapse",
      +  "day_to_night"
      +]
  6. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "completedAt": {
      +      "type": "string"
      +    },
      +    "createdAt": {
      +      "type": "string"
      +    },
      +    "creditsCharged": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "type": "string"
      +    },
      +    "jobId": {
      +      "description": "Pass to get_job to poll",
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "resultUrls": {
      +      "description": "Present when completed; valid 7 days",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "status": {
      +      "description": "pending | processing | completed | failed — anything not completed/failed is still running",
      +      "type": "string"
      +    },
      +    "type": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "jobId",
      +    "status"
      +  ],
      +  "type": "object"
      +}
  7. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources