Gemini Omni 1.1 Flash
Создавайте видео со звуком длительностью 3–10 секунд в 720p, 1080p или 4K по тексту, первому кадру, первому и последнему кадрам или по 10 референсным изображениям и 3 референсным видео.
- Асинхронная обработка: запрос создания возвращает ID задачи. Видео будет доступно после её успешного завершения.
- Четыре варианта входных данных под одним ID модели: только текст, один первый кадр, первый и последний кадры в
imagesили до 10reference_imagesи до 3 необязательныхreference_videos. Кадры и референсы сочетать нельзя. - Ролики длительностью от 3 до 10 секунд в формате
16:9или9:16;duration— целое число секунд. - Каждое видео создаётся со звуковой дорожкой. Выключить звук нельзя, референсное аудио не принимается.
- Цена зависит от разрешения и запрошенного числа секунд. Задача, завершившаяся ошибкой, не оплачивается.
Открывает модель в 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
Обязательно
Модель, которую нужно вызвать.
Значение: gemini-omni-1.1-flash
Если значение неверно
- Поле отсутствует:
"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 - Значение не является строкой:
"prompt" must be a string
images
string[]
Необязательно
Кадры: одна ссылка задаёт первый кадр, две ссылки — первый и последний кадры в этом порядке. Необязательно: не передавайте поле для генерации по тексту или при отправке референсов.
Число элементов: 1–2
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна быть общедоступным URL
https://. - Изображения, на которые видео должно опираться, но не начинаться или заканчиваться ими, передавайте в
reference_images.
Если значение неверно
- Больше 2 ссылок:
"images" accepts at most 2 items - Пустой массив:
"images" requires at least 1 item - Значение не является массивом:
"images" must be an array - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL - Отправлено вместе с
reference_imagesилиreference_videos:Cannot combine "images" with reference inputs in one task
reference_images
string[]
Необязательно
От одного до десяти изображений людей, товаров, стилей или мест, которые должно использовать видео.
Число элементов: 1–10
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна быть общедоступным URL
https://. - Обязательно, если вы передаёте
reference_videos.
Если значение неверно
- Больше 10 ссылок:
"reference_images" accepts at most 10 items - Пустой массив:
"reference_images" requires at least 1 item - Значение не является массивом:
"reference_images" must be an array - Передано вместе с
images:Cannot combine "images" with reference inputs in one task
reference_videos
string[]
Необязательно
От одного до трёх видеороликов, движение, работу камеры или объект которых должно повторить новое видео.
Число элементов: 1–3
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна быть общедоступным URL
https://на файл MP4, MOV или WebM. - Только вместе как минимум с одной ссылкой в
reference_images. - Референсные видео не меняют цену: оплачиваются секунды нового видео.
Если значение неверно
- Отправлено без
reference_images:Gemini Omni 1.1 Flash "reference_videos" need at least one image in "reference_images" - Больше 3 ссылок:
"reference_videos" accepts at most 3 items - Передано вместе с
images:Cannot combine "images" with reference inputs in one task
duration
integer
НеобязательноПо умолчанию: 5
Длительность видео в секундах, целое число.
По умолчанию: 5
Диапазон: 3–10
- Если параметр не указан, используется и оплачивается
5. - Секунды оплачиваются (см. раздел об оплате), поэтому это основной параметр управления стоимостью.
Если значение неверно
- Вне диапазона 3–10, не целое число или передано строкой:
"duration" is outside its supported range
aspect_ratio
string
НеобязательноПо умолчанию: 16:9
Формат видео: горизонтальный 16:9 или вертикальный 9:16.
Допустимые значения: 16:9, 9:16
По умолчанию: 16:9
- Если параметр не указан, используется
16:9. - Применяется и к кадрам: выберите формат первого кадра.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [16:9 9:16]
resolution
string
НеобязательноПо умолчанию: 720p
Выходное разрешение. Каждая следующая ступень дороже за секунду.
Допустимые значения: 720p, 1080p, 4k
По умолчанию: 720p
- Если не указать, используется
720p. 4kи4K— один и тот же класс.
Если значение неверно
- Недопустимое значение, например
480pили720P:"resolution" must be one of: [720p 1080p 4k 4K]
Перед созданием задачи шлюз также проверяет следующие сочетания параметров:
imagesнельзя сочетать с полями референсных материалов.images— это кадры: одно изображение задаёт первый кадр, два — первый и последний кадры в этом порядке.- Для
reference_videosнужно хотя бы одно изображение вreference_images. - Переключателя звука нет; референсное аудио не поддерживается.
Ограничения входных материалов
До создания задачи шлюз проверяет каждый входной материал. Если ограничение нарушено, возвращается 400 bad_request с указанием материала. Средства не списываются.
- Перед созданием задачи шлюз проверяет размер каждого файла по ссылке. Файл больше лимита отклоняется с ошибкой 400, в которой он назван, например
images[0] is 25.0 MB; this model takes images up to 20 MB., и ничего не списывается. - Ссылка, хост которой отвечает ошибкой 4xx или которая ведёт на пустой файл, отклоняется так же:
<field>[<n>] could not be downloaded: <reason>. - Если после создания задачи модель не может использовать ссылку, задача завершается ошибкой, обычно
bad_request, и её стоимость возвращается полностью. - Файл находится на вашем устройстве? Загрузите его через
POST /v1/filesи передайте полученныйdata.url.
Параметры, которые модель не принимает
Если отправить одно из этих полей, запрос будет отклонён до списания средств, а не проигнорирован:
reference_audios,generate_audio,seed,quality,sound,task_type,output_format,watermarkи другие поля других видеомоделей →field "generate_audio" is not supported by model gemini-omni-1.1-flash(с полем, которое вы отправили). Звуковая дорожка создаётся всегда, переключать нечего.- Любое поле, которое видеоэндпоинт вообще не знает →
unknown field: <name>.
Примеры запросов
Видео по тексту
Горизонтальный ролик на 5 секунд в 720p, созданный только по тексту.
Первый кадр
Ролик 5 секунд в 720p, начинающийся с одного изображения.
Первый и последний кадры
Ролик 8 секунд в 1080p с переходом от первого изображения ко второму.
Референсные изображения и одно референсное видео
Два референсных изображения и одно референсное видео: вертикальный ролик 8 секунд в 720p.
Ответы
Создание задачи (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.
Оплата
- Цена зависит от разрешения и запрошенного числа секунд (
duration, 5, если не указано). 1080p дороже за секунду, чем 720p, а 4K дороже, чем 1080p. Способ ввода,aspect_ratioи количество кадров или референсов на цену не влияют. - В таблице ниже указана цена 8-секундных роликов. Другая длительность оплачивается посекундно по тому же тарифу выбранного разрешения.
- Цена резервируется при создании задачи. Поле
data.usage.billable_duration_secondsпоказывает длительность, по которой она рассчитана. - Если задача завершилась ошибкой, в том числе из-за модерации после отправки, средства возвращаются полностью.
Текущие базовые цены совпадают с указанными на странице цен. Если для аккаунта согласована скидка, стоимость будет ниже. Фактически списанная сумма всегда указана в 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 выполняется заново.
Запрос
Модель, которую нужно вызвать.
Значение: gemini-omni-1.1-flash
Если значение неверно
- Поле отсутствует:
"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 - Значение не является строкой:
"prompt" must be a string
Формат видео: горизонтальный 16:9 или вертикальный 9:16.
Допустимые значения: 16:9, 9:16
По умолчанию: 16:9
- Если параметр не указан, используется
16:9. - Применяется и к кадрам: выберите формат первого кадра.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [16:9 9:16]
Длительность видео в секундах, целое число.
По умолчанию: 5
Диапазон: 3–10
- Если параметр не указан, используется и оплачивается
5. - Секунды оплачиваются (см. раздел об оплате), поэтому это основной параметр управления стоимостью.
Если значение неверно
- Вне диапазона 3–10, не целое число или передано строкой:
"duration" is outside its supported range
Кадры: одна ссылка задаёт первый кадр, две ссылки — первый и последний кадры в этом порядке. Необязательно: не передавайте поле для генерации по тексту или при отправке референсов.
Число элементов: 1–2
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна быть общедоступным URL
https://. - Изображения, на которые видео должно опираться, но не начинаться или заканчиваться ими, передавайте в
reference_images.
Если значение неверно
- Больше 2 ссылок:
"images" accepts at most 2 items - Пустой массив:
"images" requires at least 1 item - Значение не является массивом:
"images" must be an array - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL - Отправлено вместе с
reference_imagesилиreference_videos:Cannot combine "images" with reference inputs in one task
От одного до десяти изображений людей, товаров, стилей или мест, которые должно использовать видео.
Число элементов: 1–10
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна быть общедоступным URL
https://. - Обязательно, если вы передаёте
reference_videos.
Если значение неверно
- Больше 10 ссылок:
"reference_images" accepts at most 10 items - Пустой массив:
"reference_images" requires at least 1 item - Значение не является массивом:
"reference_images" must be an array - Передано вместе с
images:Cannot combine "images" with reference inputs in one task
От одного до трёх видеороликов, движение, работу камеры или объект которых должно повторить новое видео.
Число элементов: 1–3
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждая ссылка должна быть общедоступным URL
https://на файл MP4, MOV или WebM. - Только вместе как минимум с одной ссылкой в
reference_images. - Референсные видео не меняют цену: оплачиваются секунды нового видео.
Если значение неверно
- Отправлено без
reference_images:Gemini Omni 1.1 Flash "reference_videos" need at least one image in "reference_images" - Больше 3 ссылок:
"reference_videos" accepts at most 3 items - Передано вместе с
images:Cannot combine "images" with reference inputs in one task
Выходное разрешение. Каждая следующая ступень дороже за секунду.
Допустимые значения: 720p, 1080p, 4k
По умолчанию: 720p
- Если не указать, используется
720p. 4kи4K— один и тот же класс.
Если значение неверно
- Недопустимое значение, например
480pили720P:"resolution" must be one of: [720p 1080p 4k 4K]
Ответ
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.

