Skip to main content
Glama

Generate a video (any model)

generate_video

Create UGC videos from text, images, references, or audio for lip-sync and talking avatars, with optional brand grounding and job polling.

Instructions

Generate a video with any model on the EzUGC dashboard. Call list_video_models for model ids and each model's requiredInputs. Supports text-to-video, image-to-video (pass imageUrls: a start frame and optional end frame), reference inputs on models that accept them (Seedance 2.0 / 2.5 and MiniMax H3: referenceImageUrls, referenceVideoUrls, referenceAudioUrls), and lip-sync / talking avatars from your own voice track: OmniHuman 1.5 and Kling Avatar 2.0 Pro take audioUrl plus one image in imageUrls, Kling Lip Sync takes audioUrl plus sourceVideoUrl; the clip is as long as the audio. Frames and references cannot be combined. Seedance models count against the plan's separate Seedance allowance. Optionally ground it in a saved brand. Defaults to waiting for the result; set wait=false to return a job id to poll with get_job.

Input Schema

NameRequiredDescriptionDefault
waitNoWait for completion (default true).
modelNoModel id from list_video_models. Omit to use the default model.
promptNoText prompt describing the video.
brandIdNoID of a saved brand workspace (from list_brands).
audioUrlNoPublic https voice track (MP3, WAV or M4A) for lip-sync and talking-avatar models (OmniHuman 1.5, Kling Avatar 2.0 Pro, Kling Lip Sync). The clip is as long as this audio.
durationNoClip duration in seconds (snapped to the model's options).
brandSlugNoSlug of a saved brand workspace.
imageUrlsNoPublic https image URLs for image-to-video. First image is the start frame.
resolutionNoExplicit resolution like '1280x720'. Optional.
aspectRatioNo
generateAudioNo
negativePromptNoWhat to keep out of the video.
sourceVideoUrlNoPublic https video whose speaker is lip-synced to audioUrl (Kling Lip Sync only).
useDefaultBrandNoUse the user's most recently ready saved brand automatically. Great for 'create a video for my brand'.
referenceAudioUrlsNoPublic https audio track to use as the soundtrack. Needs at least one reference image or video, except on Seedance 2.5.
referenceImageUrlsNoPublic https reference images (character, product, scene). Only for models that accept references; cannot be combined with imageUrls.
referenceVideoUrlsNoPublic https reference videos (motion, style). Only for models that accept them; cannot be combined with imageUrls.

Output Schema

NameRequiredDescriptionDefault
jobNo
errorNo
resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations (which only say this is non-read-only, non-destructive, non-open-world), the description discloses the blocking default (waits for result), the async escape hatch via wait=false and get_job, a billing caveat (Seedance models consume a separate allowance), mutual-exclusion constraints, and that lip-sync clip length is dictated by the audio. These are exactly the behavioral traits an agent cannot infer from structured fields.

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

Conciseness4/5

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

The mode enumeration is front-loaded and each clause carries information an agent needs (model families, parameter pairings, quota note, wait behavior). The sentences are long and densely packed, which makes the middle harder to scan than it needs to be given 17 parameters.

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

Completeness5/5

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

For a 17-parameter, zero-required-parameter tool with strong output schema and 88% schema coverage, the description supplies the missing model-selection logic, the required-inputs handoff to list_video_models, and the per-mode parameter contracts. An agent can compose a valid call for each supported mode from this text alone.

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 coverage is already 88%, so the baseline is 3, but the description adds real cross-parameter semantics: first entry of imageUrls is the start frame with an optional end frame, audioUrl pairs with one image for OmniHuman/Kling Avatar or with sourceVideoUrl for Kling Lip Sync, and reference* arrays are model-gated and mutually exclusive with imageUrls. A few params (generateAudio, aspectRatio) are not addressed in the description, so it falls short of 5.

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?

The description states a concrete verb+resource ("Generate a video with any model on the EzUGC dashboard") and enumerates the distinct generation modes it covers (text-to-video, image-to-video, references, lip-sync). It does not differentiate itself from sibling tools generate_ugc_video and generate_brand_video, even though its 'optionally ground it in a saved brand' capability clearly overlaps with the latter.

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

Usage Guidelines4/5

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

It gives clear operating instructions: call list_video_models for model ids and requiredInputs, use wait=false plus get_job for async polling, and which parameter combination each mode requires. It also states an exclusion (frames and references cannot be combined). What is missing is routing guidance against the sibling video-generation tools that appear to do similar work.

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