Seedance 2.0 Mini
Создавайте видео длительностью 4–15 секунд в 480p или 720p по самой низкой базовой цене в семействе Seedance (см. раздел об оплате): по тексту, первому и последнему кадрам либо референсам — до 9 изображений, 3 видео и 3 аудиофрагментов.
- Асинхронная обработка: запрос создания возвращает ID задачи. Видео будет доступно после её успешного завершения, обычно через несколько минут.
- Четыре варианта ввода: только текст, первый кадр, первый и последний кадры либо произвольное сочетание изображений, видео и аудио. Для аудио нужен хотя бы один референс в виде изображения или видео.
- Только 480p и 720p, по самой низкой базовой цене в семействе Seedance (см. раздел об оплате).
- У этой модели нет поля
generate_audio: запрос с ним отклоняется. Для управления звуком используйте Seedance 2.0 или 2.0 Fast. - Стоимость зависит от разрешения и длительности результата, а также от длительности референсных видео. Задача, завершившаяся ошибкой, не оплачивается.
Открывает модель в API Explorer. Введите свой API-ключ BeatAPI, чтобы создать задачу. Это настоящий запрос: его стоимость спишется с вашего баланса.
Идентификаторы моделей
Все четыре модели Seedance используют один адрес API. Значения ниже взяты непосредственно из контракта шлюза. Только Seedance 2.5 принимает task_type, output_format и seed.
Адрес API и авторизация
POST https://api.beatapi.io/v1/videos/tasks
Authorization
string
Обязательно
Передавайте API-ключ BeatAPI как Bearer <BEATAPI_API_KEY>. Создать ключ можно в панели управления. Храните ключи на сервере, а не в коде браузерного или мобильного приложения.
Передавайте тело запроса в JSON с заголовком Content-Type: application/json. Idempotency-Key необязателен. Для каждого логического запроса используйте уникальное значение длиной не более 255 символов и повторно используйте его только для отправки точно такого же тела. В течение 24 часов повтор с тем же ключом и телом возвращает первый ответ с заголовком Idempotent-Replayed: true. Тот же ключ с другим телом возвращает 409 idempotency_conflict. Ответы, отличные от 2xx, не сохраняются, поэтому повтор после 400 или 402 выполняется заново.
Как выполняется запрос
Создайте задачу
Отправьте перечисленные ниже параметры методом POST на указанный адрес. Ответ 201 означает, что задача принята, а её стоимость зарезервирована на балансе. Обработка идёт в фоновом режиме. Сохраните data.id.
Дождитесь завершения
Вызывайте GET /v1/tasks/{task_id}, выдерживая между вызовами data.poll_after_seconds (5 с для изображений, 8 с для видео), пока status не станет succeeded или failed. Можно также настроить вебхук для событий task.succeeded и task.failed. Сохраняйте опрос как резервный способ проверки: задача, остановленная по тайм-ауту обработки, не отправляет событие.
Сохраните результат
При succeeded скачайте файлы по всем ссылкам data.output.media[].url и сохраните нужные результаты у себя. BeatAPI не гарантирует срок доступности этих ссылок. При failed прочитайте data.error_code и data.error_message: зарезервированная сумма возвращена на баланс, а data.retryable показывает, может ли повтор того же запроса завершиться успешно.
Режимы ввода
Параметры запроса
model
string
Обязательно
Модель, которую нужно вызвать.
Значение: seedance-2-mini
Если значение неверно
- Поле отсутствует:
"model" is required - На этот адрес API отправлена модель изображений:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
prompt
string
Обязательно
Что должно происходить в видео: объект, действие, движение камеры, стиль и звук. Если используете референсы, укажите назначение каждого материала.
Длина: 1–5000 символов
- Длина измеряется в символах. Иероглиф CJK считается одним символом.
- Ссылайтесь на материалы по их порядку, например «первое референсное изображение» или «второе референсное видео».
Если значение неверно
- Поле отсутствует:
"prompt" is required - Пустое значение или превышена допустимая длина:
"prompt" has an unsupported length
images
string[]
Необязательно
Первый кадр либо первый и последний кадры.
Число элементов: 1–2
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Одна ссылка: видео начинается с этого изображения. Две ссылки:
images[0]задаёт первый кадр,images[1]— последний. - Если изображений больше или они должны направлять генерацию, но не служить кадрами, используйте
reference_images.
Если значение неверно
- Больше двух ссылок:
"images" accepts at most 2 items - Передано вместе с любым полем reference_*:
Cannot combine "images" with reference inputs in one task - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL
reference_images
string[]
Необязательно
Изображения, определяющие содержание, персонажей, товары или стиль видео.
Число элементов: 1–9
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Изображения используются в порядке списка. В промпте ссылайтесь на них по порядку.
Если значение неверно
- Превышено максимальное число элементов:
"reference_images" accepts at most 9 items - Передано вместе с
images:Cannot combine "images" with reference inputs in one task
reference_videos
string[]
Необязательно
Видео, из которых нужно взять движение, работу камеры или содержание.
Число элементов: 1–3
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна возвращать MP4- или MOV-файл с сервера, поддерживающего запросы диапазона байтов. Шлюз измеряет длительность каждого ролика до создания задачи, поскольку секунды референсных видео оплачиваются.
- Каждый ролик — от 1.8 до 15 секунд, суммарная длительность всех роликов — не более 15 секунд.
Каждая секунда референсного видео увеличивает стоимость (см. раздел об оплате). Обрежьте ролик до нужного фрагмента.
Если значение неверно
- Превышено максимальное число элементов:
"reference_videos" accepts at most 3 items - Не удалось прочитать ролик:
A reference video could not be read: reference_videos[0]: its host does not allow byte-range requests. Send an MP4 or MOV file at a public HTTPS URL whose host allows byte-range requests.
reference_audios
string[]
Необязательно
Музыка, голос или звук, на которые должна ориентироваться модель. Аудио не может быть единственным референсом: передайте вместе с ним хотя бы одно референсное изображение или видео.
Число элементов: 1–3
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Для WAV и MP3 проверяются перечисленные ниже ограничения длительности. Другие форматы передаются модели без измерения.
Если значение неверно
- Превышено максимальное число элементов:
"reference_audios" accepts at most 3 items - Аудио без референсного изображения или видео:
seedance-2-mini audio reference requires at least one reference image or video
duration
integer
НеобязательноПо умолчанию: 5
Длительность видео в секундах, целое число.
По умолчанию: 5
Диапазон: 4–15
- Если параметр не указан, передаётся
5.
Если значение неверно
- Значение вне диапазона или не является целым числом:
"duration" is outside its supported range
aspect_ratio
string
НеобязательноПо умолчанию: adaptive
Соотношение ширины и высоты видео. Значение adaptive позволяет модели определить его по входным материалам.
Допустимые значения: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16
По умолчанию: adaptive
- При
adaptiveрезерв рассчитывается для наибольшего кадра выбранного разрешения, поэтому может быть немного выше, чем при фиксированном соотношении сторон.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [adaptive 21:9 16:9 4:3 1:1 3:4 9:16]
resolution
string
НеобязательноПо умолчанию: 720p
Разрешение результата: 480p или 720p. Секунда в 720p стоит дороже.
Допустимые значения: 480p, 720p
По умолчанию: 720p
- Используйте только строчные буквы. Эта модель не поддерживает 1080p и 4K; для них используйте
seedance-2.
Если значение неверно
- Недопустимое значение, например
1080pили720P:"resolution" must be one of: [480p 720p]
Перед созданием задачи шлюз также проверяет следующие сочетания параметров:
imagesнельзя сочетать с полями референсных материалов.
Ограничения входных материалов
До создания задачи шлюз проверяет каждый входной материал. Если ограничение нарушено, возвращается 400 bad_request с указанием материала. Средства не списываются.
- Референсные видео должны быть в MP4 или MOV и доступны по общедоступной HTTPS-ссылке с поддержкой запросов диапазона байтов. Если длительность ролика невозможно измерить, запрос всегда отклоняется, поскольку его секунды оплачиваются.
- Размер изображения проверяется, если сервер сообщает его. Используйте JPEG, PNG или WebP. Если модель не сможет использовать файл, задача завершится с
bad_requestпосле отправки, а средства будут возвращены. - Ограничения проверяются в порядке: длительность, стороны, соотношение сторон, число пикселей, частота кадров и размер файла. Сообщение указывает список и индекс материала, начиная с 0, как в ошибках полей:
reference_videos[0] is 1.5 seconds long; this model takes reference video of 1.8 to 15 seconds. - Длительность измеряется с допуском 0,1 секунды. Размер файла проверяется только тогда, когда сервер его сообщает.
- При создании задачи ссылки на изображения и аудио отклоняются только при ответе сервера 4xx или пустом файле, например
images[1] could not be downloaded: the URL returned HTTP 404.. Остальные проблемы с этими материалами выявляются после отправки. - Частота 23.976 FPS считается ниже 24 и отклоняется. Экспортируйте ролик заново с частотой 24 FPS или выше.
- Файл находится на вашем устройстве? Загрузите его через
POST /v1/filesи передайте полученныйdata.url.
Совместимость параметров
Проверки выполняются при создании задачи в указанном порядке. Нарушающий любое правило запрос отклоняется с 400 bad_request без списания средств.
Параметры, которые модель не принимает
Эти параметры не игнорируются, а отклоняются до списания средств:
- Поля других видеомоделей, например
generate_audio(отсутствует у Mini),seed,task_type,output_format(только Seedance 2.5),watermark,quality,sound,multi_shotsилиcharacter_orientation→field "generate_audio" is not supported by model seedance-2-mini(с именем переданного поля). - Имя, не используемое ни одной видеомоделью BeatAPI →
unknown field: <name>.
Оценка стоимости
Число видеотокенов задачи рассчитывается как N = W × H × (24 × D + 1 + 24 × R) / 1024. Здесь W × H — размер кадра в пикселях при выбранных разрешении и соотношении сторон (1280 × 720 для 720p 16:9, 864 × 496 для 480p 16:9), D — длительность результата в секундах, R — суммарная длительность референсных видео в секундах (0, если их нет). Цена — это N, умноженное на тариф за миллион видеотокенов: примерно 2.110 с ним, одинаково для 480p и 720p.
Например, 5 секунд в 720p 16:9 без референсного видео: 1280 × 720 × 121 / 1024 = 108 900 токенов, примерно $0.377. Шлюз сам измеряет референсные ролики; передавать их длительность не нужно. Это оценка; зарезервированная и списанная суммы указаны в usage задачи.
Примеры запросов
Видео по тексту
Горизонтальный ролик длительностью 5 секунд в 720p.
Первый кадр
Видео начинается с переданного изображения.
Первый и последний кадры
Видео переходит от первого изображения ко второму.
Референсные изображение и аудио
Выступление на основе изображения персонажа и музыкального фрагмента.
Референсные изображение, видео и аудио
Замените ссылку собственным MP4 или MOV длительностью не более 15 секунд. Каждая секунда референсного видео оплачивается (см. раздел об оплате).
Ответы
Создание задачи (201)
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.
Успешно завершённая задача
GET /v1/tasks/{task_id} возвращает HTTP 200 со status: "succeeded" и результатом в data.output.
Поля результата
Задача, завершившаяся ошибкой
Если задача завершилась ошибкой, GET /v1/tasks/{task_id} всё равно возвращает HTTP 200: сведения об ошибке находятся в теле ответа. Зарезервированная сумма возвращается полностью, поэтому списания нет.
Полный пример
Создайте задачу, дождитесь её завершения с интервалом опроса, указанным сервером, и выведите ссылки на результаты. Задайте BEATAPI_API_KEY в переменной окружения и установите requests.
Оплата
- Цена зависит от разрешения, размеров кадра и длительности видео: больше секунд, более высокое разрешение или больший кадр стоят дороже. Референсные изображения и аудио не добавляют стоимости.
- Без референсного видео ролик 16:9 стоит примерно 0.075 (720p) за секунду. При другом соотношении сторон цена отличается на несколько процентов.
- При
reference_videosко всему запросу применяется более низкий тариф «с входным видео». Каждая секунда референсного видео учитывается наравне с секундой результата: при 16:9 примерно 0.046 (720p) за секунду суммарной длительности результата и референсов. - В таблице ниже указана цена 8-секундных роликов. Строки «с входным видео» также включают референсное видео длиной 8 секунд.
- Цена резервируется при создании задачи. При
adaptiveрезерв рассчитывается для наибольшего кадра выбранного разрешения. Списывается резерв либо фактическая стоимость, если созданное видео оказалось дороже. - Если задача завершилась ошибкой, в том числе из-за модерации после отправки, средства возвращаются полностью.
Текущие базовые цены совпадают с указанными на странице цен. Если для аккаунта согласована скидка, стоимость будет ниже. Фактически списанная сумма всегда указана в data.usage задачи.
Частые ошибки
Краткий справочник HTTP-ошибок
Ошибки до создания задачи возвращаются с HTTP-статусом, отличным от 2xx, без списания средств. Обрабатывайте error.code или error.retryable; причина указана в message. Полный список и правила повторов приведены в разделе ошибок.
Аутентификация
Передавайте API-ключ в виде Authorization: Bearer <BEATAPI_API_KEY>.
Заголовки
Передавайте тело запроса в JSON с заголовком Content-Type: application/json. Idempotency-Key необязателен. Для каждого логического запроса используйте уникальное значение длиной не более 255 символов и повторно используйте его только для отправки точно такого же тела. В течение 24 часов повтор с тем же ключом и телом возвращает первый ответ с заголовком Idempotent-Replayed: true. Тот же ключ с другим телом возвращает 409 idempotency_conflict. Ответы, отличные от 2xx, не сохраняются, поэтому повтор после 400 или 402 выполняется заново.
Запрос
Модель, которую нужно вызвать.
Значение: seedance-2-mini
Если значение неверно
- Поле отсутствует:
"model" is required - На этот адрес API отправлена модель изображений:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
Что должно происходить в видео: объект, действие, движение камеры, стиль и звук. Если используете референсы, укажите назначение каждого материала.
Длина: 1–5000 символов
- Длина измеряется в символах. Иероглиф CJK считается одним символом.
- Ссылайтесь на материалы по их порядку, например «первое референсное изображение» или «второе референсное видео».
Если значение неверно
- Поле отсутствует:
"prompt" is required - Пустое значение или превышена допустимая длина:
"prompt" has an unsupported length
Соотношение ширины и высоты видео. Значение adaptive позволяет модели определить его по входным материалам.
Допустимые значения: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16
По умолчанию: adaptive
- При
adaptiveрезерв рассчитывается для наибольшего кадра выбранного разрешения, поэтому может быть немного выше, чем при фиксированном соотношении сторон.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [adaptive 21:9 16:9 4:3 1:1 3:4 9:16]
Длительность видео в секундах, целое число.
По умолчанию: 5
Диапазон: 4–15
- Если параметр не указан, передаётся
5.
Если значение неверно
- Значение вне диапазона или не является целым числом:
"duration" is outside its supported range
Первый кадр либо первый и последний кадры.
Число элементов: 1–2
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Одна ссылка: видео начинается с этого изображения. Две ссылки:
images[0]задаёт первый кадр,images[1]— последний. - Если изображений больше или они должны направлять генерацию, но не служить кадрами, используйте
reference_images.
Если значение неверно
- Больше двух ссылок:
"images" accepts at most 2 items - Передано вместе с любым полем reference_*:
Cannot combine "images" with reference inputs in one task - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL
Музыка, голос или звук, на которые должна ориентироваться модель. Аудио не может быть единственным референсом: передайте вместе с ним хотя бы одно референсное изображение или видео.
Число элементов: 1–3
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Для WAV и MP3 проверяются перечисленные ниже ограничения длительности. Другие форматы передаются модели без измерения.
Если значение неверно
- Превышено максимальное число элементов:
"reference_audios" accepts at most 3 items - Аудио без референсного изображения или видео:
seedance-2-mini audio reference requires at least one reference image or video
Изображения, определяющие содержание, персонажей, товары или стиль видео.
Число элементов: 1–9
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Изображения используются в порядке списка. В промпте ссылайтесь на них по порядку.
Если значение неверно
- Превышено максимальное число элементов:
"reference_images" accepts at most 9 items - Передано вместе с
images:Cannot combine "images" with reference inputs in one task
Видео, из которых нужно взять движение, работу камеры или содержание.
Число элементов: 1–3
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна возвращать MP4- или MOV-файл с сервера, поддерживающего запросы диапазона байтов. Шлюз измеряет длительность каждого ролика до создания задачи, поскольку секунды референсных видео оплачиваются.
- Каждый ролик — от 1.8 до 15 секунд, суммарная длительность всех роликов — не более 15 секунд.
Примечания: Каждая секунда референсного видео увеличивает стоимость (см. раздел об оплате). Обрежьте ролик до нужного фрагмента.
Если значение неверно
- Превышено максимальное число элементов:
"reference_videos" accepts at most 3 items - Не удалось прочитать ролик:
A reference video could not be read: reference_videos[0]: its host does not allow byte-range requests. Send an MP4 or MOV file at a public HTTPS URL whose host allows byte-range requests.
Разрешение результата: 480p или 720p. Секунда в 720p стоит дороже.
Допустимые значения: 480p, 720p
По умолчанию: 720p
- Используйте только строчные буквы. Эта модель не поддерживает 1080p и 4K; для них используйте
seedance-2.
Если значение неверно
- Недопустимое значение, например
1080pили720P:"resolution" must be one of: [480p 720p]
Ответ
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.

