Skip to main content

Seedance CLI

PyPI version PyPI downloads Python 3.10+ License: MIT CI

A command-line tool for AI video generation using Seedance through the AceDataCloud API.

Generate AI videos directly from your terminal — no MCP client required.

Features

  • Video Generation — Generate videos from text prompts with multiple models
  • Image-to-Video — Create videos from reference images
  • Multiple Models — Seedance 2.0 series (doubao-seedance-2-5-260628, doubao-seedance-2-0-fast-260128, doubao-seedance-2-0-mini-260615) plus doubao-seedance-1-5-pro-251215, doubao-seedance-1-0-pro-250528, doubao-seedance-1-0-pro-fast-251015, doubao-seedance-1-0-lite-t2v-250428, doubao-seedance-1-0-lite-i2v-250428
  • Task Management — Query tasks, batch query, wait with polling
  • Rich Output — Beautiful terminal tables and panels via Rich
  • JSON Mode — Machine-readable output with --json for piping

Quick Start

1. Get API Token

Get your API token from AceDataCloud Platform:

  1. Sign up or log in
  2. Navigate to the Seedance API page
  3. Click "Acquire" to get your token

2. Install

# Install with pip
pip install seedance-cli

# Or with uv (recommended)
uv pip install seedance-cli

# Or from source
git clone https://github.com/AceDataCloud/SeedanceCli.git
cd SeedanceCli
pip install -e .

3. Configure

# Set your API token
export ACEDATACLOUD_API_TOKEN=your_token_here

# Or use .env file
cp .env.example .env
# Edit .env with your token

4. Use

# Generate a video
seedance generate "A test video"

# Generate from reference image
seedance image-to-video "Animate this scene" -i https://example.com/photo.jpg

# Check task status
seedance task <task-id>

# Wait for completion
seedance wait <task-id> --interval 5

# List available models
seedance models

Commands

Command Description
seedance generate <prompt> Generate a video from a text prompt
seedance image-to-video <prompt> -i <url> Generate a video from reference image(s)
seedance task <task_id> Query a single task status
seedance tasks <id1> <id2>... Query multiple tasks at once
seedance wait <task_id> Wait for task completion with polling
seedance models List available Seedance models
seedance config Show current configuration
seedance aspect-ratios List available aspect ratios
seedance resolutions List available output resolutions

Global Options

--token TEXT    API token (or set ACEDATACLOUD_API_TOKEN env var)
--version       Show version
--help          Show help message

Most commands support:

--json                       Output raw JSON (for piping/scripting)
--model TEXT                 Seedance model version (default: doubao-seedance-2-0-260128)
--aspect-ratio TEXT          Aspect ratio (16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive)
--resolution TEXT            Output resolution (480p, 720p, 1080p, 4k)
--duration INT               Duration in seconds (-1 for auto, up to 30). Mutually exclusive with --frames.
--frames INT                 Frame count (29–289, must satisfy 25+4n). Mutually exclusive with --duration.
--seed INT                   Random seed for reproducible generation (-1 for random).
--camerafixed BOOL           Fix the camera position (true/false).
--watermark BOOL             Add a watermark to the output (true/false).
--generate-audio BOOL        Generate audio (true/false). Supported by doubao-seedance-1-5-pro-251215 and Seedance 2.x.
--return-last-frame BOOL     Return the last frame of the video (true/false).
--tool-json TEXT             Seedance 2.5 web_search tool object as JSON (one maximum).
--priority INT               Seedance 2.5 task priority (0–9).
--safety-identifier TEXT     Stable anonymous end-user identifier (maximum 64 characters).
--execution-expires-after INT  Task timeout in seconds (3600–259200).
--callback-url TEXT          Webhook callback URL.
--first-frame-url TEXT       Reference image URL for the first frame.
--last-frame-url TEXT        Reference image URL for the last frame.
--reference-image-url TEXT   Additional reference image URL(s) (repeatable).
--audio-url TEXT             Reference audio URL.
--video-url TEXT             Reference video URL.

Available Models

Model Version Notes
doubao-seedance-1-5-pro-251215 V1.5 Pro Newest 1.x, supports audio generation
doubao-seedance-1-0-pro-250528 V1.0 Pro Standard quality
doubao-seedance-1-0-pro-fast-251015 V1.0 Fast Faster generation
doubao-seedance-1-0-lite-t2v-250428 V1.0 Lite T2V Lightweight text-to-video
doubao-seedance-1-0-lite-i2v-250428 V1.0 Lite I2V Lightweight image-to-video
doubao-seedance-2-5-260628 V2.5 Latest flagship, up to 30s, edit/extend
doubao-seedance-2-0-fast-260128 V2.0 Fast Faster next-generation generation
doubao-seedance-2-0-mini-260615 V2.0 Mini Compact next-generation model

Configuration

Environment Variables

Variable Description Default
ACEDATACLOUD_API_TOKEN API token from AceDataCloud Required
ACEDATACLOUD_API_BASE_URL API base URL https://api.acedata.cloud
SEEDANCE_DEFAULT_MODEL Default model doubao-seedance-2-0-260128
SEEDANCE_REQUEST_TIMEOUT Timeout in seconds 1800

Development

Setup Development Environment

git clone https://github.com/AceDataCloud/SeedanceCli.git
cd SeedanceCli
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,test]"

Run Tests

pytest
pytest --cov=seedance_cli
pytest tests/test_integration.py -m integration

Code Quality

ruff format .
ruff check .
mypy seedance_cli

Docker

docker pull ghcr.io/acedatacloud/seedance-cli:latest
docker run --rm -e ACEDATACLOUD_API_TOKEN=your_token \
  ghcr.io/acedatacloud/seedance-cli generate "A test video"

Project Structure

SeedanceCli/
├── seedance_cli/                # Main package
│   ├── __init__.py
│   ├── __main__.py            # python -m seedance_cli entry point
│   ├── main.py                # CLI entry point
│   ├── core/                  # Core modules
│   │   ├── client.py          # HTTP client for Seedance API
│   │   ├── config.py          # Configuration management
│   │   ├── exceptions.py      # Custom exceptions
│   │   └── output.py          # Rich terminal formatting
│   └── commands/              # CLI command groups
│       ├── video.py           # Video generation commands
│       ├── task.py            # Task management commands
│       └── info.py            # Info & utility commands
├── tests/                     # Test suite
├── .github/workflows/         # CI/CD (lint, test, publish to PyPI)
├── Dockerfile                 # Container image
├── deploy/                    # Kubernetes deployment configs
├── .env.example               # Environment template
├── pyproject.toml             # Project configuration
└── README.md

Seedance CLI vs MCP Seedance

Feature Seedance CLI MCP Seedance
Interface Terminal commands MCP protocol
Usage Direct shell, scripts, CI/CD Claude, VS Code, MCP clients
Output Rich tables / JSON Structured MCP responses
Automation Shell scripts, piping AI agent workflows
Install pip install seedance-cli pip install mcp-seedance

Both tools use the same AceDataCloud API and share the same API token.

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

Development Requirements

  • Python 3.10+
  • Dependencies: pip install -e ".[all]"
  • Lint: ruff check . && ruff format --check .
  • Test: pytest

License

This project is licensed under the MIT License — see the LICENSE file for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seedance_cli-2026.8.22.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seedance_cli-2026.8.22.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file seedance_cli-2026.8.22.0.tar.gz.

File metadata

  • Download URL: seedance_cli-2026.8.22.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for seedance_cli-2026.8.22.0.tar.gz
Algorithm Hash digest
SHA256 8b65bcaecce7af2a4168e0e7e3e928c89e4a576e3eb991c73fac2f9a8de281a5
MD5 cc78d0c71a28bd5bde878100fdd36472
BLAKE2b-256 449ac2d5b33b0ec4c901a76c0b662ac481926be2ccc54f492e5724c4cc17c888

See more details on using hashes here.

File details

Details for the file seedance_cli-2026.8.22.0-py3-none-any.whl.

File metadata

File hashes

Hashes for seedance_cli-2026.8.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc69a873b6ee92af4db07f97d8b4aa8188c08e3eb6d2356e73d0b4ebed1531e0
MD5 ea9b190ab019aea5ec9f1ab2addf6e18
BLAKE2b-256 01c674585a4a801bafb6f1ba0545d8ca00616d22781dcb2b7d872571bc7b996a

See more details on using hashes here.

Release history Release notifications | RSS feed

2026.8.22.1

2 files

This release

2026.8.22.0 This release

2 files

2026.8.14.0

2 files

2026.8.3.0

2 files

2026.7.11.0

2 files

2026.7.8.0

2 files

2026.7.6.0

2 files

2026.6.29.0

2 files

2026.6.25.0

2 files

2026.6.19.0

2 files

2026.4.5.0

2 files

2026.4.4.0

2 files

2026.3.28.2

2 files

2026.3.28.1

2 files

2026.3.28.0

2 files

2026.3.27.1

2 files

2026.3.27.0

2 files

2026.3.17.1

2 files

2026.3.17.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page