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.
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-id-per-requestSeedance 2 Video
Text, Bild oder Medien zu Video.
Auftrag einreichen
/api/v1/video/seedance2Parameter
| Parameter | Typ | Erforderlich | Standard | Zulässige Werte |
|---|---|---|---|---|
modeGeneration mode. | string | Optional | text-to-video | text-to-videoimage-to-videomedia-to-video |
quality_tierQuality tier. | string | Optional | standard | ministandardpro |
channelRendering channel. | string | Optional | standard | standardrealwild |
promptText prompt. | string | Erforderlich | — | 3–10000 chars |
aspect_ratioAspect ratio. | string | Optional | 16:9 | 1:121:94:33:416:99:16adaptive |
durationClip duration. | string | Optional | 5 | 4–15 (seconds) |
resolutionOutput resolution. 1080p-plus and 4k are available on pro only. | string | Optional | 720p | 720p1080p1080p-plus4k |
image_urlStart frame — required for image-to-video. | string (URL) | Optional | — | public https URL |
end_image_urlOptional end frame. | string (URL) | Optional | — | public https URL |
media_urlsRequired for media-to-video. Video URLs must support duration probing. | string[] (URL) | Optional | — | ≤ 12 public https image/video URLs |
generate_audioGenerate an audio track. | boolean | Optional | true | truefalse |
fixed_lensLock the camera lens. | boolean | Optional | false | truefalse |
seedNot supported on the real channel or mini tier. | integer | Optional | — | -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
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
{
"id": "sd2_xxxxx",
"status": "processing",
"model": "seedance2",
"quality_tier": "standard",
"channel": "standard",
"credits_used": 30
}Aufgabenstatus prüfen
/api/v1/tasks/{id}Anfrage
curl https://seedance2ai.io/api/v1/tasks/sd2_xxxxx \
-H "Authorization: Bearer $SEEDANCE_API_KEY"Antwort200
{
"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:
{ "error": { "code": "invalid_request", "message": "Invalid request body" } }| Code | HTTP | Bedeutung |
|---|---|---|
unauthorized | 401 | Missing, invalid, or revoked API key. |
invalid_request | 400 | Bad input or unsupported field. |
insufficient_credits | 402 | Not enough credits on the balance. |
rate_limited | 429 | Too many requests — limit is 30 requests per 60 seconds per account. Retry after the Retry-After response header (in seconds). |
idempotency_conflict | 409 | Same Idempotency-Key reused with a different body, or still running. |
service_busy | 503 | Temporary upstream or credit-concurrency issue. Retry. |
not_found | 404 | Task does not exist or does not belong to this key owner. |
internal_error | 500 | Unexpected 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.
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.
# 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.mdFAQ
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.