Skip to main content
Glama

Generate video

generate_video

Create videos from text prompts or keyframe images using Adobe Firefly, returning output URLs or an async job.

Instructions

Generate video. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waitNoWait for completion, default true. Set false to return the job immediately.
imageNoThe details of the image used as a keyframe for the generated video. Provided images are used as a first frame or final frame to guide the video generation.
seedsNoThe seed reference value. Currently only 1 seed is supported.
sizesNoThe dimensions of the generated video. Consult the [supported aspect ratios in the usage notes](https://developer.adobe.com/firefly-services/docs/firefly-api/getting-started/usage-notes/#supported-aspect-ratios) for allowed values.
promptNoThe prompt used to generate the video. The longer the prompt, the better.
confirmNoMust be true to spend Firefly Services credits for the operation the user requested.
downloadNoDownload completed media to FIREFLY_OUTPUT_DIR, default false. Requires wait=true.
bitRateFactorNoThe constant rate factor for encoding video. 0 indicates a lossless generation, with the highest quality and largest file size. 63 indicates the worst quality generation with the smallest file size. The suggested value range is 17-23.
videoSettingsNoThe camera and shot control settings.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations cover the safety profile (non-read-only, open-world, non-idempotent), and the description adds genuinely useful behavior beyond them: it consumes Firefly Services credits, returns Adobe output URLs, and supports an async job mode. It still omits that the confirm flag must be set true before credits are spent.

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?

Four short, front-loaded sentences with zero filler. The purpose, cost implication, return behavior, and async mode are all stated up front, and every sentence carries information.

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?

For a nine-parameter, nested-object, credit-spending tool with no output schema, the description covers cost and return shape but omits key operational facts: that confirm=true is required to spend credits, that download requires wait=true, and that prompt/images drive the generation. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all nine parameters in detail. The description's only parameter-related content (wait=false → async job) merely restates what the wait property description already says, adding no new meaning.

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 ('Generate video'), which cleanly separates it from image-oriented siblings like generate_image and upscale_image. It does not, however, name or distinguish itself from any specific alternative, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no routing to alternatives such as generate_similar or generative_expand. The only actionable hint ('Set wait=false to return an async job') is about a single parameter's mode, not about tool selection.

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