@enhancor/mcp-seedance2
v0.4.0
Published
MCP server for the Enhancor Seedance 2.0 video generation API — UGC ads, lip-sync, multi-frame, first/last-frame, and text-to-video for Claude and any MCP client.
Downloads
416
Maintainers
Readme
@enhancor/mcp-seedance2
Official MCP server for the Enhancor Seedance 2.0 video generation API.
Plug Enhancor into Claude (or any MCP-compatible client) and let the model generate UGC ads, multi-reference scenes, multi-frame sequences, lip-syncs, first/last-frame interpolations, and text-to-video — natively. No middleware, no glue code.
What's in the box
Four tools, mapping 1:1 to the Seedance 2.0 API:
| Tool | What it does |
| --- | --- |
| seedance_submit_job | Submit a generation job. Returns a requestId immediately. |
| seedance_check_status | Poll a single job's status. Returns the result URL when COMPLETED. |
| seedance_list_generations | List every generation ever created by your API key. |
| seedance_submit_and_wait | Submit and wait for completion in one call. Blocks for up to 15 min. Returns the result URL. Use this in 95% of cases. |
All tools accept the standard Seedance 2.0 parameters (type, mode, prompt, duration, resolution, aspect_ratio, full_access, fast_mode, images, videos, audios, products, influencers, multi_frame_prompts, first/last_frame_image, lipsyncing_audio). The MCP does not expose webhook_url — it manages that internally (see How it works below).
Install
Requires Node.js 18+.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"enhancor-seedance2": {
"command": "npx",
"args": ["-y", "@enhancor/mcp-seedance2"],
"env": {
"ENHANCOR_API_KEY": "sk_your_key_here"
}
}
}
}Restart Claude Desktop.
Claude Code
claude mcp add enhancor-seedance2 \
--env ENHANCOR_API_KEY=sk_your_key_here \
-- npx -y @enhancor/mcp-seedance2Cursor, Cline, Continue, or any MCP client
Point it at npx -y @enhancor/mcp-seedance2 as the command, set ENHANCOR_API_KEY in env.
Getting an API key
- Sign up at https://app.enhancor.ai/api-dashboard
- Create an API key
- Per-product pricing lives inline in each product's docs on the dashboard. The actual per-job cost also comes back in every
/statusresponse — nothing to hardcode.
Example prompts
Once installed, ask Claude things like:
Use this product image [URL] and this influencer [URL] to make a 9:16 UGC ad where she holds the product and says "Have you tried this yet?"
Take this still [URL] and turn it into a 5-second cinematic zoom-in.
Generate a text-to-video shot of a drone flying over a mountain range at golden hour.
Claude will pick the right tool, fill the params, call Enhancor, and return the output video URL.
Pricing
Seedance 2 bills per second:
total_cost = rate_per_second × (input_seconds + output_seconds)Commercial rates:
| Model | Type | Resolution | Rate | | --- | --- | --- | --- | | Seedance 2 | No video input | 480p | $0.089/s | | Seedance 2 | No video input | 720p | $0.189/s | | Seedance 2 | No video input | 1080p | $0.428/s | | Seedance 2 | With video input | 480p | $0.052/s | | Seedance 2 | With video input | 720p | $0.115/s | | Seedance 2 | With video input | 1080p | $0.290/s | | Seedance 2 Fast | No video input | 480p | $0.073/s | | Seedance 2 Fast | No video input | 720p | $0.155/s | | Seedance 2 Fast | With video input | 480p | $0.042/s | | Seedance 2 Fast | With video input | 720p | $0.095/s |
Live per-plan pricing and credit balance: https://app.enhancor.ai/api-dashboard
Configuration
| Environment variable | Required | Default | Notes |
| --- | --- | --- | --- |
| ENHANCOR_API_KEY | yes | — | Your Enhancor API key |
| NGROK_AUTHTOKEN | no | — | If set, the MCP uses ngrok (free tier is fine) for the webhook tunnel instead of localtunnel. More reliable for production. Get a token at https://dashboard.ngrok.com/get-started/your-authtoken |
| ENHANCOR_BASE_URL | no | https://apireq.enhancor.ai/api/enhancor-ugc-full-access/v1 | Override for staging / self-host |
How it works
The Seedance 2.0 API delivers results via webhook. Since an MCP server runs locally on the user's machine with no public URL, this package does the webhook setup for you:
- On the first tool call, it spins up a local HTTP listener on a random loopback port.
- It exposes that listener publicly: ngrok if
NGROK_AUTHTOKENis set, otherwiselocaltunnel(no signup needed). - Every
/queuerequest sends that public URL aswebhook_urlautomatically. seedance_submit_and_waitraces the webhook against a 15-second/statuspoll — whichever reports completion first wins. That means you always get your result, even if the tunnel is flaky or a webhook is delayed for a particular request.
No configuration is required. The tunnel lifecycle is transparent. For best webhook latency and reliability (e.g. in production or long-running sessions), set NGROK_AUTHTOKEN — ngrok's free tier is sufficient.
Support & community
https://www.skool.com/publicai
License
MIT
