Skip to main content
Glama

mcp-video-gen

Features

  • 7 video providers — Volcengine Ark Seedance, DashScope/Wan, Kling, SiliconFlow, Vidu, MiniMax, Google Veo (2/3/3.1)

  • Image-to-video — generate videos from reference images (Veo)

  • TTS — text-to-speech via MiniMax (+ Google Chirp 3 HD with ADC)

  • Music generation — MiniMax Music + Google Lyria (instrumental, ~33s, GCP credits)

  • Speech-to-text — transcribe audio with word-level timestamps via Google Chirp 2 (for subtitle generation)

  • Ark migration ready — Volcengine Ark Seedance is available via ARK_API_KEY / ARK_VIDEO_*

  • Provider switching — choose the best provider per request via provider parameter

  • Auto-download — generated videos/audio saved to local disk automatically

Related MCP server: imagine-mcp

Architecture

How It Works

User Prompt → AI Assistant (Claude / Cursor) → MCP Server → Provider API
                                                    ↓
                                        generate_video() → task_id
                                        query_video_status(task_id) → download to disk

All video providers use an async pattern: submit a generation request, get a task ID, then poll until complete. The MCP server handles this transparently — the AI assistant calls generate_video, then query_video_status in a loop until the video is ready.

Supported Providers

Video Providers

Provider

Model

Free Tier

Quality

Duration

Best for

Volcengine Ark Seedance

doubao-seedance-2.0

Paid video API

720p+

5-10s

Ark migration, Doubao/Seedance workflows

DashScope / Wan (通义万相)

wan2.6-t2v

50s free (90 days)

Up to 1080P

5-10s

High quality, Chinese content

Kling AI (可灵)

kling-v2-master

66 credits/day (web only)

720p

5-10s

Good quality, daily free credits

SiliconFlow (硅基流动)

Wan2.1-T2V-14B

$1 signup bonus

720p

varies

Quick testing

Vidu (生数科技)

vidu-2.0

200 promo credits

720p

4s

Short clips

MiniMax Hailuo (海螺)

Hailuo 2.3

Paid

Up to 1080P

6-10s

Highest quality

Google Veo (Vertex AI)

veo-2.0/3.0/3.1

GCP credits

720p-4K

5-8s

Production quality, GCP users

Provider selection guide

Need a video?
  ├─ Using Volcengine Ark?
  │   └─ ark ✅ (Seedance video task API)
  │
  ├─ Need highest quality?
  │   ├─ minimax (best Chinese provider, paid)
  │   └─ veo (best international, GCP credits)
  │
  ├─ Have GCP credits to spend?
  │   ├─ Budget-conscious → veo-3.0-fast ($0.15/sec, 1080p)
  │   └─ Best quality → veo-2.0 ($0.50/sec) or veo-3.0 ($0.75/sec)
  │
  └─ Need long videos (10s)?
      ├─ dashscope / kling / minimax (support 10s)
      └─ veo max 8s

Audio Providers

Provider

Capability

Model

Pricing

Env Var

MiniMax TTS

Text-to-Speech

speech-2.6-hd

~¥0.01/req

MINIMAX_API_KEY

Google TTS

Text-to-Speech

Chirp 3 HD (52 languages)

~$30/1M chars

ADC only

MiniMax Music

Music Generation (with lyrics)

music-2.0

~¥0.1/song

MINIMAX_API_KEY

Google Lyria

Instrumental Music

lyria-002 (~33s WAV)

~$0.06/clip

GCP_PROJECT_ID

Transcription

Provider

Capability

Model

Pricing

Env Var

Google STT

Speech-to-Text + timestamps

Chirp 2

~$0.016/min

GCP_PROJECT_ID

  • MiniMax tools auto-enable when MINIMAX_API_KEY is set

  • Google Lyria and STT auto-enable when GCP_PROJECT_ID is set (uses GEMINI_API_KEY)

  • Google TTS requires ADC (gcloud auth application-default login)

Quick Start

1. Clone & install

git clone https://github.com/kevinten-ai/mcp-video-gen.git
cd mcp-video-gen
uv sync              # basic deps
uv sync --extra gcp  # add this if using Google Veo

2. Configure MCP

Only configure the providers you want to use. At least one API key is required.

