Loading...
Loading...
Animate a still image into video with Gemini Omni 1.1 Flash. The source image becomes the first frame and drives the generated motion.
Войдите, чтобы запускать модели
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/omni-1.1-flash/image-to-video',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)Оценочная стоимость генерации по длительности и разрешению. Вы платите только за то, что запускаете.
Gemini Omni 1.1 Flash вышла в general availability у Google 27 августа 2026 года. Она относится к семейству Gemini, а не Veo, и её capability image-to-video мы отдаём как google/omni-1.1-flash/image-to-video. Считаем по секундам готового видео — $0.09 за секунду 720p при прайсовой ставке $0.15, потому что постоянная скидка 40% распространяется на все четыре capability. Восьмисекундный ролик по умолчанию — $0.72. Обязательные поля: prompt и image_url.
Разберитесь, чем является ваш кадр, ещё до первого вызова. Он — договор. Он задаёт первый кадр, а вместе с ним кадрировку, оптику, палитру, объект и каждый дефект, который в снимке уже есть. Вашему prompt достаются следующие несколько секунд, и ничего до них.
Почти каждый скучный результат здесь упирается в одну ошибку: prompt описывает фотографию вместо изменения. Называйте то, что движется. Называйте, куда идёт камера.
| Длина ролика | Цена на 720p |
|---|---|
| 4 с | $0.36 |
| 6 с | $0.54 |
| 8 с (по умолчанию) | $0.72 |
| 10 с | $0.90 |
Разрешение масштабирует эту ставку: 360p — 0.33× ($0.0297 за секунду), 1080p — 1.5× ($0.135), 4K — 2× ($0.18). Четырёхсекундный проход на 360p стоит $0.1188 — самый дешёвый способ узнать, оживает ли ваш кадр вообще.
Два кадра, а середину оставляем модели? Omni 1.1 Flash start-end-frame-to-video. Один объект с нескольких ракурсов, который должен держаться на всём шот-листе? Omni 1.1 Flash reference-to-video. Исходного материала нет вовсе? Omni 1.1 Flash text-to-video несёт полный разбор цен.
Считайте эту задачу продолжением, а не интерпретацией. Модель принимает ваш кадр как первый, а потом придумывает по двадцать четыре правдоподобных кадра в секунду после него, и все они привязаны к тому, что вы отдали. Эта привязка и есть ценность: утверждённый ключевой визуал остаётся в бренде, потому что его никто не перегенерировал.
Она же — и ограничение. Загромождённый кадр отдаёт модели больше объектов, которые надо удержать связными, пока всё смещается, а связность — слабое место этого поколения. Карточка модели Google говорит это прямо: «Сохранение полной консистентности на протяжении всех правок, генерация сцен со сложным движением и отрисовка идеально точного текста остаются сложной задачей.» Вывески смазываются. В толпе плывут лица. Один объект на чистом фоне переживёт десять секунд лучше, чем нагромождение — четыре.
Кадрируйте сами. На выходе бывает 16:9 или 9:16 — ни квадрата, ни 4:5, ни сверхширокого. Затолкайте портрет 4:5 в job на 16:9, и чем-то придётся пожертвовать: модель дорисует по бокам то, чего никто не снимал, либо композиция уедет под формат. Платите вы $0.09 за секунду в обоих случаях. Кадрируйте заранее, пока это решение бесплатно.
Не пытайтесь доскейлить исходник до 4K. Разрешение источника ставит потолок тому, что вывод способен честно удержать. Миниатюра шириной 640 пикселей, отрисованная в 1080p, — это файл побольше с той же детализацией, по ставке в 1.5×.
Оставьте движению куда идти. Воздух над головой объекта, дорога перед машиной. Обрежьте вплотную — и ничто не сможет сдвинуться, не вылетев за рамку; это частая причина, по которой ролик читается как дрожащая фотография.
Выпустите ключ в дашборде и держите его на сервере. Наш конвейер сам забирает image_url, поэтому адрес должен быть доступен из публичного интернета — HTTPS-адрес на вашем CDN или в объектном хранилище, но не локальный путь, не localhost и не ссылка за логином. Подписанные ссылки годятся, если окно щедрое: job идёт примерно четыре минуты, а ссылка на шестьдесят секунд умрёт раньше.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/omni-1.1-flash/image-to-video",
"input": {
"prompt": "Из носика чайника начинает виться пар и сносится вправо. Камера медленно наезжает на ручку. Гул кухни, чайник начинает потрескивать. Больше в кадре ничто не движется.",
"image_url": "https://cdn.example.com/stills/copper-kettle-16x9.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8"
}
}'
В ответ приходит job ID. Дальше либо опрашивайте его, либо передайте нам webhookUrl и пропустите цикл:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const start = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/omni-1.1-flash/image-to-video",
input: {
prompt:
"Она поворачивается к камере, и шарф поднимает ветром. Статично. Чайки, далёкий прибой.",
image_url: "https://cdn.example.com/stills/portrait-9x16.png",
aspect_ratio: "9:16",
resolution: "360p",
duration: "10",
},
}),
}).then((r) => r.json());
const { jobId } = start.data;
for (let tick = 0; tick < 360; tick++) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
await archive(job.data.outputs[0].url); // скопируйте в постоянное место
break;
}
if (["failed", "cancelled"].includes(job.data.status)) {
throw new Error(job.data.error?.message ?? job.data.status);
}
await new Promise((r) => setTimeout(r, 5000));
}
Job сообщает pending, затем processing, затем completed, failed или cancelled. Две детали schema кусаются регулярно: duration и resolution — строки, поэтому отправляйте "10", а не 10; и переключателя аудио не существует, потому что звук генерируется вместе с картинкой и управляется из вашего prompt. Определения полей поддерживаются в актуальном виде в машиночитаемой спецификации.
Пишите только то, что меняется. Объект, свет и композиция приехали вместе с файлом; повторяя их, вы тратите внимание, которое модель могла бы потратить на движение. Не назовёте движения — получите почти неподвижный кадр с лёгким дрейфом, по полной ставке.
Одно движение, названное. Пар поднимается. Дверь распахивается внутрь. Волосы взлетают. Выберите действие, которое имеет значение, и дайте остальному стоять — сказать это вслух помогает сильнее, чем кажется.
Одна инструкция камере. «Медленный наезд», «статично», «съёмка с рук с уходом влево». Простая грамматика бьёт абзац операторских рассуждений, а неназванная камера становится решением модели.
Звук снизу. Тон помещения, трафик, один конкретный эффект. Тишина — не значение по умолчанию; неуказанный микс придумают за вас. Prompt тянет до 50 000 символов, так что длина ограничением не бывает никогда — ограничением бывает точность. Наш гайд по prompt для Gemini Omni разбирает формулировки подробнее.
Услышьте это от нас, а не из счёта. Veo 3.1 Fast image-to-video работает на той же платформе за $0.01 в секунду — в девять раз ниже endpoint с этой страницы.
| Endpoint | Ролик 8 секунд | Когда брать |
|---|---|---|
| Veo 3.1 Fast image-to-video | $0.08 | Один кадр, один ролик, дальше от него ничего не зависит |
| Omni 1.1 Flash image-to-video | $0.72 | Нужны десять секунд, черновой проход на 360p или чтобы этот кадр встал рядом с другими |
| Veo 3.1 Fast text-to-video | $0.08 | Кадр не отрабатывает свои $0.64 |
Цены и условия продуктов со временем меняются; проверьте актуальные цены каждого провайдера, прежде чем принимать решение о покупке. Цены Google Batch или Flex не эквивалентны напрямую стандартному on-demand API request, поскольку планирование, доступность и условия обработки отличаются; поэтому они исключены из этого сравнения. Это ограниченное по охвату сравнение, а не утверждение, что E2X — самый дешёвый вариант в мире при любой конфигурации.
Отнеситесь к этому серьёзно. Одна фотография, оживлённая один раз, — это работа для Veo. Наценка здесь отбивается в трёх случаях: вашему монтажу нужны десять секунд, а Veo встаёт на восьми; вы хотите черновики по $0.0297 за секунду; или этот ролик обязан принадлежать серии. Другие способы оживить кадр лежат в категории image-to-video, рядом с нашим каталогом моделей.
Вывод — 24 fps, от трёх до десяти секунд на генерацию, с водяным знаком SynthID в каждом кадре, который никто в цепочке не может выключить. Ссылки на результат временные — архивируйте файл прямо в обработчике завершения. Ссылка, которую вы не откроете завтра, — это рендер, купленный дважды.
Одно правило действует именно потому, что вы загружаете фотографию: на территории ЕЭЗ, Швейцарии и Великобритании Google блокирует исходные кадры с несовершеннолетними, а также с частью узнаваемых людей. Английский к тому же — единственный язык prompt, который Google оценивала. Наши заметки о релизе Gemini Omni 1.1 Flash рассказывают, что ещё изменилось по сравнению с предшественницей, которую мы всё ещё держим и которую апстрим снимает 30 сентября 2026 года.
Девять центов покупают одну секунду 720p. Ролик по умолчанию идёт восемь секунд, то есть $0.72; десять секунд, потолок, дают $0.90. Эта ставка — минус 40% от прайса $0.15, прочитано из нашего живого каталога 28 августа 2026 года. Разрешение двигает множитель: 0.33× на 360p, 1.5× на 1080p, 2× на 4K.
Для большинства одиночных кадров — Veo: $0.01 за секунду против $0.09, то есть $0.08 против $0.72 за восемь секунд. Возвращайтесь сюда, когда нужны десять секунд, когда черновой проход на 360p экономит в сумме или когда ролик обязан совпасть с другими, снятыми с того же объекта.
Только 16:9 и 9:16. Обрежьте исходник под целевое соотношение до отправки; иначе модель разберётся с несовпадением сама, и вы можете потерять часть композиции, которую утверждали.
Везде, куда наш конвейер дотянется по публичному HTTPS: CDN, бакет S3 или GCS, ваш собственный веб-сервер. Локальные пути, localhost и всё, что за аутентификацией, отваливаются. Подписанные ссылки работают, если срок их жизни с запасом переживает четыре минуты работы job.
Обычно потому, что prompt пересказывает изображение вместо того, чтобы им управлять. Кадр уже задал объект и кадрировку; если не названо ни движение, ни ход камеры, модели не за что взяться. Перепишите prompt как одно движение плюс одну инструкцию камере.
Да, он создаётся нативно вместе с картинкой и синхронизирован с ней. Поля has_sound нет, беззвучного режима тоже, так что описывайте атмосферу в prompt. Аудио нельзя отредактировать потом — изменение означает новую генерацию.
Есть. Google блокирует исходные кадры с несовершеннолетними, а также с частью узнаваемых людей, для пользователей в ЕЭЗ, Швейцарии и Великобритании — это её политика, и её применяет каждый провайдер. Результаты вдобавок несут невидимый водяной знак SynthID, так что закладывайте маркированные ИИ-материалы.