Skip to main content

Python wrapper for CyberBara Seedance 2.5 API

Project description

Seedance 2.5 API

GitHub Repo stars GitHub Forks MIT License

Seedance 2.5 API Cover

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 API
  • Seedance 2.5 Python SDK
  • Seedance 2.5 text to video API
  • Seedance 2.5 image to video API
  • Seedance 2.5 real face
  • How 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.

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/models first 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


Download files

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

Source Distribution

seedance25_api-0.1.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

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

seedance25_api-0.1.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

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

Hashes for seedance25_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 721d70a6614c704555b651aecaee76601c672cccc188edad48acd3a1940994f4
MD5 e90d1e3a019d5ff4360e16d47b8f3c02
BLAKE2b-256 236cd9ebd459d90e3fff7b8912431ff72a0775995f03fa0bb1db51451efe1883

See more details on using hashes here.

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

Hashes for seedance25_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f870e35d3ace14e0dcd52ddcaee905d2bf0d8557e9270e7796fc28f0651c8e22
MD5 3a898279838280f0d49784059c2aaf69
BLAKE2b-256 cfb6ab470362aa4286e7fd9f1d2afb2f0b54b5c655b0e39fd0524578fa4f21dc

See more details on using hashes here.

Supported by

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