x402 Video — AI Video Generation (pay-per-call, no account)
io.github.x402-video/seedance-video-generation
Documentation
x402-video MCP server
Give any MCP-capable agent (Claude Code, Claude Desktop, Cursor, ...) the ability to generate AI videos and pay per call — USDC on Base over the x402 protocol. No accounts, no API keys, no credit cards.
quote_price → generate_video (pays exact USDC quote, gasless) → get_job → video_url
Backed by x402video.com: ~$0.45 for a 5s 720p clip, custom 4–15s up to 1080p with optional audio ($0.13–$4.62). Prompts are screened before payment — rejected requests are never charged.
Tools
| Tool | Cost | What |
|---|---|---|
list_skus | free | Live catalog + current USD prices |
get_stats | free | Public reliability stats (success rate, p50 generation time) |
quote_price | free | Exact USDC quote for a request, without paying |
generate_video | paid | Quote → spend-guard check → pay → job_id |
get_job | free | Poll status; returns video_url on success (24h link) |
Setup
You need a dedicated spending wallet with a few USDC on Base (8453). Never use your main wallet — see the 5-minute getting-started guide.
Claude Code
claude mcp add x402-video \
--env BUYER_PRIVATE_KEY=0xYOUR_SPENDING_WALLET_KEY \
-- npx -y x402-video-mcp
Claude Desktop / Cursor (JSON)
{
"mcpServers": {
"x402-video": {
"command": "npx",
"args": ["-y", "x402-video-mcp"],
"env": {
"BUYER_PRIVATE_KEY": "0xYOUR_SPENDING_WALLET_KEY"
}
}
}
}
Without BUYER_PRIVATE_KEY the free tools (catalog, quotes, job polling) still work;
only generate_video requires the wallet.
Environment variables
| Var | Default | |
|---|---|---|
BUYER_PRIVATE_KEY | — | Spending wallet key (USDC on Base). Required only for generate_video. |
MAX_USD_PER_CALL | 5 | Hard spend guard — generate_video refuses quotes above this. |
GATEWAY_URL | https://api.x402video.com | Point at another gateway instance. |
How payment works
- The tool POSTs your request unpaid; the gateway answers
HTTP 402with the exact USDC amount for that request (a free quote). - If the quote is within
MAX_USD_PER_CALL, the request is retried with an x402 payment header — an EIP-3009 signature, so the buyer pays no gas. - You get a
job_id; generation takes ~2 minutes (p50). Pollget_job, downloadvideo_urlwithin 24h.
Develop
npm install
npm run build
BUYER_PRIVATE_KEY=0x... node dist/index.js # speaks MCP over stdio
Content policy
Hard red lines (rejected pre-payment, never charged): content involving minors, real-person likeness/deepfakes. Sexually explicit content and graphic violence are rejected.
MIT. Independent gateway — not affiliated with or endorsed by model vendors.
