Python wrapper for CyberBara Seedance 2.5 API
Project description
Seedance 2.5 API
A practical Seedance 2.5 API guide for developers who want global access to text-to-video, image-to-video, and real human face workflows without dealing with region locks or fragmented tooling.
CyberBara provides a production-ready API surface for Seedance 2.5 API access, with support for reusable uploads, async task polling, and creator workflows that go beyond a thin prompt wrapper.
Quick Start | API Examples | Real Face Workflows | Related Resources
Why This Repo Exists
If you are searching for:
Seedance 2.5 APISeedance 2.5 Python SDKSeedance 2.5 text to video APISeedance 2.5 image to video APISeedance 2.5 real faceHow to access Seedance 2.5 outside China
this repository is for you.
Most Seedance discussions online stop at launch news, screenshots, or waitlists. This repo is focused on what developers actually need:
- how to access the API
- how to list models
- how to upload reference assets
- how to create video tasks
- how to poll task status
- how to run real production workflows
- how to connect Seedance to a broader prompt and tooling ecosystem
Why Use CyberBara For Seedance 2.5 API
CyberBara is built for real usage, not just demos.
Key advantages
- Global API access: no need to depend on region-locked consumer apps
- One API surface: uploads, generation, task status, model listing, and credit checks
- Production-friendly: reusable asset URLs and async task polling
- Real workflow support: useful for portrait motion, character-driven content, ads, short drama tests, and creator tooling
- Broader ecosystem: works alongside prompt libraries, how-to guides, and agent skills
API docs: cyberbara.com/api
Skill page: cyberbara.co/skill
Quick Start
Step 1. Get your API key
Create an account and generate an API key from CyberBara.
- API entry: https://cyberbara.com/api
Step 2. Set your base URL
https://cyberbara.com
Step 3. Authenticate
Use either header:
Authorization: Bearer <YOUR_API_KEY>
or
x-api-key: <YOUR_API_KEY>
Python Wrapper
This repository now includes a minimal Python wrapper for the CyberBara Seedance 2.5 API.
Install from PyPI:
pip install seedance25-api
Or install locally for development:
pip install -e .
Basic usage:
from seedance25_api import Seedance25Client
client = Seedance25Client("YOUR_API_KEY")
created = client.text_to_video(
"A cinematic drone shot over a misty mountain village at sunrise.",
duration="10",
aspect_ratio="16:9",
)
task = client.wait_for_task(created["task_id"])
print(task["output"]["videos"])
Image-to-video with uploaded reference:
from seedance25_api import Seedance25Client
client = Seedance25Client("YOUR_API_KEY")
upload = client.upload_images(["./reference.png"])
created = client.image_to_video(
"The subject turns slowly toward camera, subtle smile, natural skin texture.",
image_urls=upload["urls"],
duration="10",
aspect_ratio="9:16",
)
task = client.wait_for_task(created["task_id"])
print(task["output"]["videos"])
Wrapper methods:
models()quote_video()text_to_video()image_to_video()upload_images()upload_videos()get_task()wait_for_task()
See runnable examples in examples/text_to_video.py and examples/image_to_video.py.
API Examples
1. List available video models
curl -X GET 'https://cyberbara.com/api/v1/models?media_type=video' \
-H 'Authorization: Bearer <YOUR_API_KEY>'
Use this first to confirm the currently exposed model names and supported scenes on CyberBara.
2. Upload a reference image
curl -X POST 'https://cyberbara.com/api/v1/uploads/images' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-F 'files=@./reference.png'
The response returns a reusable uploaded URL for later generation requests.
3. Create a text-to-video task
curl -X POST 'https://cyberbara.com/api/v1/videos/generations' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "seedance-2.5",
"scene": "text-to-video",
"prompt": "A cinematic drone shot over a misty mountain village at sunrise, realistic lighting, smooth camera motion, atmospheric depth.",
"options": {
"duration": "10",
"aspect_ratio": "16:9"
}
}'
Use this route when you want pure prompt-driven generation.
4. Create an image-to-video task
curl -X POST 'https://cyberbara.com/api/v1/videos/generations' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "seedance-2.5",
"scene": "image-to-video",
"prompt": "The woman turns slowly toward camera, soft wind in her hair, natural eye movement, subtle smile, realistic skin texture, cinematic portrait motion.",
"options": {
"duration": "10",
"aspect_ratio": "9:16",
"image_input": [
"https://your-uploaded-image-url-here"
]
}
}'
This is the core workflow for portrait animation, character consistency, and creator-facing short video generation.
5. Check task status
curl -X GET 'https://cyberbara.com/api/v1/tasks/<TASK_ID>' \
-H 'Authorization: Bearer <YOUR_API_KEY>'
Poll until the task reaches a final state, then read the output URL from the response.
6. Quote credits before generation
curl -X POST 'https://cyberbara.com/api/v1/credits/quote' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "seedance-2.5",
"media_type": "video",
"scene": "image-to-video",
"prompt": "Portrait motion test",
"options": {
"duration": "10",
"aspect_ratio": "9:16"
}
}'
Useful when you want budget visibility before launching larger runs.
Python Example
from seedance25_api import Seedance25Client
client = Seedance25Client("YOUR_API_KEY")
created = client.text_to_video(
"A high-end perfume commercial, glossy lighting, slow motion liquid splash, premium cinematic style.",
duration="10",
aspect_ratio="16:9",
)
task = client.wait_for_task(created["task_id"])
print(task["output"]["videos"])
Real Face Workflows
One of the biggest reasons creators look for a Seedance 2.5 API is not generic video generation. It is reference-driven character work.
Common use cases:
- portrait-to-video
- creator avatar clips
- fashion and beauty content
- UGC-style ads
- short drama character tests
- image-led commercial videos
Real production work needs more than a prompt box. Teams usually need:
- stable reference handling
- asset upload and reuse
- cleaner image-to-video pipelines
- easier handoff between prompt testing and API execution
That is why this repo also points to the broader CyberBara Seedance ecosystem below.
Best Practices
- Use
GET /api/v1/modelsfirst to confirm current model exposure - Upload reference assets once, then reuse returned URLs
- Keep prompts concrete about camera motion, subject motion, lighting, and shot rhythm
- For portrait workflows, use clean high-resolution references
- Quote credits before large batch runs
- Poll task status asynchronously instead of blocking your app flow
Related Resources
If you want more than just API access, these repositories and pages are part of the same Seedance ecosystem:
-
Awesome Seedance
Curated prompts, example videos, and high-performing Seedance workflows. -
Seedance How-to
Practical guides on access, usage, and creator workflows. -
CyberBara Skill
Use Seedance and other top media models directly inside agent workflows. -
CyberBara API
Official API entry for generation, uploads, models, task status, and credits.
FAQ
Is this the official ByteDance repository?
No. This is an independent developer guide for accessing Seedance 2.5 API through CyberBara.
Does this support text-to-video and image-to-video?
Yes. CyberBara exposes a unified API workflow for both.
Is this only for manual testing?
No. It is designed for real developer usage, including API integration, async polling, asset reuse, and workflow automation.
Where can I find prompts and workflow inspiration?
Start here:
Keywords
Seedance 2.5 API, Seedance 2.5 Python SDK, Seedance 2.5 text to video API, Seedance 2.5 image to video API, Seedance API, CyberBara Seedance API, how to access Seedance 2.5, Seedance 2.5 outside China
Disclaimer
This repository is for educational and developer integration purposes only. Please follow all applicable platform rules, consent requirements, and local laws when working with real-person media.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file seedance25_api-0.1.0.tar.gz.
File metadata
- Download URL: seedance25_api-0.1.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
721d70a6614c704555b651aecaee76601c672cccc188edad48acd3a1940994f4
|
|
| MD5 |
e90d1e3a019d5ff4360e16d47b8f3c02
|
|
| BLAKE2b-256 |
236cd9ebd459d90e3fff7b8912431ff72a0775995f03fa0bb1db51451efe1883
|
File details
Details for the file seedance25_api-0.1.0-py3-none-any.whl.
File metadata
- Download URL: seedance25_api-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f870e35d3ace14e0dcd52ddcaee905d2bf0d8557e9270e7796fc28f0651c8e22
|
|
| MD5 |
3a898279838280f0d49784059c2aaf69
|
|
| BLAKE2b-256 |
cfb6ab470362aa4286e7fd9f1d2afb2f0b54b5c655b0e39fd0524578fa4f21dc
|