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

{ jobId, status, video?: { url } } — poll via `studio_job_status`. Final response includes `creditsRemaining`.

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.

MCPcurlTypeScript

{
  "name": "studio_generate_video",
  "arguments": {
    "prompt": "<prompt>"
  }
}

Parameters

Name Type Default Description
prompt string — Text prompt.
model string "fal-ai/kling-video/v2.5-turbo/pro/text-to-video" Provider/model id. Pro variants can take 3–5 min — prefer non-pro for fast iteration.
image_url string — Optional starting frame for image-to-video. Must be a real URL; HEAD preflight rejects fabrications.
duration number 5 Clip length in seconds (model-dependent ceiling).
aspect_ratio "16:9" "16:9" Target aspect ratio.

Examples

Image-to-video

{
  "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
  }
}

Performance