Створюйте відео та зображення з власних інструментів
Створіть ключ, викличте API з Bearer-авторизацією та опитуйте статус завдання, доки результат не буде готовий. Працює з Claude Code, Codex та будь-яким HTTP-клієнтом.
Швидкий старт
Крок 1
Створити ключ
Створіть API-ключ у вашому дашборді. Він показується лише один раз, тому збережіть його у безпечному місці.
Крок 2
Виклик API
Надішліть POST-запит із вашим Bearer-ключем та заголовком Idempotency-Key.
Крок 3
Опитати результат
Опитуйте кінцеву точку статусу завдання, доки статус не стане «завершено» або «помилка», потім зчитайте результат.
Автентифікація
Кожен запит автентифікується за допомогою ключа API Bearer у заголовку Authorization.
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-id-per-requestSeedance 2 Video
Текст, зображення або медіа у відео.
Відправити завдання
/api/v1/video/seedance2Параметри
| Параметр | Тип | Обов'язкове | За замовчуванням | Дозволені значення |
|---|---|---|---|---|
modeGeneration mode. | string | Необов'язково | text-to-video | text-to-videoimage-to-videomedia-to-video |
quality_tierQuality tier. | string | Необов'язково | standard | ministandardpro |
channelRendering channel. | string | Необов'язково | standard | standardrealwild |
promptText prompt. | string | Обов'язково | — | 3–10000 chars |
aspect_ratioAspect ratio. | string | Необов'язково | 16:9 | 1:121:94:33:416:99:16adaptive |
durationClip duration. | string | Необов'язково | 5 | 4–15 (seconds) |
resolutionOutput resolution. 1080p-plus and 4k are available on pro only. | string | Необов'язково | 720p | 720p1080p1080p-plus4k |
image_urlStart frame — required for image-to-video. | string (URL) | Необов'язково | — | public https URL |
end_image_urlOptional end frame. | string (URL) | Необов'язково | — | public https URL |
media_urlsRequired for media-to-video. Video URLs must support duration probing. | string[] (URL) | Необов'язково | — | ≤ 12 public https image/video URLs |
generate_audioGenerate an audio track. | boolean | Необов'язково | true | truefalse |
fixed_lensLock the camera lens. | boolean | Необов'язково | false | truefalse |
seedNot supported on the real channel or mini tier. | integer | Необов'язково | — | -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.
Запит
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"
}'Відповідь202
{
"id": "sd2_xxxxx",
"status": "processing",
"model": "seedance2",
"quality_tier": "standard",
"channel": "standard",
"credits_used": 30
}Перевірити статус завдання
/api/v1/tasks/{id}Запит
curl https://seedance2ai.io/api/v1/tasks/sd2_xxxxx \
-H "Authorization: Bearer $SEEDANCE_API_KEY"Відповідь200
{
"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
Коди помилок
All errors share this shape:
{ "error": { "code": "invalid_request", "message": "Invalid request body" } }| Код | HTTP | Значення |
|---|---|---|
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. |
Використовуйте з Claude Code
Натисніть «Копіювати для AI», щоб отримати повний API у вигляді чистого Markdown, вставте його в Claude Code або Codex і дозвольте йому налаштувати інтеграцію. Або спрямуйте агента безпосередньо на кінцеву точку (endpoint) raw text.
Skill
Встановіть навичку Seedance у Claude Code, Codex або будь-якого агента — вона пише кінематографічні промпти та рендерить їх через API за вас.
# 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Поширені запитання
Хто може використовувати API?
Будь-хто з кредитами. Немає обмежень за тарифом — будь-який акаунт із кредитами може створити ключ і викликати API.
Як отримати кредити?
Поповніть рахунок або підпишіться на сторінці цін. Кредити додаються на ваш баланс миттєво.
Чи поділяються кредити між вебсайтом та API?
Так — ваш особистий кредитний баланс забезпечує як генерацію у веб-інтерфейсі, так і API-запити. У команді API-запити використовують особистий баланс кожного учасника, а не спільний командний пул.
Як почати?
Створіть ключ API у вашій панелі керування, потім викликайте кінцеві точки з токеном Bearer (див. Quickstart вище).
Що робити, якщо виклик повертає insufficient_credits?
Ваш баланс порожній — поповніть на сторінці цін і повторіть спробу.