Skip to main content
Glama

Cinematic Motion

cinematic_motion

Photo to video: turn a single listing photo into a short cinematic real estate video with a professional camera move (zoom, orbit, fly-through, crane up…). No second frame needed. Costs credits from the user's Pixly balance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoVideo shape. original (default) keeps the photo's own shape; 9:16 or 16:9 crop the photo, centred, to that shape before it is animated.original
r2PathNoStorage path of a photo already in the user's Pixly library (from list_library, or returned by an upload ticket) — the alternative to imageUrl.
imageUrlNoPublic https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.
directionNoThe direction the camera travels, for the moves that have one (orbit, pan, drone-orbit). 'left-to-right' sends the camera rightward, 'right-to-left' leftward. Ignored by every other move; omit to use the move's own default.
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.
cameraMoveNoCamera-move presetzoom
durationSecondsNoClip length in seconds. Leave out for the default 5 s; 10 s costs about twice as much — use it only when the user asks for a longer video.

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"
    • changedInput schema / properties / format / description
      Previous value: -"Aspect ratio"New value: +"Video shape. original (default) keeps the photo's own shape; 9:16 or 16:9 crop the photo, centred, to that shape before it is animated."
    • changedInput schema / properties / format / enum
      Previous value: -[
      -  "9:16",
      -  "16:9"
      -]New value: +[
      +  "original",
      +  "9:16",
      +  "16:9"
      +]
  3. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Clip length; the routed model validates its supported tiers"New value: +"Clip length in seconds. Leave out for the default 5 s; 10 s costs about twice as much — use it only when the user asks for a longer video."
    • 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. Changed1 schema field changed
    • changedInput schema / properties / r2Path / description
      Previous value: -"R2 object path from an upload ticket (the create_upload_ticket tool, or POST /api/v1/uploads over REST) — the alternative to imageUrl when the photo is a local file."New value: +"Storage path of a photo already in the user's Pixly library (from list_library, or returned by an upload ticket) — the alternative to imageUrl."
  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. Changed1 schema field changed
    • changedInput schema / properties / r2Path / description
      Previous value: -"R2 object path from an upload ticket (POST /api/v1/uploads) — the alternative to imageUrl when the photo is a local file."New value: +"R2 object path from an upload ticket (the create_upload_ticket tool, or POST /api/v1/uploads over REST) — the alternative to imageUrl when the photo is a local file."
  8. Changed1 schema field changed
    • changedInput schema / properties / direction / description
      Previous value: -"Horizontal direction, for the moves that have one (currently 'pan'). Ignored by every other move; omit for the default."New value: +"The direction the camera travels, for the moves that have one (orbit, pan, drone-orbit). 'left-to-right' sends the camera rightward, 'right-to-left' leftward. Ignored by every other move; omit to use the move's own default."
  9. Changed1 schema field changed
    • addedInput schema / properties / direction
      Added value: +{
      +  "description": "Horizontal direction, for the moves that have one (currently 'pan'). Ignored by every other move; omit for the default.",
      +  "enum": [
      +    "left-to-right",
      +    "right-to-left"
      +  ],
      +  "type": "string"
      +}
  10. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources