Grok Imagine Image 2.0 API
Принимает текстовое описание и возвращает изображение. 5 соотношений сторон, от 1:1 до 9:16, описание до 5 000 символов. Модель xAI.
Grok Imagine Image 2.0 API работает в России без VPN: один API ключ GEN202, оплата рублями с российской карты, цена до 10% ниже официальной.
Цена: 7.2 кр. (3,6 ₽ · $0.036).
кр. — кредиты, покупаются за рубли.
работает
Песочница
Войдите и получите 50 кредитов на тесты и любое использование сервиса. Без регистрации доступна одна генерация в 1K.
{ "model": "grok-imagine/image-2-0-text-to-image", "input": { "prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет", "aspect_ratio": "1:1" } }
Нажмите «Запустить» — изображение появится здесь
{
"code": 200,
"msg": "success",
"data": {
"taskId": "cm8r4t0vk0001s60p2xq7f9ab",
"model": "grok-imagine/image-2-0-text-to-image",
"state": "success",
"resultJson": "{\"resultUrls\":[\"https://file.example/result.jpg\"]}",
"failCode": "",
"failMsg": "",
"creditsConsumed": 7.2
}
}
Цена Grok Imagine Image 2.0
Цена за генерацию. Списывается фактический расход, о котором сообщил поставщик.
| Вариант | Скидка от официальной цены | Наша цена |
|---|---|---|
| 1 | $0.04 −10% | 7.2 кр. $0.0363,6 ₽ |
В среднем на 10% ниже официальной цены поставщика. кр. — кредиты, покупаются за рубли.
Вызов через API
Генерация занимает десятки секунд, поэтому изображение не приходит в ответ на запрос. Первый вызов
ставит задачу и сразу отвечает её номером, второй по этому номеру отдаёт состояние задачи, а когда
она готова — ссылку на результат. Ключ передаётся в обоих запросах заголовком
Authorization: Bearer sk-… и выпускается
в кабинете. На один ключ шлюз пропускает
30 постановок задачи и 300
запросов состояния в минуту.
Поля запроса
Значения проверяются до обращения к поставщику: поле не из списка модели или значение вне
перечисления возвращают 422 и кредитов не тратят.
| Поле | Тип | Обяз. | Допустимые значения |
|---|---|---|---|
| model | текст | обязательное | grok-imagine/image-2-0-text-to-image |
| input | объект | обязательное | Параметры генерации — поля из таблицы ниже |
Поля input
| Поле | Тип | Обяз. | Допустимые значения |
|---|---|---|---|
| prompt | текст | обязательное | от 1 до 5 000 символов |
| aspect_ratio | значение из списка | обязательное | 1:1 · 2:3 · 3:2 · 16:9 · 9:16 |
Ответ
Оба запроса отвечают одним конвертом: {"code":…,"msg":…,"data":…}, где
code повторяет HTTP-статус, а полезное лежит в
data. Тот же конверт приходит и при отказе — разбирать две формы ответа
не нужно.
/api/v1/jobs/createTask
| Поле | Тип | Что в нём |
|---|---|---|
| data.taskId | строка | Номер задачи. Больше в ответе ничего нет и быть не может — работа только началась. |
/api/v1/jobs/recordInfo
| Поле | Тип | Что в нём |
|---|---|---|
| data.taskId | строка | Номер задачи — тот же, что вернул createTask. |
| data.model | строка | Имя модели в том виде, в каком его прислал клиент. |
| data.state | строка | Состояние задачи: waiting, queuing, generating, success или fail. |
| data.param | строка | Параметры, с которыми задача создана, — строкой JSON внутри JSON. |
| data.resultJson | строка | Результат строкой JSON внутри JSON: {"resultUrls":["https://…"]} — разбирается вторым разбором. До завершения задачи — пустая строка. |
| data.failCode | строка | Код неудачи из таблицы ниже. У остальных задач — пустая строка. |
| data.failMsg | строка | Причина неудачи словами. Иначе пустая строка. |
| data.costTime | число | Сколько задача заняла, миллисекунды. Пока не завершилась — null. |
| data.completeTime | число | Когда завершилась, миллисекунды эпохи Unix. Пока не завершилась — null. |
| data.createTime | число | Когда создана, миллисекунды эпохи Unix. |
| data.updateTime | число | Когда состояние менялось в последний раз, миллисекунды эпохи Unix. |
| data.creditsConsumed | число | Сколько кредитов списано. Ноль, пока задача не завершилась, и ноль у неудачной. |
Состояния задачи
Состояние лежит в поле state ответа
/api/v1/jobs/recordInfo. Первые три означают, что работа идёт: запрос надо
повторить примерно через 3 секунды — чаще спрашивать нечего, столько же
ждёт между опросами сам шлюз. Два последних состояния окончательные: после них задача не меняется.
| state | Что происходит |
|---|---|
| waiting | Задача принята и стоит в очереди шлюза; поставщику она ещё не отправлена. |
| queuing | Поставщик задачу принял и поставил в свою очередь. |
| generating | Генерация идёт. |
| success | Готово: ссылки на результат лежат в resultJson, в creditsConsumed — сколько списано. |
| fail | Задача не удалась: причина в failCode и failMsg, удержанные кредиты возвращены целиком. |
Опрос не бывает бесконечным: задача на изображение живёт не дольше 15
минут, после чего шлюз закрывает её сам состоянием fail и возвращает
удержанные кредиты целиком. Причина неудачи приходит двумя полями:
failCode из таблицы ниже и failMsg словами.
| failCode | Что произошло |
|---|---|
| 501 | Поставщик вернул отказ: генерация не удалась. |
| 408 | Результата нет дольше крайнего срока задачи (15 минут для картинки). |
| 404 | Поставщик не знает такой задачи. |
| 429 | Поставщик отбил создание задачи по своему лимиту. |
| 500 | Поломка на нашей стороне; подробности остаются в журнале шлюза. |
Ссылка на готовый файл живёт 14 дней — столько его хранит поставщик. Файл,
который нужен дольше, скачивайте к себе сразу после того, как задача пришла в состояние
success.
Отказы
Тело отказа одно на все случаи: {"code":…,"msg":…,"data":null}. Задача, не
дошедшая до результата, не тарифицируется — удержанные кредиты возвращаются целиком.
| Код | Адрес | Когда |
|---|---|---|
| 400 | /api/v1/jobs/createTask | Тело запроса — не разбираемый JSON. |
| 401 | /api/v1/jobs/createTask | Ключа нет в заголовке Authorization, либо он неверный или отключён. |
| 402 | /api/v1/jobs/createTask | Свободных кредитов меньше, чем удерживается под задачу. |
| 403 | /api/v1/jobs/createTask | Аккаунт заблокирован: вызовы модели, пополнение и загрузка файлов ему закрыты. Ключи при этом не отключены — запрет лежит на аккаунте. |
| 413 | /api/v1/jobs/createTask | Тело запроса больше 512 КиБ. |
| 415 | /api/v1/jobs/createTask | Тело отправлено не как application/json или заголовок Content-Type не передан. |
| 422 | /api/v1/jobs/createTask | Поле model пустое или его имени нет в каталоге, input — не объект, поле не из списка модели либо значение вне её перечисления. В сообщении перечислено, что принимается. |
| 429 | /api/v1/jobs/createTask | Больше 30 запросов в минуту на один ключ либо больше 50 незавершённых задач на аккаунте. |
| 500 | /api/v1/jobs/createTask | Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят. |
| 401 | /api/v1/jobs/recordInfo | Ключа нет в заголовке Authorization, либо он неверный или отключён. |
| 404 | /api/v1/jobs/recordInfo | Задачи с таким номером нет или она создана другим аккаунтом. |
| 422 | /api/v1/jobs/recordInfo | Параметр taskId не передан. |
| 429 | /api/v1/jobs/recordInfo | Больше 300 запросов в минуту на один ключ. |
| 500 | /api/v1/jobs/recordInfo | Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят. |
Пример вызова
# 1. Поставить задачу — в ответе придёт её номер
TASK=$(curl -s https://api.gen202.com/api/v1/jobs/createTask \
-H "Authorization: Bearer sk-ваш-ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine/image-2-0-text-to-image",
"input": {
"prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет",
"aspect_ratio": "1:1"
}
}' | jq -r '.data.taskId')
# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
# generating означают «работа идёт», success и fail — окончательные
while true; do
RECORD=$(curl -s "https://api.gen202.com/api/v1/jobs/recordInfo?taskId=$TASK" \
-H "Authorization: Bearer sk-ваш-ключ")
STATE=$(echo "$RECORD" | jq -r '.data.state')
case "$STATE" in success|fail) break;; esac
sleep 3
done
# 3. Забрать результат. Ссылка на файл лежит в resultJson — это строка JSON
# внутри JSON, поэтому её разбирают вторым разбором (fromjson)
echo "$RECORD" | jq -r '.data |
if .state == "fail"
then "отказ \(.failCode): \(.failMsg)"
else .resultJson | fromjson | .resultUrls[0]
end'
import json
import time
import requests
headers = {"Authorization": "Bearer sk-ваш-ключ"}
# 1. Поставить задачу — в ответе придёт её номер
created = requests.post(
"https://api.gen202.com/api/v1/jobs/createTask",
headers=headers,
json={
"model": "grok-imagine/image-2-0-text-to-image",
"input": {
"prompt": "Рыжий кот в скафандре на фоне Земли, мягкий свет",
"aspect_ratio": "1:1"
}
},
).json()
task_id = created["data"]["taskId"]
# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
# generating означают «работа идёт», success и fail — окончательные
while True:
task = requests.get(
"https://api.gen202.com/api/v1/jobs/recordInfo",
headers=headers,
params={"taskId": task_id},
).json()["data"]
if task["state"] in ("success", "fail"):
break
time.sleep(3)
# 3. Разобрать итог. У неудачи причина в failCode и failMsg
if task["state"] == "fail":
raise SystemExit("отказ " + task["failCode"] + ": " + task["failMsg"])
# resultJson — строка JSON внутри JSON, поэтому разбор второй
result = json.loads(task["resultJson"])
print(result["resultUrls"][0])
print("списано кредитов:", task["creditsConsumed"])
Пример проходит весь путь: ставит задачу, повторяет запрос состояния раз в
3 секунды, пока задача не закончится, и разбирает ответ до ссылки
на файл. Разборов два, потому что поле resultJson — строка JSON
внутри JSON. В теле первого запроса стоят обязательные поля модели и значения из её
перечислений, поэтому он проходит проверку шлюза как есть.
Подставить остаётся только свой ключ.
Пример на оболочке разбирает ответ через jq; на Python своего
ничего не нужно, кроме requests.
Чем Grok Imagine Image 2.0 отличается от других моделей каталога
| Модель | Цена от | Разрешение | Изображений на вход | Описание, символов | Выпущена |
|---|---|---|---|---|---|
| Nano Banana 2 | $0.0727,2 ₽ | 1K · 2K · 4K | 14 | 20 000 | 26 февраля 2026 |
| Nano Banana Pro | $0.12712,7 ₽ | 1K · 2K · 4K | 8 | 10 000 | 20 ноября 2025 |
| GPT Image 2 | $0.077 ₽ | 1K · 2K · 4K | 16 | 20 000 | 21 апреля 2026 |
| GPT Image 2.5 Flare | $0.0474,7 ₽ | 1K · 2K · 4K | 16 | 20 000 | 8 сентября 2026 |
| GPT Image 2.5 Sunburst | $0.0474,7 ₽ | 1K · 2K · 4K | 16 | 20 000 | 8 сентября 2026 |
| Grok Imagine Image 2.0 | $0.0363,6 ₽ | — | 5 000 | — | |
| Seedream 5 Pro | $0.04054,05 ₽ | 10 | 5 000 | — | |
| Seedream 5 Lite | $0.03153,15 ₽ | 10 | 3 000 | — |
Генерацию и правку у Nano Banana 2, Nano Banana Pro и Grok Imagine Image 2.0 делает один идентификатор, а у GPT Image 2, GPT Image 2.5 Flare, GPT Image 2.5 Sunburst, Seedream 5 Pro и Seedream 5 Lite для каждой задачи свой.
Формы кадра 1:4, 1:8, 4:1, 8:1 есть только у Nano Banana 2. Формы кадра 2:1, 1:2, 3:1, 1:3, 9:21 есть только у GPT Image 2.
Отдельная страница сравнения — Nano Banana 2 или GPT Image 2.
Картиночная модель xAI: ей дают описание и форму кадра, в ответ приходит готовое изображение.
Что xAI говорит про Grok Imagine Image 2.0
Что такое сам Imagine API, разработчик объясняет в разделе документации о нём: «The Imagine API lets you generate and edit images and videos with Grok Imagine models. Use it for image generation, image editing with up to 5 reference images, video generation from text or still images, video editing, and more». Перевод наш: «Imagine API позволяет создавать и править изображения и видео моделями Grok Imagine. Он годится для генерации картинок, правки с опорой на пять образцов, создания видео из текста или неподвижной картинки, правки видео и прочего».
Какую модель разработчик советует под картинки, сказано в его списке моделей: «Your choice depends on your use case. We have dedicated models and APIs for audio, image, and video capabilities… Images: Grok Imagine Image 2.0. Videos: Grok Imagine Video 1.5». Перевод наш: «Выбор зависит от задачи. Под звук, картинки и видео у нас отдельные модели и API… Картинки: Grok Imagine Image 2.0. Видео: Grok Imagine Video 1.5».
Как считается счёт у самого xAI, сказано там же, в разделе про Imagine API: «Image generation uses flat per-image pricing regardless of prompt length. Each generated image incurs a fixed fee. Image edits are billed for both the input image and the generated output image». Перевод наш: «Генерация картинки стоит фиксированную сумму за изображение вне зависимости от длины запроса. За каждую созданную картинку берётся твёрдая плата. Правка оплачивается и за входную картинку, и за полученную».
Что у модели настраивается, перечислено в руководстве по генерации изображений: «Generate images from text prompts with Grok Imagine models. The API supports batch generation of multiple images, and control over aspect ratio, resolution, and quality». Перевод наш: «Создавайте картинки по текстовым запросам моделями Grok Imagine. API поддерживает пакетную генерацию нескольких картинок и управление соотношением сторон, разрешением и качеством». Про разрешения там же: «Currently supported image resolutions are: `1k` (default when omitted), `2k`». Перевод наш: «Сейчас поддержаны разрешения `1k` (по умолчанию) и `2k`».
Ступени качества есть только у этой модели, и разница между ними описана на странице перехода с прошлого издания: «`medium` spends more compute on each image for finer detail; choose it where output quality matters more than cost. `auto` (the default when `quality` is omitted) currently serves `low` for generation and `medium` for editing, and you are billed at the quality served». Перевод наш: «`medium` тратит на картинку больше вычислений ради мелких подробностей; берите его там, где качество важнее цены. `auto` (значение по умолчанию) сейчас даёт `low` при генерации и `medium` при правке, а счёт идёт по тому качеству, которым обслужили».
Про готовый файл разработчик предупреждает отдельно, в том же руководстве по генерации: «Images are returned as URLs by default. URLs are temporary, so download or process promptly». Перевод наш: «По умолчанию картинки возвращаются ссылками. Ссылки временные, поэтому скачивайте или обрабатывайте сразу».
Свою цену за картинку xAI держит на странице цен, раздел Imagine Pricing, строками вида «grok-imagine-image-2.0 | $0.04 / image» и «grok-imagine-image | $0.02 / image» — то есть счёт у разработчика идёт поштучно, а не за размер или длину описания.
Слова xAI о Grok Imagine Image 2.0 приведены по его документации на 15 сентября 2026 года.
Выпуски Grok Imagine: что вышло и что снято
Имена моделей у xAI устроены по правилу, которое он сам назвал в списке моделей: «`<modelname>` is aliased to the latest stable version. `<modelname>-latest` is aliased to the latest version… `<modelname>-<date>` refers directly to a specific model release». Перевод наш: «`<имя-модели>` указывает на последнюю устойчивую версию, `<имя-модели>-latest` — на самую свежую, `<имя-модели>-<дата>` — прямо на конкретный выпуск». Даты ниже — из заметок о выпусках и со страниц перехода.
| Имя у xAI | Когда появилась | Что с ней |
|---|---|---|
| grok-imagine-image | январь 2026, дня в заметках нет | Работает, снятие не объявлено |
| grok-imagine-image-pro | — | Снят 15 мая 2026 года |
| grok-imagine-image-quality | — | Снимается 2 ноября 2026 года |
| grok-imagine-image-2.0 | дня выхода разработчик не назвал | Действующая, названа рекомендованной |
| grok-imagine-video | январь 2026, дня в заметках нет | Работает, видеочасть того же API |
| grok-imagine-video-1.5 | снимок 30 мая 2026 года в имени псевдонима | Рекомендована для видео |
Куда уходит снимаемое издание, разработчик расписал дословно: «`grok-imagine-image-2.0` now covers everything `grok-imagine-image-quality` was used for, at a lower price. Effective November 2, 2026, the `grok-imagine-image-quality` model slug is retired from the xAI API. Its 60-day notice period began on September 2, 2026». Перевод наш: «`grok-imagine-image-2.0` закрывает всё, для чего применяли `grok-imagine-image-quality`, и стоит дешевле. Со 2 ноября 2026 года имя модели `grok-imagine-image-quality` снимается с API xAI. Шестидесятидневный срок предупреждения начался 2 сентября 2026 года».
Что именно прибавилось у этой модели против снимаемой, сказано там же: «The request and response shapes are unchanged. Every parameter accepted today is accepted after the switch, and `grok-imagine-image-2.0` additionally accepts `quality`, up to five source images for editing, and the `21:9` and `5:2` aspect ratios». Перевод наш: «Вид запроса и ответа не меняется. Всё, что принимается сейчас, принимается и после переключения, а `grok-imagine-image-2.0` вдобавок принимает `quality`, до пяти исходных картинок для правки и соотношения сторон 21:9 и 5:2». Про самую первую модель ряда отдельная строка: «`grok-imagine-image` (1.0) is not affected by this change». Перевод наш: «`grok-imagine-image` (1.0) это изменение не затрагивает».
Что показали независимые проверки Grok Imagine Image 2.0
Выход модели разобрал Matthias Bastian в The Decoder 8 августа 2026 года. Где она появилась в первый день, сказано дословно: «xAI has launched Imagine Image 2.0 as a new “Quality Mode” on grok.com/imagine and in Grok's iOS and Android apps. API access for Imagine Image 2.0 is coming soon, according to xAI». Перевод наш: «xAI выпустила Imagine Image 2.0 как новый режим качества на grok.com/imagine и в приложениях Grok для iOS и Android. Доступ по API, по словам xAI, появится скоро». На снимке страницы цен разработчика от 15 сентября 2026 года модель уже перечислена со своей ставкой.
Что в модель добавили, издание перечисляет так: «A tool called “Magic Wand” modifies only the selected area of an image, according to xAI. A segmentation feature lets users pick precise regions, and a background removal tool exports subjects with a transparent background». Перевод наш: «Средство под названием волшебная палочка меняет только выделенную область; выделение по областям позволяет точно указать участок; удаление фона выгружает объект на прозрачном фоне». Всё это работает в приложениях самого разработчика.
Чем разработчик объяснял выпуск, издание передаёт с указанием на источник: «Imagine 2.0 is designed to follow instructions with fine-grained accuracy, keep typography and layout clean in complex visuals, and stay consistent across multiple generations, the company says». Перевод наш: «Imagine 2.0 сделана, чтобы следовать указаниям с тонкой точностью, держать типографику и вёрстку чистыми в сложных изображениях и сохранять единство между несколькими генерациями, говорит компания».
Насколько новое издание разошлось с прежними, видно в слепых сравнениях живых людей на арене LMArena: на снимке от 7 сентября 2026 года у строки `grok-imagine-image-2.0 (low)` 1315 очков, у `grok-imagine-image` — 1171, у `grok-imagine-image-pro` — 1161. В соседней арене, где правят присланный кадр, разрыв тот же по направлению: 1439 очков у нового издания против 1330 у первой модели ряда.
Читать эти числа надо с оговоркой самой площадки: строки нового издания помечены предварительными, и голосов за ними 2 681 и 5 941 против 236 623 и 624 951 у первой модели ряда. То есть разрыв велик, а выборка под ним пока мала.
Что модель принимает
Полей всего два, и оба обязательны: описание сцены и форма кадра. Форму кадра указывают в каждом запросе.
Размер картинки отдельным полем не выбирается: его задаёт форма кадра. Размеры мы замерили сами: 2 сентября 2026 года прогнали все пять форм своими вызовами.
| Форма кадра | Размер картинки |
|---|---|
| 1:1 | 1408 × 1408 |
| 2:3 | 1152 × 1728 |
| 3:2 | 1728 × 1152 |
| 16:9 | 1792 × 1008 |
| 9:16 | 1008 × 1792 |
Выходит около двух мегапикселей в любой форме: от 1,81 у широких кадров до 1,99 у квадрата и вертикали.
Правка картинок: что делает Grok Imagine Image 2.0 и где править свой файл
Grok Imagine Image 2.0 в GEN202 рисует изображение по текстовому описанию.
Правку присланного файла делают Nano Banana 2 и GPT Image 2.
Сколько стоит Grok Imagine Image 2.0 и чьи это цены
Пополнения на 500 ₽ хватает на 138 генераций Grok Imagine Image 2.0 по самой низкой цене модели и на 138 по самой высокой. Приветственных кредитов, которые начисляются при первом входе, хватает на 6 генераций Grok Imagine Image 2.0 по низкой цене и на 6 по высокой. Цена одной генерации Grok Imagine Image 2.0 зависит от выбранного разрешения.
Рубли в таблице выше выставляет GEN202 — сервис, через который модель вызывается из России, а доллары xAI приведены рядом как цена самого разработчика. Что такое кредит и какими пакетами он покупается, разобрано в разделе о ценах.
Как купить доступ к Grok Imagine Image 2.0 API в России, чем платить и как выпустить ключ, подробно написано на странице Grok Imagine API — порядок один для всех моделей каталога.
Grok Imagine Image 2.0 API из России
Работать из России можно без VPN, а платить — рублями с карты российского банка. Прямой доступ идёт через биллинг поставщика, и счёт он выставляет в долларах. GEN202 стоит между вами и поставщиком: расчёты с ним наши, вы платите российскому продавцу.