Gemini Omni 1.2 Flash — Параметры и ограничения
Контракт APIMaster для gemini-omni-1.2-flash проверен 2026-11-07. Это API шлюза, а не нативный Google Interactions API. Правила Official/Ext модели 1.1 здесь не применяются.
Gemini Omni 1.2 Flash
Контракт APIMaster для gemini-omni-1.2-flash проверен 2026-11-07. Это API шлюза, а не нативный Google Interactions API. Правила Official/Ext модели 1.1 здесь не применяются.
OpenAPI 3.1 · Gemini Omni 1.2 Flash
Маршруты и авторизация
Текущий публичный маршрут — канал 335. Используйте Authorization: Bearer YOUR_API_KEY и Content-Type: application/json. Обычные ограничения ключа по модели, группе, балансу и доступности маршрута сохраняются; отдельного опубликованного списка допуска клиентов нет. Не добавляйте номер канала к ID модели. Отдельного маршрута Ext для 1.2 нет; наличие модели в списке не означает доступ ко всем возможностям Google.
POST https://apimaster.ai/v1/videosPOST https://apimaster.ai/v1/videos/generationsGET https://apimaster.ai/v1/videos/{task_id}GET https://apimaster.ai/v1/videos/{task_id}/contentGET https://apimaster.ai/v1/video-submissions/by-keyGET https://apimaster.ai/api/log/token
Параметры и ограничения
| Поле | Тип | Правило |
|---|---|---|
model |
string |
Точный публичный ID модели. |
prompt |
string |
Непустая инструкция обязательна во всех режимах, включая редактирование и продолжение. |
duration |
integer |
По умолчанию 10; обычная генерация 3–15 целых секунд; интерполяция и новый сегмент продолжения 3–10. При редактировании игнорируется. |
seconds |
integer / string |
Совместимый псевдоним duration; целое число или строка с целым числом. Если переданы оба поля, duration имеет приоритет. |
resolution |
string |
360p / 720p (по умолчанию) / 1080p / 4k, без учёта регистра; 2160p означает 4k. 1080p и 4k получаются повышением разрешения. |
aspect_ratio |
string |
16:9 по умолчанию или 9:16. Другие строки сейчас приводятся к 16:9; передавайте только поддерживаемые значения. |
ratio |
string |
Устаревший псевдоним соотношения сторон, не разрешения; предпочтительно aspect_ratio. |
size |
string |
Устаревший псевдоним соотношения сторон. Приоритет: aspect_ratio, ratio, size. |
image_urls |
string[] |
Публичные HTTP(S) ссылки на изображения; одно изображение по умолчанию задаёт начальный кадр, несколько — референсы. |
first_frame_image |
string |
Публичная ссылка на первый кадр. |
last_frame_image |
string |
Требует first_frame_image; пропорции кадров должны соответствовать выходному видео. |
image_with_roles |
object[] |
Альтернатива отдельным полям кадров. Элемент содержит url и непустой role; first_frame/last_frame обозначают кадры, остальные роли — референсы. Последний кадр требует первого. |
video_urls |
string[] |
Не более одного публичного видео длительностью до 15 секунд. По умолчанию выполняется редактирование. |
omni_reference_task_type |
string |
auto, edit, extend, reference, text_to_video, image_to_video, reference_to_video. Для продолжения явно задайте extend. |
extend_from_task_id |
string |
Ваш успешно завершённый публичный task_... этой модели; несовместим с video_urls. Исходный канал и аккаунт поставщика должны оставаться доступными. Это не Google interaction ID. |
Всего допускается не более 10 изображений, включая кадры. Используйте либо image_with_roles, либо отдельные поля кадров. Рекомендация поставщика для персонажей: до двух персонажей и трёх изображений каждого. Допустимы публичные прямые HTTP(S) ссылки; Base64, Data URL и multipart не поддерживаются. Проверялись PNG/JPEG и MP4. Анализ длительности совместим с MP4/MOV и читает не более 100 MiB; это предел чтения, а не гарантированный лимит загрузки поставщика. Полный список кодеков, лимит размера отдельного изображения и остальные ограничения размера не опубликованы.
Аудиореференсы, audio_urls, состояние Google interaction/conversation, metadata, generation_type, system_prompt, temperature, negative_prompt, seed, fps и n не поддерживаются. Описывайте отрицательные требования и желаемый звук в prompt. Допускается цепочка завершённых публичных задач, но каждая новая ссылка на видео ограничена 15 секундами; нативной многоходовой сессии Google нет. Неизвестные поля верхнего уровня отклоняются.
Примеры JSON без выполнения
Это только тела запросов: они ничего не выполняют. Замените example.com и фиктивные ID своими данными. Каждый новый запрос получает новый ключ; при повторе той же операции сохраняйте ключ и тело. Для следующего хода используйте публичный ID завершённой дочерней задачи. Аудиовход не поддерживается, поэтому корректного аудиопримера нет.
1. text_to_video
{"model":"gemini-omni-1.2-flash","prompt":"A blue glass sphere rolls slowly across a plain gray table.","duration":3,"resolution":"360p","aspect_ratio":"16:9"}
2. reference_to_video
{"model":"gemini-omni-1.2-flash","prompt":"Animate these geometric references while preserving their shapes and colors.","image_urls":["https://example.com/reference-a.png","https://example.com/reference-b.png"],"omni_reference_task_type":"reference","duration":6,"resolution":"720p","aspect_ratio":"16:9"}
3. first_frame_image / last_frame_image
{"model":"gemini-omni-1.2-flash","prompt":"Make a smooth transition from the first view to the last view.","first_frame_image":"https://example.com/first.png","last_frame_image":"https://example.com/last.png","duration":6,"resolution":"720p","aspect_ratio":"16:9"}
4. image_with_roles
{"model":"gemini-omni-1.2-flash","prompt":"Make a smooth transition between these views.","image_with_roles":[{"url":"https://example.com/first.png","role":"first_frame"},{"url":"https://example.com/last.png","role":"last_frame"}],"duration":6,"resolution":"720p"}
5. edit / video_urls
{"model":"gemini-omni-1.2-flash","prompt":"Change the lighting to sunset while preserving the scene.","video_urls":["https://example.com/input.mp4"],"omni_reference_task_type":"edit","resolution":"720p"}
6. extend / video_urls
{"model":"gemini-omni-1.2-flash","prompt":"Continue the camera movement for three more seconds.","video_urls":["https://example.com/input.mp4"],"omni_reference_task_type":"extend","duration":3,"resolution":"720p"}
7. extend / extend_from_task_id
{"model":"gemini-omni-1.2-flash","prompt":"Continue the previous scene with a gentle camera pan.","extend_from_task_id":"task_YOUR_COMPLETED_TASK","omni_reference_task_type":"extend","duration":3,"resolution":"720p"}
8. edit / extend_from_task_id
{"model":"gemini-omni-1.2-flash","prompt":"Keep the scene but turn the blue sphere yellow.","extend_from_task_id":"task_YOUR_COMPLETED_TASK","omni_reference_task_type":"edit","resolution":"720p"}
Задача, опрос и загрузка
Первый принятый POST возвращает HTTP 200 и queued. Опрос каждые 5–10 секунд: queued → in_progress → completed/failed; также обрабатывайте переходное unknown. URL результата и metadata.url — защищённые прокси платформы: загружайте с Bearer-ключом. Ошибка генерации обычно возвращается при опросе с HTTP 200 и error.code=generation_failed; сообщение очищено от секретных данных. Ошибки отправки используют HTTP 4xx/5xx. Тайм-аут или 5xx не доказывают, что запрос не принят. Ниже приведена структура ответа с заменёнными ID и временем.
{"id":"task_REDACTED_EXAMPLE","task_id":"task_REDACTED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"queued"}
{"id":"task_REDACTED_COMPLETED_EXAMPLE","task_id":"task_REDACTED_COMPLETED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"completed","progress":100,"created_at":1793966808,"url":"https://apimaster.ai/v1/videos/task_REDACTED_COMPLETED_EXAMPLE/content","metadata":{"url":"https://apimaster.ai/v1/videos/task_REDACTED_COMPLETED_EXAMPLE/content"}}
{"id":"task_REDACTED_FAILED_EXAMPLE","task_id":"task_REDACTED_FAILED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"failed","progress":100,"created_at":1793966808,"error":{"code":"generation_failed","message":"The generation request failed."}}
Использование, окончательная стоимость и возвраты
Опрос задачи не гарантирует usage, разбивку модальностей или USD. Итоговый клиентский расход после сверки — other.final_amount_usd в журнале потребления. GET /api/log/token с тем же ключом возвращает ограниченный список последних записей этого ключа, не архив счетов. Для истории всего аккаунта нужен вход в аккаунт и GET /api/log/self; ключ генерации не заменяет такую авторизацию. Разберите строку other как JSON и сопоставьте other.task_id. При наличии фактических данных доступны prompt_tokens, completion_tokens и other.input_tokens, text_output_tokens, video_output_tokens, token_usage_source, retail_token_prices, group_ratio. Входные токены агрегированы, отдельная разбивка текста/изображений/видео не гарантируется.
На 2026-11-07 базовые клиентские ставки канала 335: $1.32 за вход, $7.92 за текстовый выход, $10.56 за видеовыход на миллион токенов, до индивидуальных коэффициентов. Текущие ставки проверяйте в карточке. При отправке резервируется оценка; затем фактические данные и зафиксированные ставки определяют доплату или возврат. Подтверждённая неудачная генерация возвращает резерв; неизвестное принятие не означает немедленный возврат. 500,000 quota = USD 1. Не считайте начальный резерв итогом и не суммируйте окончательную сумму повторно с корректирующими записями. Исторический пример: вход 39, текстовый выход 0, видеовыход 5793, итог $0.064286 — не обещание цены нового запроса.
USD = (input_tokens × input_rate
+ text_output_tokens × text_output_rate
+ video_output_tokens × video_output_rate) / 1,000,000
Продолжение оплачивает видеовыход нового сегмента плюс входное исходное видео; возвращаемый MP4 содержит обе части. Проверялось продолжение 3-секундного ролика ещё на 3 секунды: файл около 6 секунд, выходные токены соответствуют новым 3 секундам. Звук сгенерированного видео входит в видеовыход. При отсутствии текстовой детализации текущий парсер считает сообщённый выход видеовыходом. При отсутствии корректной статистики токенов возможен расчёт по достоверной квитанции поставщика: token_usage_source=provider_cost_receipt, без вымышленных счётчиков. Если нет ни статистики, ни стоимости, сверка продолжается. Полные счётчики и фиксированный срок окончательного расчёта не гарантируются.
Идемпотентность шлюза и восстановление
Idempotency-Key содержит 8–128 видимых ASCII-символов без пробелов; поля в теле нет. Ключ изолирован аккаунтом. Один и тот же запрос с тем же ключом получает HTTP 202 и Idempotency-Replayed:true без второй генерации или списания; изменение тела, группы либо явного маршрута даёт 409 idempotency_conflict. Порядок ключей JSON не важен; порядок массивов, изменённые значения и пропущенные/явные значения по умолчанию важны. При обрыве соединения шлюз по возможности завершает уже начатую ограниченную попытку и сохранение результата.
{"code":200,"data":{"submission_id":"REDACTED_SUBMISSION_ID","task_id":"task_REDACTED_EXAMPLE","model":"gemini-omni-1.2-flash","status":"accepted","task_ready":true,"same_key_replay_safe":true,"new_submission_safe":false,"next_action":"query_task"}}
GET /v1/video-submissions/by-key с исходным заголовком и Bearer-ключом только читает квитанцию: не вызывает генератор, не ищет задачу у поставщика и не перемещает деньги. pending/submitting: продолжайте читать; accepted с task_ready=true: опрашивайте task_id; accepted без готовой задачи: ожидайте сверки или обращайтесь в поддержку; acceptance_unknown: не отправляйте заново, сохраните ключ и ссылку поддержки; not_accepted: исправляйте подтверждённую ошибку и используйте новый ключ только когда это допускает состояние квитанции и средств. Старый ключ всегда воспроизводит прежний результат. 404 с retry_safe=false не доказывает непринятие. Записи хранятся минимум 30 дней без автоматического повторного использования ключей. Без клиентского ключа повторный POST — новая операция. Это идемпотентность шлюза, не нативная идемпотентность Google/APIMart. Неопределённые отправки автоматически не повторяются; подтверждённые и финансово зафиксированные записи можно восстановить без новой генерации и списания.
Ограничения возможностей и оценка стоимости
POST /v1/videos/quote НЕ поддерживает эту модель: текущая проверка рассчитана на Seedance. Для Omni нет поддерживаемой бесплатной оценки без создания задачи/вызова генератора и нет отдельного контракта invoice или /v1/videos/{task_id}/billing. Ограничения поставщика по модерации и регионам сохраняются; для EEA, Швейцарии и Великобритании документированы ограничения редактирования/продолжения загруженных видео. Полная схема шлюза связана ниже; примеры нативного поставщика не заменяют публичные ID, ответы и журналы APIMaster.
