Публічний API

Створюйте відео та зображення з власних інструментів

Створіть ключ, викличте API з Bearer-авторизацією та опитуйте статус завдання, доки результат не буде готовий. Працює з Claude Code, Codex та будь-яким HTTP-клієнтом.

Швидкий старт

Крок 1

Створити ключ

Створіть API-ключ у вашому дашборді. Він показується лише один раз, тому збережіть його у безпечному місці.

Крок 2

Виклик API

Надішліть POST-запит із вашим Bearer-ключем та заголовком Idempotency-Key.

Крок 3

Опитати результат

Опитуйте кінцеву точку статусу завдання, доки статус не стане «завершено» або «помилка», потім зчитайте результат.

Автентифікація

Кожен запит автентифікується за допомогою ключа API Bearer у заголовку Authorization.

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

Seedance 2 Video

Текст, зображення або медіа у відео.

1

Відправити завдання

POST
/api/v1/video/seedance2

Параметри

ПараметрТипОбов'язковеЗа замовчуваннямДозволені значення
mode

Generation mode.

stringНеобов'язковоtext-to-video
text-to-videoimage-to-videomedia-to-video
quality_tier

Quality tier.

stringНеобов'язковоstandard
ministandardpro
channel

Rendering channel.

stringНеобов'язковоstandard
standardrealwild
prompt

Text prompt.

stringОбов'язково
3–10000 chars
aspect_ratio

Aspect ratio.

stringНеобов'язково16:9
1:121:94:33:416:99:16adaptive
duration

Clip duration.

stringНеобов'язково5
4–15 (seconds)
resolution

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

stringНеобов'язково720p
720p1080p1080p-plus4k
image_url

Start frame — required for image-to-video.

string (URL)Необов'язково
public https URL
end_image_url

Optional end frame.

string (URL)Необов'язково
public https URL
media_urls

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

string[] (URL)Необов'язково
≤ 12 public https image/video URLs
generate_audio

Generate an audio track.

booleanНеобов'язковоtrue
truefalse
fixed_lens

Lock the camera lens.

booleanНеобов'язковоfalse
truefalse
seed

Not 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.

Запит

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"
  }'

Відповідь202

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

Перевірити статус завдання

GET
/api/v1/tasks/{id}

Запит

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

Відповідь200

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

Коди помилок

All errors share this shape:

json
{ "error": { "code": "invalid_request", "message": "Invalid request body" } }
КодHTTPЗначення
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.

Використовуйте з Claude Code

Натисніть «Копіювати для AI», щоб отримати повний API у вигляді чистого Markdown, вставте його в Claude Code або Codex і дозвольте йому налаштувати інтеграцію. Або спрямуйте агента безпосередньо на кінцеву точку (endpoint) raw text.

Відкрити llms.txt

Skill

Встановіть навичку Seedance у Claude Code, Codex або будь-якого агента — вона пише кінематографічні промпти та рендерить їх через API за вас.

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

Поширені запитання

Хто може використовувати API?

Будь-хто з кредитами. Немає обмежень за тарифом — будь-який акаунт із кредитами може створити ключ і викликати API.

Як отримати кредити?

Поповніть рахунок або підпишіться на сторінці цін. Кредити додаються на ваш баланс миттєво.

Чи поділяються кредити між вебсайтом та API?

Так — ваш особистий кредитний баланс забезпечує як генерацію у веб-інтерфейсі, так і API-запити. У команді API-запити використовують особистий баланс кожного учасника, а не спільний командний пул.

Як почати?

Створіть ключ API у вашій панелі керування, потім викликайте кінцеві точки з токеном Bearer (див. Quickstart вище).

Що робити, якщо виклик повертає insufficient_credits?

Ваш баланс порожній — поповніть на сторінці цін і повторіть спробу.