Veo 3.1
Создавайте 8-секундные видео со звуком в 720p, 1080p или 4K по тексту, по одному-двум кадрам или с использованием не более трёх референсных изображений. Выберите Quality, Fast или Lite: у каждого уровня свой тариф.
- Асинхронная обработка: запрос создания возвращает ID задачи. Видео будет доступно после её успешного завершения.
- Один ID модели, три уровня:
qualityвыбирает Quality, Fast или Lite. Для каждой пары уровня и разрешения установлен отдельный тариф. - Поля
durationнет: длительность определяет модель, а цена задаётся за ролик. В прайс-листе он описан как видео со звуком длительностью 8 секунд. - Для референсных изображений требуется Fast или Lite. Если не указать
quality, используется Fast; Quality отклоняется. Запросы по тексту и кадрам по умолчанию используют Quality. - Оплата за ролик по уровню и разрешению, а не за секунду. Задача, завершившаяся ошибкой, не оплачивается.
Открывает модель в API Explorer. Введите свой API-ключ BeatAPI, чтобы создать задачу. Это настоящий запрос: его стоимость спишется с вашего баланса.
Адрес 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
Обязательно
Модель, которую нужно вызвать. Veo 3.1 имеет один ID, уровень выбирается параметром quality.
Значение: veo-3.1
Если значение неверно
- Поле отсутствует:
"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
quality
string
Необязательно
Уровень: Quality, Fast или Lite. Для каждой пары уровня и разрешения установлен отдельный тариф.
Допустимые значения: Quality, Fast, Lite
- Регистр важен:
Fast, а неfast. - Если параметр не указан, запросы по тексту и кадрам используют
Quality, а по референсным изображениям —Fast, более дешёвый уровень с поддержкой референсов. Qualityнельзя использовать сreference_images. ПередайтеFastилиLiteлибо не задавайтеquality.- Уровень определяет цену; см. раздел об оплате. Фактическая сумма указана в
usageзавершённой задачи.
Отсутствие quality не означает одинаковую цену во всех режимах. Запросы по тексту и кадрам оплачиваются как Quality — самый дорогой уровень. Указывайте quality явно.
Если значение неверно
- Значение отсутствует в списке допустимых:
"quality" must be one of: [Quality Fast Lite] Qualityвместе сreference_images:Veo 3.1 Quality does not support reference images
images
string[]
Необязательно
Первый кадр либо первый и последний кадры.
Число элементов: 1–2
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Одна ссылка: видео начинается с этого изображения. Две ссылки:
images[0]задаёт первый кадр,images[1]— последний. - Для изображений, которые должны направлять генерацию, но не служить кадрами, используйте
reference_imagesс Fast или Lite.
Если значение неверно
- Больше двух ссылок:
"images" accepts at most 2 items - Пустой массив:
"images" requires at least 1 item - Передано вместе с
reference_images:Cannot combine "images" with reference inputs in one task - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL
reference_images
string[]
Необязательно
От одного до трёх изображений, определяющих содержание, персонажей или стиль видео.
Число элементов: 1–3
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Требуется
FastилиLite. Еслиqualityне задан, используетсяFast. aspect_ratioдолжно быть16:9или9:16; по умолчанию —16:9.- Изображения используются в порядке списка. В промпте ссылайтесь на них по порядку.
Если значение неверно
- Больше трёх ссылок:
"reference_images" accepts at most 3 items - Пустой массив:
"reference_images" requires at least 1 item - Передано вместе с
images:Cannot combine "images" with reference inputs in one task - Вместе с
quality: "Quality":Veo 3.1 Quality does not support reference images - Вместе с
aspect_ratio: "auto":Veo 3.1 reference mode requires aspect_ratio 16:9 or 9:16
aspect_ratio
string
НеобязательноПо умолчанию: 16:9
Соотношение ширины и высоты видео. При auto выбор делает модель.
Допустимые значения: 16:9, 9:16, auto
По умолчанию: 16:9
autoне принимается сreference_images. Используйте16:9или9:16.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [16:9 9:16 auto] autoвместе сreference_images:Veo 3.1 reference mode requires aspect_ratio 16:9 or 9:16
resolution
string
НеобязательноПо умолчанию: 720p
Разрешение результата. У каждого уровня свой тариф для каждого разрешения; 4K стоит дороже всего.
Допустимые значения: 720p, 1080p, 4k
По умолчанию: 720p
4kи4Kозначают одно и то же; принимаются оба варианта. Остальные значения пишутся строчными буквами.- В прайс-листе это разрешение называется
4K.
Если значение неверно
- Недопустимое значение, например
1080P:"resolution" must be one of: [720p 1080p 4k 4K]
watermark
string
Необязательно
Необязательный текст водяного знака, передаётся модели без изменений. Если не указать поле, используется значение по умолчанию модели.
- Это строка, а не переключатель:
trueиfalseотклоняются.
Если значение неверно
- Значение не является строкой:
"watermark" must be a string
enable_translation
boolean
Необязательно
Передаётся модели как переключатель перевода промпта. Если не указать поле, используется значение по умолчанию модели.
Если значение неверно
- Значение не равно true или false:
"enable_translation" must be a boolean
Перед созданием задачи шлюз также проверяет следующие сочетания параметров:
imagesнельзя сочетать с полями референсных материалов.
Ограничения входных материалов
До создания задачи шлюз проверяет каждый входной материал. Если ограничение нарушено, возвращается 400 bad_request с указанием материала. Средства не списываются.
- Шлюз проверяет только общедоступность HTTPS-ссылки на каждое изображение. До создания задачи не измеряются размер файла, формат или размеры изображения. Поэтому неподходящее для модели изображение вызывает ошибку уже после отправки. Сообщение укажет, что изменить, а вся зарезервированная сумма вернётся.
- Файл находится на вашем устройстве? Загрузите его через
POST /v1/filesи передайте полученныйdata.url.
Выбор уровня
Один ID модели охватывает три уровня. Это отдельные варианты с собственными ценами, выбираемые параметром quality.
- Цены для каждого разрешения приведены в таблице раздела об оплате. При любом разрешении Quality — самый дорогой, а Lite — самый дешёвый уровень.
Параметры, которые модель не принимает
Эти параметры не игнорируются, а отклоняются до списания средств:
duration→field "duration" is not supported by model veo-3.1. Все видео Veo 3.1 имеют длительность 8 секунд, выбирать её не нужно.reference_videos,reference_audios,generate_audio,seed,sound,task_type,output_format→field "<name>" is not supported by model veo-3.1(с именем переданного поля). Поля для включения или отключения звука нет.- Любое другое неизвестное поле →
unknown field: <name>.
Примеры запросов
Видео по тексту (Fast)
Ролик длительностью 8 секунд в 720p на уровне Fast. quality указан намеренно: без него текстовый запрос оплачивается как Quality.
Видео по тексту (Quality, 1080p)
Вертикальное видео на уровне Quality в 1080p.
Видео по тексту (Lite, 4K)
4k и 4K равнозначны.
Первый и последний кадры
Видео переходит от первого изображения ко второму. Если в images одна ссылка, видео начинается с этого изображения.
Референсные изображения
Требуется Fast или Lite и aspect_ratio со значением 16:9 или 9:16.
Ответы
Создание задачи (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.
Оплата
- Оплата за ролик, а не за секунду: каждое видео длится 8 секунд, цена зависит от уровня (
quality) и разрешения. Звук включён в стоимость. - В таблице ниже отдельная строка для каждой пары уровня и разрешения. При любом разрешении Quality — самый дорогой, Lite — самый дешёвый уровень. Внутри уровня дороже всего 4K.
- Если не указать
quality, запрос по тексту или кадрам оплачивается как Quality, а запрос по референсным изображениям — как Fast. Указывайтеquality, чтобы заранее знать тариф. - Цена резервируется при создании задачи и окончательно списывается, когда видео готово. Если задача завершилась ошибкой, в том числе из-за модерации после отправки, средства возвращаются полностью.
Текущие базовые цены совпадают с указанными на странице цен. Если для аккаунта согласована скидка, стоимость будет ниже. Фактически списанная сумма всегда указана в 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 выполняется заново.
Запрос
Модель, которую нужно вызвать. Veo 3.1 имеет один ID, уровень выбирается параметром quality.
Значение: veo-3.1
Если значение неверно
- Поле отсутствует:
"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
Соотношение ширины и высоты видео. При auto выбор делает модель.
Допустимые значения: 16:9, 9:16, auto
По умолчанию: 16:9
autoне принимается сreference_images. Используйте16:9или9:16.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [16:9 9:16 auto] autoвместе сreference_images:Veo 3.1 reference mode requires aspect_ratio 16:9 or 9:16
Передаётся модели как переключатель перевода промпта. Если не указать поле, используется значение по умолчанию модели.
Если значение неверно
- Значение не равно true или false:
"enable_translation" must be a boolean
Первый кадр либо первый и последний кадры.
Число элементов: 1–2
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Одна ссылка: видео начинается с этого изображения. Две ссылки:
images[0]задаёт первый кадр,images[1]— последний. - Для изображений, которые должны направлять генерацию, но не служить кадрами, используйте
reference_imagesс Fast или Lite.
Если значение неверно
- Больше двух ссылок:
"images" accepts at most 2 items - Пустой массив:
"images" requires at least 1 item - Передано вместе с
reference_images:Cannot combine "images" with reference inputs in one task - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL
Уровень: Quality, Fast или Lite. Для каждой пары уровня и разрешения установлен отдельный тариф.
Допустимые значения: Quality, Fast, Lite
- Регистр важен:
Fast, а неfast. - Если параметр не указан, запросы по тексту и кадрам используют
Quality, а по референсным изображениям —Fast, более дешёвый уровень с поддержкой референсов. Qualityнельзя использовать сreference_images. ПередайтеFastилиLiteлибо не задавайтеquality.- Уровень определяет цену; см. раздел об оплате. Фактическая сумма указана в
usageзавершённой задачи.
Примечания: Отсутствие quality не означает одинаковую цену во всех режимах. Запросы по тексту и кадрам оплачиваются как Quality — самый дорогой уровень. Указывайте quality явно.
Если значение неверно
- Значение отсутствует в списке допустимых:
"quality" must be one of: [Quality Fast Lite] Qualityвместе сreference_images:Veo 3.1 Quality does not support reference images
От одного до трёх изображений, определяющих содержание, персонажей или стиль видео.
Число элементов: 1–3
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Требуется
FastилиLite. Еслиqualityне задан, используетсяFast. aspect_ratioдолжно быть16:9или9:16; по умолчанию —16:9.- Изображения используются в порядке списка. В промпте ссылайтесь на них по порядку.
Если значение неверно
- Больше трёх ссылок:
"reference_images" accepts at most 3 items - Пустой массив:
"reference_images" requires at least 1 item - Передано вместе с
images:Cannot combine "images" with reference inputs in one task - Вместе с
quality: "Quality":Veo 3.1 Quality does not support reference images - Вместе с
aspect_ratio: "auto":Veo 3.1 reference mode requires aspect_ratio 16:9 or 9:16
Разрешение результата. У каждого уровня свой тариф для каждого разрешения; 4K стоит дороже всего.
Допустимые значения: 720p, 1080p, 4k
По умолчанию: 720p
4kи4Kозначают одно и то же; принимаются оба варианта. Остальные значения пишутся строчными буквами.- В прайс-листе это разрешение называется
4K.
Если значение неверно
- Недопустимое значение, например
1080P:"resolution" must be one of: [720p 1080p 4k 4K]
Необязательный текст водяного знака, передаётся модели без изменений. Если не указать поле, используется значение по умолчанию модели.
- Это строка, а не переключатель:
trueиfalseотклоняются.
Если значение неверно
- Значение не является строкой:
"watermark" must be a string
Ответ
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.

