Generates AI dance and motion videos via Seedance (ByteDance) through AceDataCloud API. Supports text-to-video, image-to-video, multiple models, configurable resolution/aspect ratio/duration, and optional audio.
How this skill is triggered — by the user, by Claude, or both
Slash command
/acedatacloud-ai-media:seedance-videoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate AI dance and motion videos through AceDataCloud's Seedance (ByteDance) API.
Generate AI dance and motion videos through AceDataCloud's Seedance (ByteDance) API.
Setup: See authentication for token setup.
curl -X POST https://api.acedata.cloud/seedance/videos \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model": "doubao-seedance-1-0-pro-250528", "content": [{"type": "text", "text": "a dancer performing contemporary ballet in a misty forest"}], "callback_url": "https://api.acedata.cloud/health"}'
Async: See async task polling. Poll via
POST /seedance/taskswith{"id": "..."}. This returns a task ID immediately. Poll for the result:
curl -X POST https://api.acedata.cloud/seedance/tasks \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "<task_id from above>"}'
| Model | Type | Best For |
|---|---|---|
doubao-seedance-1-0-pro-250528 | Text+Image-to-Video | General-purpose, reliable quality |
doubao-seedance-1-0-pro-fast-251015 | Text+Image-to-Video | Faster Pro generation |
doubao-seedance-1-5-pro-251215 | Text+Image-to-Video | Latest model, highest quality, audio support |
doubao-seedance-1-0-lite-t2v-250428 | Text-to-Video only | Lightweight text-to-video |
doubao-seedance-1-0-lite-i2v-250428 | Image-to-Video only | Lightweight image-to-video |
Pass a text content item in the content array.
POST /seedance/videos
{
"model": "doubao-seedance-1-0-pro-250528",
"content": [
{"type": "text", "text": "a street dancer doing breakdancing moves in an urban setting"}
],
"resolution": "1080p",
"ratio": "16:9",
"duration": 5
}
Include an image content item (with an optional role) alongside the text.
POST /seedance/videos
{
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{"type": "text", "text": "the person starts dancing gracefully"},
{
"type": "image_url",
"role": "first_frame",
"image_url": {"url": "https://example.com/dancer.jpg"}
}
],
"resolution": "720p",
"duration": 5
}
Image roles:
first_frame — image is used as the opening framelast_frame — image is used as the closing framereference_image — image is used as a style/content referenceProvide both a start and end frame image:
POST /seedance/videos
{
"model": "doubao-seedance-1-0-pro-250528",
"content": [
{"type": "text", "text": "smooth transition between two scenes"},
{"type": "image_url", "role": "first_frame", "image_url": {"url": "https://example.com/start.jpg"}},
{"type": "image_url", "role": "last_frame", "image_url": {"url": "https://example.com/end.jpg"}}
]
}
| Parameter | Values | Description |
|---|---|---|
model | see Models table | Model to use (required) |
content | array | Input items: text and/or image_url objects (required) |
resolution | "480p", "720p", "1080p" | Output resolution (default: 720p for pro, 480p for lite) |
ratio | "16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "adaptive" | Aspect ratio (default: 16:9) |
duration | 2 – 12 | Duration in seconds |
frames | 29–289 (must satisfy 25+4n) | Frame count — mutually exclusive with duration |
seed | -1 to 4294967295 | Seed for reproducible results (-1 = random) |
generate_audio | true / false | Generate audio (only supported by doubao-seedance-1-5-pro-251215) |
camerafixed | true / false | Fix the camera position during generation |
watermark | true / false | Add a watermark to the generated video |
return_last_frame | true / false | Return the last frame of the generated video |
service_tier | "default", "flex" | Processing tier (default: default) |
execution_expires_after | number | Task timeout threshold in seconds |
You can also embed generation parameters directly in the text prompt using the --param value syntax:
A kitten yawning at the camera. --rs 720p --rt 16:9 --dur 5 --fps 24 --seed 42
Supported inline params: --rs (resolution), --rt (ratio), --dur (duration), --frames, --fps (24 only), --seed, --cf (camera_fixed), --wm (watermark).
doubao-* convention (e.g. doubao-seedance-1-0-pro-250528) — old short names like seedance-1.0 are not validcontent array replaces the old prompt + image_url fields; always use contenttext or image_url, not bothfirst_frame, last_frame, and reference_image roles are mutually exclusive scenarios — pick one pattern per requestgenerate_audio: true is only supported by doubao-seedance-1-5-pro-251215; other models ignore this field*-lite-t2v-* only accepts text, *-lite-i2v-* only accepts image-to-video480p, 720p, 1080p — there is no 360p or 540pservice_tier values are "default" and "flex" (not "standard"/"premium")"succeeded" (not "completed") — check for this value when pollingMCP:
pip install mcp-seedance| Hosted:https://seedance.mcp.acedata.cloud/mcp| See all MCP servers
npx claudepluginhub acedatacloud/skills --plugin acedatacloud-ai-toolsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.