Skip to main content
Glama

Generate Video

generate_video

Generate Switch video across the real provider lineup (Kling, Seedance, Switch Video/WAN 2.7, Switch Video Edit, Topaz upscale) and modes (text-to-video, image-to-video, frame-to-frame, motion, omni, reference-to-video, video-edit, upscale). ALWAYS call list_video_models first to pick the right model + mode and see its required inputs. Pass one shot, or shots:[...] for a storyboard (max 4 by default, hard max 10) where EACH shot is DIFFERENT — never repeat one prompt to get copies. Renders async (~30-90s); a background job delivers each clip to your library. Returns a task_id per shot — poll get_video_status or list_my_videos.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoVideo mode. Must be supported by the chosen model (see list_video_models).
audioNoGenerate audio. ON by default on Seedance 2.5 (text, image and reference) and on Omni; set false for a silent clip. Models without audio ignore this. See list_video_models for which models generate audio and the max seconds with vs without audio.
modelNoModel id from list_video_models (e.g. kling-v3, seedance-2.0-t2v, wan-2.7-t2v, topaz). Or prefer option_id from list_video_models.
shotsNoA storyboard of 1-10 DISTINCT shots. Each item takes the same fields as a single shot (subject, model, mode, image_url, etc.).
subjectNoThe shot: subject + motion + scene (video needs motion language, e.g. "slow push-in").
durationNoClip length in seconds, or "auto" to let the model choose. Seedance 2.5 does 4-30s (auto bills the 30s cap up front and refunds the unused seconds); Seedance 2.0 does 4-15s; Switch Video (WAN) does 5/10/15; Kling/Switch Video Edit cap at 10 — see each model's durations in list_video_models.
image_urlNoRequired for image-to-video / frame-to-frame / motion. Accepts EITHER a Switch asset id (from show_media / list_my_assets / upload_media) OR a public https url. An asset id is resolved server-side, so just pass the id you have — no need to fetch a url first.
option_idNoOptional catalog id from list_video_models (e.g. "kling-image"); use instead of model+mode.
task_typeNoSeedance 2.5 reference mode only: declare what you are doing with the reference clip so the size and length rules are checked immediately instead of failing a minute in. auto = a new take from the references (default), edit = change something inside the clip, extend = continue the clip. Editing and extension inherit the source clip's size, and editing also inherits its length.
video_urlNoRequired for video-edit and upscale (the source clip). Accepts one of YOUR Switch videos — a job id from list_my_videos / get_video_status, or its download_url / view_url — or any publicly downloadable https URL. Switch resolves its own videos for you; no need to scrape a page for the file.
resolutionNoOutput resolution. Defaults to 1080p where the model supports it. 720p is cheaper and faster. 480p is the cheapest. Seedance 2.5 offers 480p, 720p and 1080p on every mode (no 2K/4K). 4K is only on Kling v3 text/image and Kling Omni; Seedance text-to-video is 720p only. Each model lists its available resolutions in list_video_models.
aspect_ratioNoe.g. 9:16, 16:9, 1:1. Must be allowed for the model (see list_video_models).
end_image_urlNoEnd frame for frame-to-frame mode.
face_reference_idsNoFace reference asset ids from upload_reference_asset (frame_type "face") — the ONLY way to use a face/likeness reference in video. Each id is verified server-side (your own untouched original + identity verification) before the shot fires or is charged; URLs and generic uploads here are rejected.
reference_audio_urlsNoSeedance reference/omni only: up to 3 reference audio files to drive synthesized audio. Requires at least one reference image or video.
reference_image_urlsNoGENERIC reference images (products, scenery, outfits, style). Each entry accepts EITHER a Switch asset id (from show_media / list_my_assets / upload_media / get_my_active_references) OR a public https url — asset ids are resolved server-side. Seedance reference/omni accepts up to 9; Kling Omni up to 7. For Seedance, at least one image or video reference is required. For a person's face/likeness use face_reference_ids instead.
reference_video_urlsNoSeedance reference/omni only: reference video clips for motion/style guidance — up to 10 on Seedance 2.5 (clips 2-30s, 30s combined), up to 3 on Seedance 2.0 (see list_video_models for each model's caps). A Seedance video ref can satisfy the required visual anchor. NOTE: the AUDIO track of these clips is IGNORED — never extracted or preserved.
character_orientationNoMotion mode only: follow the character image (default) or the reference video.
person_rights_confirmedNoRequired with video_people_declaration "person": confirms you own or are authorized to use the person's likeness in the reference video.
video_people_declarationNoRequired with reference_video_urls: "none" confirms no real person appears; "person" runs the protected pipeline (verified account, your own stored upload, Seedance 2.5/Mini lane, provider asset registration) — also pass person_rights_confirmed: true.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations indicate readOnlyHint false, so the tool is write/mutation-oriented. The description adds significant behavioral context: async execution (30-90s), background delivery to library, and returns a task_id per shot. It doesn't explicitly state it is destructive or requires specific permissions, but given the richness of the schema and narrative, it provides good transparency beyond annotations.

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 description is dense but front-loaded with the most important actions (call list_video_models, pass one shot or shots for storyboard). It is efficient, though slightly long due to coverage of many model-specific details. Every sentence adds value, but could be tightened by moving model-specific duration details to the schema.

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?

Given the tool's high complexity (20 parameters, many conditionally required, multiple model-specific behaviors), the description together with the schema is remarkably complete. It covers prerequisites, async behavior, polling, shot constraints, and essential edge cases (face reference verification, audio track ignored in reference videos). No output schema exists, but the description explains the return value (task_id per shot) adequately.

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

Parameters5/5

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

Schema description coverage is 100%, and the description enriches many parameters beyond the schema: for example, it explains that shots must be distinct, that duration has model-specific behavior (e.g., auto bills 30s cap upfront), that face_reference_ids require server-side verification, and that video_edit/upscale source can be a job id or URL. This goes well beyond what the schema provides.

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?

The description clearly states the tool generates Switch video across multiple real providers and modes. It specifies the exact providers (Kling, Seedance, etc.) and modes (text-to-video, image-to-video, etc.), distinguishing it from sibling tools which are either for analysis, style application, audio, or asset management.

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?

The description explicitly instructs the agent to call list_video_models first to pick the right model and mode. It provides clear guidance on how to construct shots (one shot or a storyboard with max 4 by default, hard max 10, each distinct) and notes async behavior with polling via get_video_status or list_my_videos. This differentiates usage from siblings and gives actionable prerequisites.

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.

TDQS

A3.5/5.0
Disambiguation2/5

Several tools occupy nearly identical semantic ground: apply_iphone_realism and apply_ugc both describe casual phone-shot looks, upload_media and upload_reference_asset both accept uploads, and analyze_video overlaps heavily with analyze_video_report. The many apply_* style tools are essentially one tool parameterized by style, so agents can easily select the wrong one.

Naming Consistency4/5

Most tools follow a clear verb_noun snake_case pattern such as generate_image, list_my_videos, get_editor_run, and upscale_video. A few outliers like voice, talking_avatar_video, and video_to_prompt do not use the same verb-first convention, but they are still readable and do not create significant confusion.

Tool Count1/5

At 55 tools, the surface is far beyond what is appropriate for an MCP server; many of these be collapsed or parameterized, especially the 10 apply_* style wrappers and several overlapping upload/status helpers. Even for a broad media platform, this scale forces a huge context window and makes selecting the right tool impractical.

Completeness2/5

The surface covers generation, media display, video analysis, and Editor workflows well, but there are obvious gaps in library lifecycle management: move_asset and create_folder are referenced in tool descriptions without being exposed, and there is no clean way to delete or reorganize media assets. Agents following the descriptions will try to call tools that do not exist.

Resources