generationstablevideotextreferenceasync
Generate video
studio_generate_videoText-to-video and image-to-video generation across the WM Studio video model catalogue.
Overview
Creates a video clip from a text prompt and/or starting image. Routes to the correct provider for the requested model (Sora 2 Pro, Kling 2.5 Turbo Pro, Wan, Minimax, …). Always asynchronous — returns a job_id immediately; poll for completion.
Auth
oauth-jwt
Returns
{ job_id, status: "queued" | "running" | "completed" | "failed", video?: { url, duration_seconds } }
Web client
src/app/[locale]/dashboard/creative-studio/videos/videos-page-client.tsx
MCP handler
mcp-director/src/tools/studio.py
Quick start
Invoke the tool over Streamable HTTP at {MCP_BASE_URL}/mcp/. The request below assumes you already minted an MCP JWT via the OAuth flow.
{
"name": "studio_generate_video",
"arguments": {
"prompt": "<prompt>"
}
}Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| promptrequired | string | — | Text prompt. |
| model | string | "fal-ai/kling-video/v2.5-turbo/pro/text-to-video" | Provider/model id. |
| image_url | string | — | Optional starting frame for image-to-video. |
| duration_seconds | number | 5 | Clip length (model-dependent ceiling). |
| aspect_ratio | "16:9" | "9:16" | "1:1" | "16:9" | Target aspect ratio. |
| seed | number | — | Optional deterministic seed. |
Examples
Image-to-video
json
{
"name": "studio_generate_video",
"arguments": {
"prompt": "slow dolly-in, golden hour reflection on the ceramic mug",
"model": "fal-ai/kling-video/v2.5-turbo/pro/image-to-video",
"image_url": "https://cdn.wm.studio/uploads/mug.png",
"duration_seconds": 5
}
}