API

Seedance 2.0 Fast API

Видео

API Seedance 2.0 Fast создаёт видео длительностью 4–15 секунд в 480p / 720p из текста, первого/последнего кадров или мультимодальных референсов. Режим референсов принимает до 9 изображений, 3 видео и 3 аудиофайлов. Каждое изображение должно быть не больше 30 МБ.

Авторизация

Bearerstringheaderобязательно

API-ключ для авторизации запросов

Тело

application/json
modelstringобязательно
seedance-2-0-fast
input.promptstringобязательно

Опишите объект, действие, сцену, освещение, движение камеры и последовательность событий. Пробелы в начале и конце удаляются.

input.frames_imagesstring[]необязательно

Список из одного или двух общедоступных HTTPS-адресов изображений: первый кадр и необязательный последний. Этот режим нельзя сочетать с reference_images, reference_videos или reference_audios.

При использовании input.frames_images Seedance 2.0 Fast автоматически выбирает соотношение adaptive на основе переданных кадров.

Максимум URL: 2.

Максимальный размер изображения: 30 МБ.

Пример: ["https://example.com/first-frame.png","https://example.com/last-frame.png"]

input.reference_imagesstring[]необязательно

Список общедоступных HTTPS-адресов референсных изображений. Можно сочетать с reference_videos и reference_audios, но не с frames_images. Передавайте строки URL, не файлы или base64.

Максимум URL: 9.

Максимальный размер изображения: 30 МБ.

Пример: ["https://example.com/your-image.png"]

input.reference_videosstring[]необязательно

Список общедоступных HTTPS-адресов референсных видео. Не сочетайте с frames_images. Видео меняют расход кредитов; см. соответствующую строку и формулу ниже.

Максимум URL: 3.

Пример: ["https://example.com/your-video.mp4"]

input.reference_audiosstring[]необязательно

Список общедоступных HTTPS-адресов референсного аудио. Можно сочетать с другими списками reference_*, но не с frames_images.

Максимум URL: 3.

Пример: ["https://example.com/your-audio.mp3"]

input.durationintegerнеобязательно

Длительность видео в целых секундах от 4 до 15. По умолчанию 5. Расход кредитов зависит от длительности.

По умолчанию: 5

4–15
input.resolutionstringнеобязательно

Разрешение видео. Используйте одно из значений в нижнем регистре ниже. Разрешение определяет ставку в кредитах.

По умолчанию: 720p

480p720p
input.aspect_ratiostringнеобязательно

Соотношение ширины и высоты. По умолчанию 16:9. Входные кадры могут влиять на итоговую композицию.

По умолчанию: 16:9

16:99:161:13:44:321:9
input.soundbooleanнеобязательно

Нужно ли генерировать звук вместе с видео. По умолчанию false. Передавайте логическое значение JSON, не строку.

По умолчанию: false

Примеры запросов

Выберите один режим: без медиа для генерации из текста; frames_images для первого и последнего кадров; либо сочетайте reference_images, reference_videos и reference_audios для референсов. Нельзя сочетать frames_images со списками медиа reference_*. Все ресурсы передаются списками общедоступных HTTPS-адресов, не файлами или base64. Замените адреса example.com. Сохраните data.task_id и опрашивайте POST /api/v1/check до completed или failed.

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2-0-fast",
  "input": {
    "prompt": "Красный ретроавтомобиль едет по прибрежной дороге на закате. Камера плавно следует сбоку, а тёплый свет отражается в океане.",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "sound": false
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "seedance-2-0-fast",
    "status": "processing",
    "credits": 500
  }
}

Опрашивайте этот endpoint с возвращённым ID задачи до её завершения или ошибки. Рекомендуем выполнять polling каждые 5 секунд для получения актуального статуса.

POST /api/v1/check
{
  "task_id": "task_example"
}

Ответ

Статус задачи, возвращаемый POST /api/v1/check. ID, URL и временные метки ниже приведены для примера.

idstringобязательно

Идентификатор задачи в data.id совпадает с task_id в запросе проверки.

statusstringобязательно
completed означает успешную генерацию, а data.data содержит результаты. При других статусах data.data равно null.
failed_reasonstringнеобязательно

Возвращается только при status failed и объясняет причину ошибки. Для completed и processing это поле отсутствует.

Завершено · completed

Ссылки для скачивания находятся в data.data.results.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0-fast",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.mp4"
      ],
      "processing_time": 120
    }
  }
}

Другие статусы

При processing или failed значение data.data равно null. Этот пример показывает failed: только failed содержит failed_reason. При processing продолжайте проверку, при failed прекратите её.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0-fast",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

Расход кредитов

Кредиты за оплачиваемую секунду по разрешению и режиму референсного видео.

Кредиты за оплачиваемую секунду по разрешению и режиму референсного видео.
Генерация480P720P
Без референсных видео50100
С референсными видео3060

Один запрос создаёт одно видео. Без длительности или разрешения используются значения по умолчанию выше. Референсные видео могут увеличить расход; используйте нужную строку и формулу.

Выбирайте строку по наличию reference_videos. Всего = секунды созданного видео × ставка за секунду. Только изображения или аудио используют строку без референсного видео.

Поле credits в ответе POST /api/v1/create показывает число кредитов, списанных за задачу.