Danceo MCP: Create AI Dance Videos from Your Tools
Connect an AI assistant to Danceo with MCP. Check credits, browse official dance references, create a video from a portrait, and track its render.
Last updated: 2026-11-12
Danceo's Model Context Protocol (MCP) server lets a compatible assistant work with your Danceo account. It can show the available reference templates, check your credit balance, start an AI dance video, and check the render until the result is ready. The server uses Danceo's REST API and the API key you create for your account.
What the server can do
The server exposes four tools. list_dance_templates returns Danceo reference clips supported by the API, along with their IDs, durations, and photo counts. get_credits checks the balance attached to your key. create_dance_video starts an asynchronous render from one or more publicly reachable portrait image URLs and a reference template ID. get_video_status checks that job and returns the video URL or a failure message.
MCP video creation currently uses Danceo's listed reference templates. The API does not accept an arbitrary reference video URL or upload files directly. Choose an output duration that is no longer than the selected reference. A person or dog uses one portrait; cat templates specify the required number of photos. Danceo validates the inputs, calculates the credit cost, reserves credits, and processes the render. The MCP tool returns a job ID immediately, so the assistant can continue by polling its status.
Create an API key
Sign in to Danceo and open API key settings. Create a key for the MCP client and copy it into your client configuration. Treat it like a password: anyone with the key can use your account's API access. You can remove a key from settings if it is lost or no longer needed. The key is sent to Danceo in an Authorization header and is not written to the MCP server's logs.
The available credit balance depends on your account. Check it with get_credits before requesting a render. The current API quote is 80 credits per requested output second; ask the user to confirm a paid render unless they have already clearly authorized one. Danceo returns the final cost with the created job. See Danceo pricing for the current ways to add credits.
Configure an MCP client
Install the public danceo-video-mcp package from npm with npx -y danceo-video-mcp. Then add this server to the MCP client's configuration and replace the placeholder with your key:
{
"mcpServers": {
"danceo": {
"command": "npx",
"args": ["-y", "danceo-video-mcp"],
"env": {
"DANCEO_API_KEY": "<your-api-key>"
}
}
}
}
The server uses https://danceo.ai by default. For a different deployment, set DANCEO_API_URL to its HTTPS origin. Keep the API key in the client's environment configuration; do not paste it into a prompt or commit it to a repository.
Example workflow
You can ask an assistant: “Use my portrait at this HTTPS URL and the Blue-Top Hand Choreography reference to make a 10-second dance video.” The assistant should first list the templates and check your balance. It then selects the matching returned template ID and starts the task with the portrait URL and requested duration. The render response includes a job ID and cost. The assistant can use that ID with get_video_status until the job succeeds or fails, then return the resulting video URL.
Use only images and likenesses you have permission to transform. Review the finished video before sharing it, and follow applicable privacy, copyright, and platform rules. If the assistant reports an invalid API key, create a new one in API key settings. If the account does not have enough credits, check the balance and review pricing.
Companion skill
The ai-dance-video skill explains when to use the MCP tools, how to choose a reference and duration, and how to handle asynchronous jobs. Read or download the skill. The skill is also included in the npm package at skills/ai-dance-video/SKILL.md. It uses the same API key and input limits as the MCP server.
REST API
The same account operations are available to integrations over HTTPS. Send Authorization: Bearer <API_KEY> to GET /api/v1/credits, GET /api/v1/templates, POST /api/v1/videos, or GET /api/v1/videos/{job_id}. Video creation accepts portraitUrls, templateId, subjectType, and outputDuration. The template ID must come from the templates response.
curl -X POST https://danceo.ai/api/v1/videos -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json" -d '{"portraitUrls":["https://example.com/portrait.jpg"],"templateId":"<template-id-from-list>","subjectType":"person","outputDuration":10}'
The response includes job_id, costCredits, and the processing status. Check it with GET /api/v1/videos/{job_id}. Generation and status requests have a best-effort two-second minimum interval per account and client IP; if the API returns HTTP 429, wait for the Retry-After interval. See the package README for a compact client configuration.