Back to model library

Video / MODEL API

Seedance 2.0

From $2.45 / 1M tokens

OVERVIEW

Model overview

Seedance 2.0. Explore model specifications, API rates, and request examples.

Specifications

Category
Video
Input modalities
text, image, audio, video
Output modalities
video

MODEL PRICING

Model API pricing

Video generation pricing

Rates depend on output resolution and reference video input. Check the billing unit for each model.

Seedance 2.0 — Video generation pricing
ResolutionReference videoRate
480p / 720pWithout video$7.14 / 1M tokens
480p / 720pWith video$4.39 / 1M tokens
1080pWithout video$7.85 / 1M tokens
1080pWith video$4.79 / 1M tokens
4kWithout video$4.08 / 1M tokens
4kWith video$2.45 / 1M tokens

Public platform rates refresh every five minutes. A dash means a rate is not provided; it does not mean free. Check the console for final charges.

BUILT FOR YOUR STACK

API quickstart

Read the docs

Expand connection setup and run the preparation commands first. Then save and run the Python or cURL example.

Connection setup & preparationActual API address, model ID, and environment variables
API address
https://api.ecohash.com/v1
API model ID
ecolink-video-gen-2.0

Replace YOUR_API_KEY with the full inference API key issued in the console. Run setup in macOS/Linux or a compatible shell. JSON cURL examples use the Python standard library to build the request body.

Terminal
python -m pip install requests
export GIGACOMMA_API_BASE_URL='https://api.ecohash.com/v1'
export GIGACOMMA_MODEL_ID='ecolink-video-gen-2.0'
export GIGACOMMA_API_KEY="YOUR_API_KEY"

GIGACOMMA_API_KEY is the environment variable name. Its value is an inference API key from the console, not an OpenAI API key. Get an API key

quickstart.py
import timeimport osimport requestsMODEL_ID = os.environ["GIGACOMMA_MODEL_ID"]BASE_URL = os.environ["GIGACOMMA_API_BASE_URL"].rstrip("/")headers = {"Authorization": f"Bearer {os.environ['GIGACOMMA_API_KEY']}"}response = requests.post(    f"{BASE_URL}/video/generations", headers=headers,    json={"model": os.environ["GIGACOMMA_MODEL_ID"],    "prompt": "A sunset over mountains, cinematic",    "resolution": "720p",    "duration": 5},    timeout=120,)response.raise_for_status()job_id = response.json()["id"]for _ in range(120):    status = requests.get(        f"{BASE_URL}/video/jobs/{job_id}",        headers=headers, timeout=30,    )    status.raise_for_status()    job = status.json()    if job["status"] == "completed":        print(job["url"])        break    if job["status"] == "failed":        raise RuntimeError(job)    time.sleep(5)else:    raise TimeoutError(f"Video job {job_id} is still running")

Related models

Explore all models