Generate videos using the Volcengine Doubao Seedance 2.0 model series.
Design & media
Ark Seedance Video
Try itEnd-to-end Volcengine Ark Seedance video generation using ARK_API_KEY and the bundled Node.js runner. Use when an agent needs to generate videos, handle text...
What it does
End-to-end Volcengine Ark Seedance video generation using ARK_API_KEY and the bundled Node.js runner. Use when an agent needs to generate videos, handle text...
The skill document
Ark Seedance Video Generation
Use this skill as an execution skill for tool-using agents. The agent should run the existing script directly and complete the workflow for the user.
Core Rules
- Use only
scripts/seedance-video.jsfor live execution. - Do not write another script, wrapper, or replacement implementation.
- Use
ARK_API_KEYonly. Do not use AK/SK. - The script must receive an explicit model through
--modelor payload JSON. - Restrict model choice at the skill layer to:
doubao-seedance-1-0-pro-250528doubao-seedance-2-0-260128
- Default model at the SOP layer:
doubao-seedance-1-0-pro-250528 - For local image, video, or audio inputs, explicitly tell the user the files will be uploaded to Volcengine Ark before execution.
- Save
request.jsonin sanitized form only. Do not persist raw Base64 media data.
Required Start
For every new generation request, the first model-facing message must:
- List these two model IDs:
doubao-seedance-1-0-pro-250528doubao-seedance-2-0-260128
- Require the user to choose one before generation starts.
If the user already named one of the two approved IDs, use it and continue.
Workflow
1. Intake
Determine:
- Generation mode: text-to-video, image-to-video, video-conditioned, audio-assisted, draft-task reuse, or task management
- Whether inputs are local files or remote URLs
- Whether the user asked for ratio, duration, resolution, seed, watermark, callback, or last-frame output
- Whether the request is a new generation, inspection, re-download, list, or deletion
2. Model Gate
- If the user already selected one of the two approved models, use it.
- If not, stop and ask them to choose one after listing the two approved IDs.
- Do not start generation, task creation, or payload submission until a model is chosen.
- Always pass the selected model explicitly through
--modelor payload JSON.
3. Auth Check
- Require
ARK_API_KEY - If missing, stop and tell the user exactly that
ARK_API_KEYis required
4. Local Media Disclosure
If the request uses --image-file, --video-file, or --audio-file:
- Tell the user those files will be sent to Volcengine Ark
- If they object, stop before execution
5. Output Location
Prefer a workspace-local structure:
./outputs/seedance//request.json./outputs/seedance//task.json./outputs/seedance//
6. Command Choice
Use the existing script surface only:
runfor normal generationcreateorcreate --wait trueonly when the lifecycle requires itgetfor inspect or re-downloadlistfor browsing tasksdeletefor deletiondownloadwhen assets are needed from an existingtask.json
7. Flag Mapping
Map user inputs to:
--model--prompt--image-file/--image-url--video-file/--video-url--audio-file/--audio-url--draft-task-id--resolution--ratio--duration--frames--seed--camera-fixed--watermark--return-last-frame--callback-url--download-dir
If the request needs unsupported advanced fields, write a JSON payload file and pass it through --payload-file.
8. Verify
After execution, verify what applies:
- final task status is
succeeded task.jsonexistsrequest.jsonexists and is sanitized- output assets were downloaded
- last-frame asset exists when requested
9. Report
Return:
- requested task summary
- selected model ID
- command path used
- task ID when available
- output directory
- whether downloads completed
- relevant warnings or failures
Command Patterns
Use these as execution patterns:
node "./scripts/seedance-video.js" --model "" --prompt "" --download-dir "./outputs/seedance/run-001"
node "./scripts/seedance-video.js" --model "" --image-file "./inputs/source.png" --prompt "" --return-last-frame true --download-dir "./outputs/seedance/image-to-video"
node "./scripts/seedance-video.js" create --model "" --prompt "" --wait true --download-dir "./outputs/seedance/create-wait"
node "./scripts/seedance-video.js" get --task-id "cgt-xxxx" --download-dir "./outputs/seedance/rerun-download"
node "./scripts/seedance-video.js" --payload-file "./inputs/seedance-payload.json" --download-dir "./outputs/seedance/raw-payload"
References
Read only when needed:
references/ark-video-api.mdreferences/video-models.jsonreferences/video-models.mdreferences/payload-patterns.md
Related skills
Production-ready Volcengine/ARK video generation for prompt-to-video, image-to-video, and draft-video refinement. Use when users want a hands-on skill that c...
Guide staged text-to-video generation from a rough user idea to ranked video type options, parameter tuning, prompt preview, and final Volcengine Ark video g...
Practical image generation workflow for Volcengine/ARK-compatible APIs. Use when users need poster creation, text-to-image, reference-image generation, local...
Build and execute skills.video video generation REST requests from OpenAPI specs. Use when user needs to create, debug, or document video generation calls on...
Generate AI videos via GoAI API. Use when the user asks to create, generate, render, or make videos, animations, clips, shorts, or motion content, including...