Skip to main content
Glama
pedra-ai

Pedra MCP Server

Official
by pedra-ai

Create property video

pedra_create_video

Create a property video from a list of images. Blocks server-side until the video is rendered (up to ~10 min) and returns the finished video URL inline.

Instructions

Create a property video from a list of images. Blocks server-side until the video is rendered (up to ~10 min) and returns the finished video URL inline.

Input Schema

NameRequiredDescriptionDefault
musicNo
voiceNo
imagesYesOrdered list of images that make up the video.
brandingNo
isVerticalNoForce a vertical (9:16) video.
endingTitleNo
endingSubtitleNo
propertyCharacteristicsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.6.1
    • changedInput schema / properties / images / items / properties / effect / description
      Previous value: -"Animation for this image. Defaults to \"zoom-in\"."New value: +"Animation for this image. Defaults to \"zoom-in\" (AI, 5 credits). \"transition\" morphs between two photos; \"sky-transition\" changes only the sky and light between two versions of the same photo (day to night, day to sunset); both need secondImageUrl and cost 5 credits. \"lite-zoom-in\" / \"lite-zoom-out\" are a free, subtler 3D push (no AI video, 0 credits). \"static\" is a still frame, also free."
    • changedInput schema / properties / images / items / properties / effect / enum
      Previous value: -[
      -  "zoom-in",
      -  "zoom-out",
      -  "transition",
      -  "static"
      -]New value: +[
      +  "zoom-in",
      +  "zoom-out",
      +  "transition",
      +  "sky-transition",
      +  "lite-zoom-in",
      +  "lite-zoom-out",
      +  "static"
      +]
    • changedInput schema / properties / images / items / properties / secondImageUrl / description
      Previous value: -"Required when effect is \"transition\"."New value: +"Required when effect is \"transition\" or \"sky-transition\"."
  2. Changed1 schema field changedv0.5.1
    • changedInput schema / properties / images / items / properties / imageUrl / description
      Previous value: -"Source image: a public https:// URL, a data: URI, or an absolute path to a local image file (the file is read and inlined automatically)."New value: +"Source image: a public https:// URL, a data: URI, or an absolute path to a local image file on this computer (the file is read and inlined automatically). If the photo is on the user's device and can't be read from here (e.g. it's on their phone), get a link from pedra_create_upload_link."
  3. Changed4 schema fields changedv0.3.0
    • addedInput schema / properties / music / properties / track / description
      Added value: +"Genre key from pedra_music_library (e.g. acoustic, chill, cinematic, electronic, upbeat)."
    • addedInput schema / properties / voice / properties / audioId
      Added value: +{
      +  "description": "Id of a voiceover from pedra_generate_voice. Drives the narration and its synced subtitles.",
      +  "type": "string"
      +}
    • addedInput schema / properties / voice / properties / audioUrl / description
      Added value: +"Legacy alias for audioId."
    • addedInput schema / properties / voice / properties / showSubtitles
      Added value: +{
      +  "description": "Burn in word-synced subtitles. Defaults to true.",
      +  "type": "boolean"
      +}
  4. Changed1 schema field changedv0.1.2
    • changedInput schema / properties / images / items / properties / imageUrl / description
      Previous value: -"URL (or data: URL) of the source image."New value: +"Source image: a public https:// URL, a data: URI, or an absolute path to a local image file (the file is read and inlined automatically)."
  5. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already give readOnlyHint=false, destructiveHint=false, openWorldHint=true. The description adds genuinely useful behavior beyond that: server-side blocking up to ~10 minutes and the finished video URL returned inline, which materially affects how the agent sequences the call. Credit costs and failure behavior remain undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero padding, and the blocking/latency constraint is front-loaded right after the purpose. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does cover the return ('video URL inline') and latency, which is the most important context for this tool. However, for an 8-param, heavily nested creation tool with 25% schema coverage, it says nothing about music/voice/branding/ending semantics or credit implications.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% across 8 params (music, voice, branding, endingTitle/Subtitle, propertyCharacteristics are undescribed at the top level). The description adds no parameter meaning at all beyond 'a list of images,' so it fails to compensate for the coverage gap it should be filling.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Create a property video from a list of images.' That clearly separates it from pedra_update_video or pedra_create_virtual_tour, but no sibling is named explicitly, so the agent must infer the boundary from the verb alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'create... from a list of images,' and the blocking note helps the agent plan, but there is no explicit when-to-use, when-not-to-use, or 'use pedra_update_video for an existing video' guidance. The agent is left to infer the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.