π¦ ClawHub
AI Dance Video Generator
by @wondershare-boop
Generate AI dance videos where characters move to music or choreography templates using Media.io OpenAPI. Creates dynamic, rhythmic dance animations. AI danc...
TERMINAL
clawhub install mediaio-ai-dance-video-generatorπ About This Skill
name: mediaio-ai-dance-video-generator description: Generate AI dance videos where characters move to music or choreography templates using Media.io OpenAPI. Creates dynamic, rhythmic dance animations. AI dance video, dance generator AI, AI dancing video. metadata: {"openclaw": {"homepage": "https://platform.media.io/docs/", "requires": {"bins": ["curl"], "env": ["MEDIAIO_API_KEY"]}, "primaryEnv": "MEDIAIO_API_KEY"}}
Media.io AI Dance Video Generator Skill
Overview
This skill calls Media.io OpenAPI to run dance video generation using model codeeffects-video-babydance.
The API is asynchronous:
1. Submit generation request and get task_id.
2. Poll task result endpoint until the task is finished.When To Use
When Not To Use
Requirements
Environment Variables
| Variable | Required | Description | |---|---|---| |MEDIAIO_API_KEY | Yes | Media.io OpenAPI key, used in header X-API-KEY. |Base Headers
Content-Type: application/jsonX-API-KEY: $MEDIAIO_API_KEYSupported Endpoints
1) Query Credits
POSThttps://openapi.media.io/user/credits{}2) Create Dance Video Task
POSThttps://openapi.media.io/generation/effects/effects-video-babydance{
"data": {
"image": "https://example.com/portrait.jpg",
"video": "https://example.com/dance.mp4"
}
}
data.image (string URL)
- data.video (string URL)3) Query Task Result
POSThttps://openapi.media.io/generation/result/{task_id}{}task_id (string, required)Request and Response Contract
Common Success Envelope
{
"code": 0,
"msg": "",
"data": {},
"trace_id": "..."
}
Create Task Response
data.task_id is returned.Task Result Response
data.status can be one of the following values:waiting: queued
- processing: running
- completed: completed successfully
- failed: failed
- timeout: timed out
data.reason: provides additional context (e.g., success or error message)completed:data.result is an array of output objects with generated URLs
- Each result object contains val (internal path), preview (public HTTPS URL), and status (completion status)Standard Invocation Flow
1. Calluser/credits to verify balance.
2. Call effects-video-babydance with data.image and data.video.
3. Extract task_id.
4. Poll generation/result/{task_id} every 3 to 5 seconds.
5. Stop when status is completed or failed.
6. Return output URLs from data.result when completed.cURL Examples
Query Credits
curl --request POST \
--url https://openapi.media.io/user/credits \
--header 'Content-Type: application/json' \
--header "X-API-KEY: $MEDIAIO_API_KEY" \
--data '{}'
Create Dance Video Task
curl --request POST \
--url https://openapi.media.io/generation/effects/effects-video-babydance \
--header 'Content-Type: application/json' \
--header "X-API-KEY: $MEDIAIO_API_KEY" \
--data '{
"data": {
"image": "https://example.com/portrait.jpg",
"video": "https://example.com/dance.mp4"
}
}'
Query Task Result
curl --request POST \
--url https://openapi.media.io/generation/result/ \
--header 'Content-Type: application/json' \
--header "X-API-KEY: $MEDIAIO_API_KEY" \
--data '{}'
#### Successful Response Example
{
"code": 0,
"msg": "",
"data": {
"task_id": "effect-3dbdb8ca-1f5e-4b1c-9c08-43a4a9bb8e2b",
"status": "completed",
"reason": "success",
"result": [
{
"val": "aicloudtmp/550160908/3/202603/1/combo_tm_alg-20260317165022-802800-60eb3-dwt.mp4",
"preview": "https://url_to_generated_image.png",
"status": "completed"
}
]
},
"trace_id": "d63f54745ea24238bc6be4e6fe3d4937"
}
Response fields when status is completed:
data.task_id: unique task identifierdata.status: completed indicates successful completiondata.reason: success indicates no error occurreddata.result: array of output objects, each containing:val: internal file path of the generated asset
- preview: publicly accessible HTTPS URL for the generated asset
- status: completed for each result itemError Handling Guidance
code != 0 as failure.374004: not authenticated. Apply for an APP KEY at https://developer.media.io/.
490000: params error
490505: insufficient credits. Recharge before invoking generation APIs.
trace_id in logs for troubleshooting.Agent Behavior Requirements
image and video URLs before calling the create endpoint.task_id.