Öffentliche API

Videos und Bilder mit Ihren eigenen Tools generieren

Erstellen Sie einen Schlüssel, rufen Sie die API mit Bearer-Authentifizierung auf und fragen Sie den Aufgabenstatus ab, bis Ihr Ergebnis bereit ist. Funktioniert mit Claude Code, Codex und jedem HTTP-Client.

Schnellstart

Schritt 1

Schlüssel erstellen

Generieren Sie einen API-Key in Ihrem Dashboard. Er wird nur einmal angezeigt, bewahren Sie ihn daher sicher auf.

Schritt 2

API aufrufen

Senden Sie eine POST-Anfrage mit Ihrem Bearer-Schlüssel und einem Idempotency-Key-Header.

Schritt 3

Ergebnis abrufen

Fragen Sie den Task-Status-Endpunkt ab, bis der Status „abgeschlossen“ oder „fehlgeschlagen“ ist, und lesen Sie dann die Ausgabe.

Authentifizierung

Jede Anfrage wird mit einem Bearer-API-Schlüssel im Authorization-Header authentifiziert.

http
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-id-per-request

Seedance 2 Video

Text, Bild oder Medien zu Video.

1

Auftrag einreichen

POST
/api/v1/video/seedance2

Parameter

ParameterTypErforderlichStandardZulässige Werte
mode

Generation mode.

stringOptionaltext-to-video
text-to-videoimage-to-videomedia-to-video
quality_tier

Quality tier.

stringOptionalstandard
ministandardpro
channel

Rendering channel.

stringOptionalstandard
standardrealwild
prompt

Text prompt.

stringErforderlich
3–10000 chars
aspect_ratio

Aspect ratio.

stringOptional16:9
1:121:94:33:416:99:16adaptive
duration

Clip duration.

stringOptional5
4–15 (seconds)
resolution

Output resolution. 1080p-plus and 4k are available on pro only.

stringOptional720p
720p1080p1080p-plus4k
image_url

Start frame — required for image-to-video.

string (URL)Optional
public https URL
end_image_url

Optional end frame.

string (URL)Optional
public https URL
media_urls

Required for media-to-video. Video URLs must support duration probing.

string[] (URL)Optional
≤ 12 public https image/video URLs
generate_audio

Generate an audio track.

booleanOptionaltrue
truefalse
fixed_lens

Lock the camera lens.

booleanOptionalfalse
truefalse
seed

Not supported on the real channel or mini tier.

integerOptional
-1 – 4294967295

Seedance prompt guide

Seedance prompts work best as concrete director instructions. Describe the subject, action, scene, camera motion, visual style, and constraints, then map every reference asset to the right API parameter.

  • Use image_url for the opening frame, end_image_url for the closing frame, and media_urls for character, motion, style, source-video, or extension references.
  • Describe asset roles in natural language inside prompt. Do not send raw asset ids, asset:// URLs, or in-app-only labels such as @图片1.
  • For edits say “strictly edit the supplied source video”; for extensions say “continue from the supplied previous clip.”
  • For complex scenes, use ordered shots plus a style and constraint package: stable faces, natural motion, no deformation, no watermark, no logo, and no subtitles unless intended.

Anfrage

bash
curl -X POST https://seedance2ai.io/api/v1/video/seedance2 \
  -H "Authorization: Bearer $SEEDANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: demo-video-001" \
  -d '{
    "mode": "text-to-video",
    "quality_tier": "standard",
    "prompt": "A cinematic shot of a glass train crossing a snowy mountain bridge",
    "aspect_ratio": "16:9",
    "duration": "5",
    "resolution": "720p"
  }'

Antwort202

json
{
  "id": "sd2_xxxxx",
  "status": "processing",
  "model": "seedance2",
  "quality_tier": "standard",
  "channel": "standard",
  "credits_used": 30
}
2

Aufgabenstatus prüfen

GET
/api/v1/tasks/{id}

Anfrage

bash
curl https://seedance2ai.io/api/v1/tasks/sd2_xxxxx \
  -H "Authorization: Bearer $SEEDANCE_API_KEY"

Antwort200

json
{
  "id": "sd2_xxxxx",
  "status": "completed",
  "model": "seedance2",
  "quality_tier": "standard",
  "channel": "standard",
  "credits_used": 30,
  "credits_refunded": 0,
  "output": {
    "video_url": "https://...",
    "last_frame_url": "https://...",
    "seed": 123
  },
  "error": null,
  "created_at": "2026-06-03T10:00:00.000Z",
  "updated_at": "2026-06-03T10:03:12.000Z"
}

status: processing · completed · failed

Fehlercodes

All errors share this shape:

json
{ "error": { "code": "invalid_request", "message": "Invalid request body" } }
CodeHTTPBedeutung
unauthorized401Missing, invalid, or revoked API key.
invalid_request400Bad input or unsupported field.
insufficient_credits402Not enough credits on the balance.
rate_limited429Too many requests — limit is 30 requests per 60 seconds per account. Retry after the Retry-After response header (in seconds).
idempotency_conflict409Same Idempotency-Key reused with a different body, or still running.
service_busy503Temporary upstream or credit-concurrency issue. Retry.
not_found404Task does not exist or does not belong to this key owner.
internal_error500Unexpected server-side failure.

Mit Claude Code verwenden

Drücken Sie Copy for AI, um die vollständige API als sauberes Markdown zu erfassen, fügen Sie es in Claude Code oder Codex ein und lassen Sie es die Integration einrichten. Oder weisen Sie den Agenten direkt auf den Rohtext-Endpunkt hin.

llms.txt öffnen

Skill

Installieren Sie die Seedance-Fertigkeit in Claude Code, Codex oder einen beliebigen Agenten – sie schreibt filmreife Prompts und rendert diese automatisch über die API für Sie.

bash
# Download the one-file skill from Seedance 2 AI
mkdir -p ~/.claude/skills/seedance
curl -L https://seedance2ai.io/downloads/seedance-skill.md -o ~/.claude/skills/seedance/SKILL.md

FAQ

Wer kann die API nutzen?

Jeder mit Credits. Es gibt keine Planbeschränkung – jedes Konto mit Credits kann einen Schlüssel erstellen und die API aufrufen.

Wie bekomme ich Credits?

Laden Sie Guthaben auf oder abonnieren Sie auf der Preisseite. Guthaben wird Ihrem Konto sofort gutgeschrieben.

Werden Credits zwischen der Website und der API geteilt?

Ja – Ihr persönliches Guthaben wird sowohl für die Web-Generierung als auch für Ihre API-Aufrufe verwendet. In einem Team verwenden API-Aufrufe das persönliche Guthaben jedes Mitglieds, nicht das gemeinsame Team-Guthaben.

Wie starte ich?

Erstellen Sie einen API-Key in Ihrem Dashboard und rufen Sie dann die Endpoints mit einem Bearer-Token auf (siehe Quickstart oben).

Was passiert, wenn ein Aufruf `insufficient_credits` zurückgibt?

Ihr Guthaben ist leer – laden Sie auf der Preisseite auf und versuchen Sie es erneut.