Перейти к основному содержанию
POST

Аутентификация

string
обязательно
Все запросы требуют аутентификации по Bearer Token.Получение API-ключа:Перейдите на страницу управления API-ключами, чтобы получить свой API-ключ.При выполнении запросов добавляйте следующий заголовок:

Параметры запроса

string
обязательно
Название модели генерации видео. Всегда gemini-omni-1.2-flash-ext.
string
обязательно
Описание видео или инструкция по редактированию. После удаления пробелов в начале и в конце не может быть пустым. Для генерации по тексту опишите сцену, персонажей, действия, работу камеры и звук; при передаче изображений или видео опишите движение, стиль или нужные изменения.Пример: "Aerial shot over a misty mountain lake at sunrise."
prompt обязателен во всех режимах, включая первый кадр, несколько референсных изображений, редактирование и продление. Если он отсутствует, возвращается ошибка 400.
integer
по умолчанию:"10"
Длительность видео в секундах. Должна быть целым числом.
  • Генерация по тексту / по первому кадру / по нескольким изображениям: длительность результата, 3–15
  • По первому и последнему кадрам: длительность результата, 3–10
  • Продление (extend): длительность добавляемого фрагмента, 3–10
  • Редактирование (edit): передавать нельзя; длительность результата совпадает с исходным видео
Также поддерживается псевдоним seconds. Если переданы оба параметра, их значения должны совпадать.
Передача duration в режиме редактирования возвращает ошибку video edit does not accept duration.
string
по умолчанию:"720p"
Разрешение видео, без учёта регистра. Определяет цену за секунду.Допустимые значения:
  • 360p
  • 720p
  • 1080p
  • 4k (также принимается 2160p)
Любое другое разрешение возвращает ошибку 400.
string
по умолчанию:"16:9"
Поддерживаются только 16:9 (горизонтальная ориентация, по умолчанию) и 9:16 (вертикальная ориентация); другие значения возвращают ошибку 400.
string
Тип задачи, определяющий, как используются исходные материалы.Допустимые значения:
  • edit - редактирование видео; используется вместе с video_urls или extend_from_task_id
  • extend - продление видео с добавлением нового фрагмента в конец; используется вместе с video_urls или extend_from_task_id
  • reference - генерация по нескольким референсным изображениям; используется вместе с image_urls
  • text_to_video / image_to_video / reference_to_video - по тексту / по первому кадру / по референсным изображениям
  • auto - определяется автоматически по входным данным; при наличии видео считается edit
Если видео не передаётся, параметр можно не указывать — режим определяется автоматически.
При передаче video_urls или extend_from_task_id тип задачи обязателен (omni_reference_task_type или совместимое поле generation_type); без него возвращается ошибка 400. Рекомендуется явно указывать edit или extend; auto обрабатывается как edit.
string
Поле для совместимости, эквивалентное omni_reference_task_type. Допустимые значения: frame (то же, что image_to_video), reference, edit, extend.
generation_type и omni_reference_task_type нельзя передавать одновременно.
array<url>
Массив референсных изображений (персонажи, товары, стили и т. п.), от 1 до 10 изображений.Поддерживаются только общедоступные HTTP/HTTPS URL изображений. Локальные изображения сначала загрузите, чтобы получить публичный URL, и передайте его; Base64 Data URL сейчас не поддерживаются и возвращают ошибку 400.Если передано только 1 изображение, способ его использования зависит от типа задачи:
  • omni_reference_task_type не указан: используется как референсное изображение
  • omni_reference_task_type равен auto или image_to_video: используется как первый кадр
Для генерации по первому кадру рекомендуется сразу использовать first_frame_image, а не полагаться на количество изображений.
image_urls нельзя передавать вместе с first_frame_image или last_frame_image, а изображения из image_urls никогда не считаются первым кадром; при редактировании и продлении изображения передавать также нельзя.
string
Изображение первого кадра: первый кадр сгенерированного видео будет этим изображением. Поддерживаются только общедоступные HTTP/HTTPS URL изображений; Base64 Data URL не поддерживаются.При передаче вместе с last_frame_image выполняется генерация видео по первому и последнему кадрам.
string
Изображение последнего кадра для генерации по первому и последнему кадрам: видео переходит от первого кадра к этому изображению. Поддерживаются только общедоступные HTTP/HTTPS URL изображений; Base64 Data URL не поддерживаются.В режиме первого и последнего кадров:
  • duration поддерживает 3–10; 10 секунд, если не указано
  • нельзя передавать system_prompt и negative_prompt
