Skip to content

Mage API · Video model

Seedance API

Seedance, with a strict filter

POST https://api.mage.space/v1/seedance/generate

At a glance

The Seedance API runs Seedance 2.5 and 3 other variants through Mage at POST https://api.mage.space/v1/seedance/generate. A request at the default settings costs 618 Gems (about $0.618), with no subscription. Seedance takes saved characters, references, audio references by @handle in the prompt.

  • VideoOutput
  • 4Variants
  • 618Gems per clip, default
  • $0.618About, in USD

Overview

What the Seedance API does

ByteDance's Seedance, from Seedance 2.0 Mini for drafts to Seedance 2.5, with clips up to 30 seconds, many references or Characters, and source-video edits. Strict Filter: the provider's content filter applies.

ByteDance's Seedance video line, with cinematic motion and audio: Seedance 2.0 Mini, Seedance 2.0 Fast, Seedance 2.0, and Seedance 2.5, the most powerful, with clips up to 30 seconds. Strict Filter: the provider's content filter checks the prompt, the input media, and the finished video; a request it refuses fails with `content_blocked` and a reason, and is refunded.

It accepts image, additional_images, videos as inputs.

Quick start

Call the Seedance API

Set MAGE_API_KEY, submit to /seedance/generate, and poll status_url until the request completes.

cURL
STATUS_URL=$(curl --request POST 'https://api.mage.space/v1/seedance/generate' \
  --header "Authorization: Bearer $MAGE_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "prompt": "A slow push-in on a lighthouse at dusk, waves breaking below",
  "aspect_ratio": "16:9",
  "duration": "4",
  "model_id": "seedance-2.5"
}' | jq -r '.status_url')

# Repeat until status is "completed"; result.url is the file
curl "$STATUS_URL" --header "Authorization: Bearer $MAGE_API_KEY"
TypeScript
// npm install @mage-space/sdk
import Mage from '@mage-space/sdk';

const mage = new Mage(); // reads MAGE_API_KEY

const request = await mage.run('seedance', {
  prompt: 'A slow push-in on a lighthouse at dusk, waves breaking below',
  aspect_ratio: '16:9',
  duration: '4',
  model_id: 'seedance-2.5',
});

console.log(request.result.url);
Python
# pip install mage-space
from mage_space import Mage

mage = Mage()  # reads MAGE_API_KEY

request = mage.run("seedance", {
    "prompt": "A slow push-in on a lighthouse at dusk, waves breaking below",
    "aspect_ratio": "16:9",
    "duration": "4",
    "model_id": "seedance-2.5",
})

print(request["result"]["url"])

Models

Seedance model_id values

Send model_id to pick a variant. A request without one runs the default.

model_idNameDefault
seedance-2.0-miniSeedance 2.0 Mini
seedance-2.0-fastSeedance 2.0 Fast
seedance-2.0Seedance 2.0
seedance-2.5Seedance 2.5Yes

Options

Seedance parameters

Allowed values across all variants; a variant may offer fewer. The docs list the options per variant.

FieldValues
aspect_ratio16:9, 9:16, 1:1
resolution480p, 720p, 1080p, 4k
duration4, 5, 8, 10, 15, 20, 25, 30

Inputs

Media inputs Seedance accepts

Send each as an https URL, a data URL, or an upload of up to 100 MB.

FieldRole
imageThe reference image.
additional_imagesAdditional reference images.
videosThe source videos.

Rules

What the Seedance API enforces

  • Video editing takes exactly one source video, of 4 to 30 seconds on `seedance-2.5` and 2 to 15 seconds on the other models.
  • On `seedance-2.5` an edit keeps its source video's length and aspect ratio: `duration` and `aspect_ratio` are ignored, and the price follows the video's length.

More video models

Other video generation APIs on Mage

  • Video · from 245 Gems

    Wan 3.0 API

    Wan 3.0, with a strict filter

  • Video · from 40 Gems

    Wan Video v2.2 API

    Open-weights video with a Lightning variant

  • Video · from 189 Gems

    Berry API

    Video that stays true to your references

  • Video · from 360 Gems

    Blueberry API

    Pin the first and last frame

  • Video · from 618 Gems

    Cherry API

    Our flagship video family

  • Video · from 375 Gems

    Grok Video API

    Grok Imagine, in motion

FAQ

Frequently asked questions

How much does the Seedance API cost?
A Seedance request at the default settings (Seedance 2.5) costs 618 Gems, about $0.618. Other resolutions, durations, and variants change the price; the response reports the exact charge. A generation that fails is refunded; one Mage's content policy blocks is not.
What is the Seedance API endpoint?
POST https://api.mage.space/v1/seedance/generate with an Authorization: Bearer header carrying your Mage API key. The response includes a status_url to poll for the result.
Which Seedance models can I call?
seedance-2.0-mini (Seedance 2.0 Mini), seedance-2.0-fast (Seedance 2.0 Fast), seedance-2.0 (Seedance 2.0), seedance-2.5 (Seedance 2.5). The default is Seedance 2.5.
Does Seedance support reference images or characters?
Seedance accepts image, additional_images, videos. Seedance takes saved characters, references, audio references by @handle in the prompt.
Can I use Seedance from Claude or ChatGPT?
Yes. Connect the Mage MCP server to Claude, ChatGPT, Claude Code, Grok, or Cursor and ask for Seedance by name. Your assistant reads its options with get_model and quotes the price before it generates.
How long are Seedance results kept?
Results and inputs are kept for 30 days. Download anything you want to keep to your own storage.

Start building with Mage

One account, one Gems balance, every model. Pay only for what you generate.