Seedance video
Agent Skills for AceDataCloud AI services — music, image, video generation, web search, and more. Compatible with Claude Code, GitHub Copilot, Gemini CLI, and all agentskills.io-compatible agents.
npx -y skills add AceDataCloud/Skills --skill seedance-videoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generate AI videos with Seedance (ByteDance) via AceDataCloud API. Use when creating videos from text prompts, animating images into motion videos, or driving Seedance 2.0 multimodal generation with real-person / character image references, reference audio, and reference video. Supports multiple models with configurable resolution (up to 4k), aspect ratio, duration, and optional audio generation.
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
9.0 KB, ~2.6k tokens by cl100k_base, as published. Nobody here has run it
Seedance Video Generation
Generate AI dance and motion videos through AceDataCloud's Seedance (ByteDance) API.
Setup: See authentication for token setup.
Quick Start
curl -X POST https://api.acedata.cloud/seedance/videos \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model": "doubao-seedance-2-0-260128", "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>"}'
Models
Seedance 2.0 (current generation — multimodal reference)
The 2.0 series adds multimodal reference inputs: real-person / character image references, reference audio, and reference video (see the workflows below).
| Model | Best For | Max resolution |
|---|---|---|
doubao-seedance-2-0-260128 | Highest quality, real-person/character reference, 4k output | 4k |
doubao-seedance-2-0-fast-260128 | Faster 2.0 generation | 720p |
doubao-seedance-2-0-mini-260615 | Lightweight / most cost-effective 2.0 | 720p |
Seedance 1.x
| Model | Type | Best For |
|---|---|---|
doubao-seedance-1-5-pro-251215 | Text+Image-to-Video | 1.5 flagship, audio support |
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-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 |
Workflows
1. Text-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
}
2. Image-to-Video
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 / subject / real-person reference (Seedance 2.0 keeps the referenced person or character consistent)
Reference media (Seedance 2.0 only):
audio_url— reference audio for voice timbre / background music (norole)video_url— reference video for subject, camera movement, motion or overall style (norole)
3. First-frame + Last-frame
Provide both a start and end frame image:
POST /seedance/videos
{
"model": "doubao-seedance-2-0-260128",
"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"}}
]
}
4. Real-person / character reference (Seedance 2.0)
Seedance 2.0 models (doubao-seedance-2-0-260128, doubao-seedance-2-0-fast-260128, doubao-seedance-2-0-mini-260615) can keep a specific person or character consistent across a brand-new scene. Pass one or more photos as image_url items with role: "reference_image" — the model preserves that subject's appearance. Up to 9 reference images are accepted.
POST /seedance/videos
{
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "the same person walking through a neon-lit night market, cinematic"},
{"type": "image_url", "role": "reference_image", "image_url": {"url": "https://example.com/person.jpg"}}
],
"resolution": "1080p",
"duration": 8
}
5. Reference audio / video (Seedance 2.0)
2.0 models also accept reference audio (voice timbre, background music) and reference video (subject content, camera movement, motion, overall style). Add audio_url and/or video_url content items. Limits: up to 3 audio and 3 video references per request.
POST /seedance/videos
{
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "a singer performing on stage, matching the reference voice and motion"},
{"type": "image_url", "role": "reference_image", "image_url": {"url": "https://example.com/person.jpg"}},
{"type": "audio_url", "audio_url": {"url": "https://example.com/voice.mp3"}},
{"type": "video_url", "video_url": {"url": "https://example.com/motion.mp4"}}
],
"generate_audio": true
}
Parameters
| Parameter | Values | Description |
|---|---|---|
model | see Models table | Model to use (required) |
content | array | Input items: text, image_url, audio_url (2.0), video_url (2.0) (required) |
resolution | "480p", "720p", "1080p", "4k" | Output resolution. 4k is doubao-seedance-2-0-260128 (standard) only; 2-0-fast / 2-0-mini max out at 720p (default: 720p for pro/2.0, 480p for lite) |
ratio | "16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "adaptive" | Aspect ratio (default: 16:9) |
duration | 2 – 15 | Duration in seconds (Seedance 2.0 supports 4–15) |
frames | 29–361 (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 (supported by doubao-seedance-1-5-pro-251215 and the doubao-seedance-2-0 series; other models ignore it) |
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 |
execution_expires_after | number | Task timeout threshold in seconds |
Inline Parameter Syntax
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).
Gotchas
- Model names use the
doubao-*convention (e.g.doubao-seedance-1-0-pro-250528) — old short names likeseedance-1.0are not valid - The
contentarray replaces the oldprompt+image_urlfields; always usecontent - Image and text scenarios are mutually exclusive per content item — each item has either
textorimage_url, not both first_frameandlast_framemay be combined in one request, butreference_imageis mutually exclusive withfirst_frame/last_frame— do not mix a reference image with first/last framesgenerate_audio: trueis supported bydoubao-seedance-1-5-pro-251215and thedoubao-seedance-2-0series; other models ignore this field- Lite models are split:
*-lite-t2v-*only accepts text,*-lite-i2v-*only accepts image-to-video audio_urlandvideo_urlreference items are used by the Seedance 2.0 series only- Resolution options are
480p,720p,1080p, and4k(4kisdoubao-seedance-2-0-260128only;2-0-fast/2-0-minimax out at720p) — there is no 360p or 540p - Duration range is 2–15 seconds (Seedance 2.0 supports 4–15) — values outside this range will fail
- Task states use
"succeeded"(not "completed") — check for this value when polling
MCP:
pip install mcp-seedance| Hosted:https://seedance.mcp.acedata.cloud/mcp| See all MCP servers