Skip to main content
Glama

generate_video_from_image

Generate a video that starts from a given image (i2v — image-to-video).

start_image_base64: raw base64-encoded image bytes, no data: URI prefix.
Mutually exclusive with reference-image (r2v) generation.

For "make content that looks like this real photo of a person" specifically,
prefer generate_video_with_reference (r2v) over this — see its docstring for why.
i2v is better suited to "continue visually from this exact frame" (e.g. chaining
clips), not identity preservation across a whole new scene.

beats: how many DISTINCT action phases the prompt describes — "ears flick back",
"tail lashes", "strikes the ball", "ball flies off" are four. Give it and the server
picks the clip length for you (about two phases per second) and says in the reply what
it picked and why. Measured 31.08.2026: the model STRETCHES whatever you describe over
whatever length you ask for, so one phase in four seconds comes out as slow motion, and
the same text at six seconds instead of four loses 15% of its movement. Adjectives are
not phases. Leave beats out and the length you passed is used unchanged.

project_id: put the clip into a project made with create_project instead of the
account's default one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
beatsNo
aspectNoVIDEO_ASPECT_RATIO_LANDSCAPE
promptYes
project_idNo
include_previewNo
video_model_keyNoabra_i2v_4s
start_image_base64Yes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations are minimal (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the description carries the burden of behavioral disclosure. It delivers substantial behavior: mutual exclusivity with r2v, server-selected clip length when beats is supplied, the model's stretching behavior with a measured timing consequence, and what happens when beats is omitted. No contradiction with annotations.

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?

The description is front-loaded with a one-sentence purpose, then organized into parameter-focused paragraphs. The beats paragraph is dense but earns its length by explaining a subtle and important behavior. Every sentence adds useful information; there is no filler or redundancy.

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

Completeness4/5

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

Given the tool's input-side complexity, the description covers the core invocation concerns thoroughly: image format, beats semantics, alternative routing, and project scoping. The main gap is that there is no output schema and the description does not describe the general return shape beyond noting that the reply states the beat-based length choice. For a generation tool, that is a meaningful but not crippling omission.

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

Parameters4/5

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

Schema has 0% description coverage, and the description compensates for the three non-obvious parameters: start_image_base64 (raw bytes, no data URI prefix), beats (phase-count semantics with concrete examples), and project_id (target project). It does not document aspect, include_preview, prompt, or video_model_key, though their enums/defaults reduce ambiguity. Strong but partial compensation.

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

Purpose5/5

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

Description opens with a specific verb and resource: 'Generate a video that starts from a given image (i2v — image-to-video).' It explicitly labels the mode and distinguishes it from the sibling generate_video_with_reference by naming the alternative and the use-case split. An agent can tell this tool apart from its siblings immediately.

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

Usage Guidelines5/5

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

Gives direct routing guidance: prefer generate_video_with_reference for 'make content that looks like this real photo of a person,' and use i2v for 'continue visually from this exact frame (e.g. chaining clips).' It also states that start_image_base64 is mutually exclusive with reference-image generation. This is explicit when-to-use and when-not-to-use guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.