last_frame_image необходимо передавать вместе с first_frame_image; при передаче только последнего кадра возвращается ошибка last_frame_image requires first_frame_image. Нельзя передавать вместе с image_urls.
array<object>
Массив изображений с ролями — эквивалентная форма записи first_frame_image / last_frame_image / image_urls.
array<url>
Массив видео для редактирования или продления; поддерживается только 1 видео. Вместо него можно использовать поле с одним значением video_url — передавайте только одно из них.Поддерживаются только общедоступные HTTP/HTTPS URL видео. Формат MP4 / MOV / WebM, длительность не более 15 секунд, размер не более 64 MB.
При передаче video_urls тип задачи обязателен; рекомендуется указать omni_reference_task_type со значением edit или extend (auto обрабатывается как edit). Без него возвращается ошибка 400. Передача 2 и более видео возвращает ошибку 400.
string
ID задачи на этой платформе (task_01…). Позволяет продолжить редактирование или продление одной из ваших ранее завершённых задач gemini-omni-1.2-flash-ext без повторной загрузки видео.Условия использования:
  • Задача принадлежит текущему аккаунту
  • Модель задачи — gemini-omni-1.2-flash-ext
  • Статус задачи — completed
  • Канал, на котором была создана исходная задача, по-прежнему доступен; иначе возвращается 503 source_channel_unavailable
  • Исходный результат не длиннее 15 секунд (относится и к редактированию, и к продлению); в режиме редактирования его длительность также должна определяться
Если канал недоступен или длительность исходного результата не удаётся определить, скачайте исходный результат и загрузите его через video_urls. Если исходный результат длиннее 15 секунд, перед загрузкой обрежьте его до 15 секунд.
extend_from_task_id нельзя передавать вместе с video_urls, и тип задачи обязателен; рекомендуется указать omni_reference_task_type со значением edit или extend (auto обрабатывается как edit).
string
Содержимое, которое не должно появляться в видео.Пример: "people, cars, color"
В режиме первого и последнего кадров нельзя передавать negative_prompt.
string
Системная инструкция, например фиксированный визуальный стиль или запрет текста в кадре. Должна быть строкой.Пример: "Render as a black-and-white silent film."
В режиме первого и последнего кадров нельзя передавать system_prompt.

Ответ

integer
Код состояния ответа. Успешные запросы возвращают 200.
array
Возвращаемый массив задач.

Получение результата задачи

Генерация видео выполняется асинхронно. После отправки возвращается task_id; используйте API Получение статуса задачи, чтобы узнать прогресс и результат.
cURL
Рекомендуется опрашивать статус каждые 5-10 секунд и установить тайм-аут клиента не менее 10 минут. Ориентировочное время генерации (с учётом очереди): около 46 секунд для 15-секундного видео 360p, около 99 секунд для 15 секунд 1080p и около 4-5 минут для 15 секунд 4k. Во время генерации прогресс может долго оставаться на 10% до завершения.

Пример успешного результата

URL видео — data.result.videos[0].url[0]. data.actual_time — время выполнения задачи в секундах, а не длительность видео. Результат — MP4 (H.264, 24fps) с аудиодорожкой AAC и невидимым водяным знаком SynthID; в 4k аудиодорожка иногда отсутствует.

Пример неудачного результата

При сбое задачи средства возвращаются в полном объёме.

Тарификация

Посекундная тарификация: стоимость = цена за секунду для выбранного разрешения × количество тарифицируемых секунд. Во всех режимах тарификация идёт по запрошенному уровню разрешения. Актуальные цены см. на странице цен.

Сценарии использования

Сценарий 1: Текст в видео

Сценарий 2: видео по первому кадру

Сценарий 3: видео по первому и последнему кадрам

В режиме первого и последнего кадров duration поддерживает 3–10 секунд (10 секунд, если не указано); system_prompt / negative_prompt передавать нельзя.

Сценарий 4: несколько референсных изображений

Сценарий 5: редактирование видео

При редактировании не передавайте duration: длительность результата совпадает с исходным видео.

Сценарий 6: продление видео

Сценарий 7: продление существующей задачи

Сценарий 8: системная инструкция и негативный промпт