# Minimal Ark setup
claude mcp add -s user mcp-video-gen \
  --env ARK_API_KEY=your_key \
  --env ARK_VIDEO_MODEL=doubao-seedance-2-0-fast-260128 \
  -- uv --directory /path/to/mcp-video-gen run video-gen

# Full (all current providers including Veo)
claude mcp add -s user mcp-video-gen \
  --env ARK_API_KEY=your_key \
  --env KLING_ACCESS_KEY=your_ak \
  --env KLING_SECRET_KEY=your_sk \
  --env MINIMAX_API_KEY=your_key \
  --env GCP_PROJECT_ID=your-project-id \
  --env GEMINI_API_KEY=your_gcp_api_key \
  -- uv --directory /path/to/mcp-video-gen run --extra gcp video-gen

Important: --extra gcp must come after run, not before it. This is a uv run option, not a global uv option.

{
  "mcpServers": {
    "mcp-video-gen": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-video-gen", "run", "--extra", "gcp", "video-gen"],
      "env": {
        "ARK_API_KEY": "your_key",
        "ARK_VIDEO_MODEL": "doubao-seedance-2-0-fast-260128",
        "GCP_PROJECT_ID": "your-project-id",
        "GEMINI_API_KEY": "your_gcp_api_key"
      }
    }
  }
}

3. Use it

Ask your AI assistant to generate a video:

"Generate a video of a cat playing piano"

The assistant will call generate_video, wait, then call query_video_status to download the result.

Tools (7 total)

Video

  • generate_video — Text-to-video or image-to-video generation. Params: prompt, provider, duration (5/10), aspect_ratio (16:9/9:16/1:1), image_url (for img2vid, Ark/Veo), model (optional provider model ID).

  • query_video_status — Poll generation status and auto-download. Params: task_id, provider.

For Veo image-to-video, reference images may be local files, gs:// URIs, or public HTTP(S) URLs. Localhost, .local, and private/loopback IP-literal URLs are rejected, remote TLS certificates are verified, and reference images are limited to 20 MiB.

Audio

  • generate_speech — Text-to-speech. Params: text, provider (minimax/google-tts), voice_id, speed (0.5-2.0).

  • generate_music — AI music generation. Params: prompt, provider (minimax/google-lyria), lyrics (optional, supports [Verse]/[Chorus]/[Bridge]).

Transcription

  • transcribe_audio — Speech-to-text with word-level timestamps (Google Chirp 2). Params: audio_path, language_code (en-US/cmn-CN/ja-JP/...). Use with ffmpeg add_subtitles for full subtitle pipeline.

Utility

  • list_providers — Show all configured video, TTS, music, and STT providers, including default video models.

  • resources — Read providers://models/<provider> for a provider model catalog and supported model IDs.

API Key Registration Guide

Item

Detail

Platform

Volcengine Ark

URL

https://console.volcengine.com/ark

Pricing

Ark video generation billing; may not be covered by CodingPlan chat quota

Env Var

ARK_API_KEY or ARK_VIDEO_API_KEY

Steps:

  1. Create or reuse a Volcengine Ark API key.

  2. Set ARK_API_KEY for shared Ark credentials, or ARK_VIDEO_API_KEY if you want a video-specific key.

  3. Optional: set ARK_VIDEO_BASE_URL=https://ark.cn-beijing.volces.com/api/v3.

  4. Optional: set ARK_VIDEO_MODEL=doubao-seedance-2-0-fast-260128.

The Ark video provider calls /contents/generations/tasks. It does not use the CodingPlan chat completions endpoint.

Item

Detail

Platform

阿里云百炼 (Alibaba Bailian)

URL

https://bailian.console.aliyun.com

Free Tier

50 seconds free (valid 90 days)

Env Var

DASHSCOPE_API_KEY

Steps:

  1. Register at https://www.aliyun.com (phone/email)

  2. Go to https://bailian.console.aliyun.com → activate DashScope

  3. API-KEY 管理: https://bailian.console.aliyun.com/?apiKey=1#/api-key

  4. Click "创建 API Key" → copy (format: sk-xxxxxxxxxxxxxxxx)

Item

Detail

Platform

Kling AI Developer Platform

URL

https://klingai.com/global/dev

Free Tier

66 credits/day (web only); API requires purchased resource pack

Env Vars

KLING_ACCESS_KEY, KLING_SECRET_KEY

Steps:

  1. Sign up at https://klingai.com

  2. Developer Console: https://app.klingai.com/global/dev/document-api/quickStart/userManual

  3. Settings > API Keys → create key pair (Access Key + Secret Key)

Important: 66 daily credits are web-only, NOT for API. API requires purchasing a resource pack.

Item

Detail

Platform

SiliconFlow

URL

https://siliconflow.cn

Free Tier

$1 bonus (~3 videos at $0.29/video)

Env Var

SILICONFLOW_API_KEY

Steps:

  1. Register at https://cloud.siliconflow.cn/account/login (Chinese phone)

  2. API Keys: https://cloud.siliconflow.cn/account/ak → "新建 API Key"

  3. Copy (format: sk-xxxxxxxxxxxxxxxx)

Video download URLs expire in 10 minutes — the MCP server auto-downloads on query.

Item

Detail

Platform

Vidu Platform

URL

https://platform.vidu.com

Free Tier

Apply for 200 free API credits (promotional)

Env Var

VIDU_API_KEY

Steps:

  1. Sign up at https://www.vidu.com → API Platform: https://platform.vidu.com

  2. Create API key → copy

API credits are separate from web credits (800/month web credits don't apply to API).

Item

Detail

Platform

MiniMax Open Platform

URL

https://platform.minimaxi.com

Free Tier

None. ~¥0.7/video (512P 6s) to ~¥3.7/video (1080P 6s)

Env Vars

MINIMAX_API_KEY, MINIMAX_API_HOST (optional)

Steps:

  1. Register at https://platform.minimaxi.com (Chinese phone)

  2. Complete real-name verification (实名认证)

  3. Create API key (format: sk-api-xxxxxxxxxxxxxxxx)

  4. Top up at billing center (min ~¥10)

Setting MINIMAX_API_KEY also enables TTS and music generation tools.

Item

Detail

Platform

Google Cloud Vertex AI

URL

https://console.cloud.google.com

Free Tier

No free tier. Uses GCP credits/billing.

Env Vars

GCP_PROJECT_ID, GEMINI_API_KEY (recommended)

Prerequisites:

  1. GCP project with billing: https://console.cloud.google.com/projectcreate

  2. Enable Vertex AI API: https://console.cloud.google.com/apis/library/aiplatform.googleapis.com

  3. GCP API Key: https://console.cloud.google.com/apis/credentials

Models:

Model

Resolution

Pricing

Best for

veo-2.0-generate-001

720p

~$0.50/sec

Stable, GA

veo-3.0-generate-001

1080p

~$0.75/sec

High quality

veo-3.0-fast-generate-001

1080p

~$0.15/sec

Cost-effective

veo-3.1-generate-001

4K

~$0.75/sec

Highest quality

veo-3.1-fast-generate-001 (default)

1080p

~$0.10/sec

Best value

Auth options:

  1. GCP API Key (recommended) — set GEMINI_API_KEY=your_gcp_api_key. Simplest setup, no extra deps.

  2. OAuth2 / ADC — run gcloud auth application-default login. Requires --extra gcp for google-auth.

Optional env vars:

Variable

Default

Description

VEO_MODEL

veo-3.1-fast-generate-001

Model to use

VEO_GCS_BUCKET

GCS bucket for output (omit for base64 inline)

GCP_REGION

us-central1

Vertex AI region

GEMINI_API_KEY

GCP API key (shared with mcp-image-gen)

Environment Variables

Variable

Provider

Required

ARK_API_KEY

Volcengine Ark Seedance

At least one provider

ARK_VIDEO_API_KEY

Volcengine Ark Seedance

Optional video-specific override

ARK_VIDEO_BASE_URL

Volcengine Ark Seedance

Optional, default: https://ark.cn-beijing.volces.com/api/v3

ARK_VIDEO_MODEL

Volcengine Ark Seedance

Optional, default: doubao-seedance-2-0-fast-260128

ARK_VIDEO_RESOLUTION

Volcengine Ark Seedance

Optional, default: 720p

DEFAULT_VIDEO_PROVIDER

All providers

Optional, default prefers ark when configured

DASHSCOPE_API_KEY

Wan / DashScope (阿里)

must be configured

KLING_ACCESS_KEY

Kling AI (可灵)

KLING_SECRET_KEY

Kling AI (可灵)

SILICONFLOW_API_KEY

SiliconFlow (硅基流动)

VIDU_API_KEY

Vidu (生数)

MINIMAX_API_KEY

MiniMax (海螺 + TTS + Music)

MINIMAX_API_HOST

MiniMax

Optional, default: https://api.minimax.chat

GCP_PROJECT_ID

Google Veo

Required for Veo

GEMINI_API_KEY

Google Veo

Recommended for Veo (or use ADC)

GCP_REGION

Google Veo

Optional, default: us-central1

VEO_MODEL

Google Veo

Optional, default: veo-3.1-fast-generate-001

VEO_GCS_BUCKET

Google Veo

Optional, GCS bucket for video output

VIDEO_OUTPUT_DIR

All providers

Optional, default: ./output

Troubleshooting

Common Errors

Error

Provider

Root Cause

Solution

No providers configured

All

No API keys set

Set at least one provider's API key in MCP env config

Unknown provider: xxx

All

Typo or provider not configured

Check list_providers for available options

Still processing

All

Video not ready yet

Normal — call query_video_status again in 30 seconds

Provider-Specific Errors

Error

Provider

Solution

JWT token error

Kling

Check both KLING_ACCESS_KEY and KLING_SECRET_KEY are set

base_resp.status_code != 0

MiniMax

Check API key, ensure account has balance

Auth failed: credentials not found

Veo

Set GEMINI_API_KEY or run gcloud auth application-default login

429 quota exceeded

Veo

Vertex AI rate limit (10 RPM). Wait 1 min or switch model via VEO_MODEL

Video blocked by safety filter

Veo

Content flagged — rephrase prompt to avoid restricted content

Veo-Specific Notes

  • API Key vs ADC: GEMINI_API_KEY is the simplest auth method. Same key works for both mcp-image-gen and mcp-video-gen.

  • --extra gcp placement: Must come after run in the uv command: uv --directory /path run --extra gcp video-gen (NOT uv --directory /path --extra gcp run video-gen)

  • Base64 mode: Without VEO_GCS_BUCKET, videos are returned as base64 in the API response and decoded locally. Works well for videos under 8s.

  • Cost control: The default is veo-3.1-fast-generate-001 for lower-cost 1080p output. Override VEO_MODEL or pass model to generate_video for a specific request.

Download Issues

Issue

Solution

Auto-download failed

Video URL may have expired. SiliconFlow URLs expire in 10 min.

Video file is 0 bytes

Provider returned empty response. Retry generation.

SSL verification errors

Server disables SSL verify for downloads (some providers use self-signed certs)

Project Structure

src/video_gen/
├── __init__.py
├── server.py              # MCP server + tool handlers
├── providers/
│   ├── __init__.py        # BaseProvider abstract class + registry
│   ├── dashscope.py       # 阿里 通义万相 Wan 2.6
│   ├── kling.py           # 可灵 Kling AI (JWT auth)
│   ├── siliconflow.py     # 硅基流动 SiliconFlow
│   ├── vidu.py            # 生数 Vidu
│   ├── minimax.py         # MiniMax 海螺
│   └── veo.py             # Google Veo (Vertex AI, API key + ADC)
└── audio/
    ├── __init__.py        # BaseTTSProvider + BaseMusicProvider + registry
    ├── minimax_tts.py     # MiniMax TTS (speech-2.6-hd)
    ├── minimax_music.py   # MiniMax Music (music-2.0)
    ├── google_lyria.py    # Google Lyria 2 instrumental music (Vertex AI)
    ├── google_tts.py      # Google Cloud TTS Chirp 3 HD (ADC only)
    └── google_stt.py      # Google Cloud STT Chirp 2 (transcription)

Adding a New Provider

  1. Create src/video_gen/providers/your_provider.py

  2. Implement BaseProvider (properties: name, description, free_tier_info; methods: generate(), query())

  3. Register in server.py:_init_providers() with env var check

  4. Provider appears automatically in list_providers, providers://models/<provider>, and the generate_video tool schema

Local Development

git clone https://github.com/kevinten-ai/mcp-video-gen.git
cd mcp-video-gen
uv sync --extra gcp  # all deps including google-auth

# Run directly
uv run video-gen

# Debug with MCP Inspector
npx @modelcontextprotocol/inspector uv --directory . run --extra gcp video-gen

License

MIT — see LICENSE for details.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for Wan AI video generation

  • MCP server for Google Veo AI video generation

  • MCP server for Kling AI video generation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZenforceTaiji/MCP-AI'

If you have feedback or need assistance with the MCP directory API, please join our Discord server