Генерация изображений
Превращайте текстовое описание (промпт) в изображения с помощью моделей изображений Google (семейство Nano Banana / Gemini Image). Endpoint совместим с OpenAI Images API — достаточно направить SDK openai на base URL Geraikita, используя тот же gk-ключ и тот же баланс GeraiPoints.
Endpoint
https://ai.geraikita.com/v1/images/generations| Заголовок | Значение |
|---|---|
| Authorization | Bearer gk-... (или x-api-key: gk-...) |
| Content-Type | application/json |
Один запрос = один промпт, результат — от 1 до 4 изображений. Стриминг не поддерживается — ответ приходит целиком, когда изображения готовы.
Параметры body
| Параметр | Тип | Описание |
|---|---|---|
model | stringобязательный | ID модели изображений, напр. gemini-3.1-flash-image или gemini-3-pro-image — полный список в таблице цен ниже. |
prompt | stringобязательный | Описание нужного изображения, не более 4000 символов. |
n | integerнеобязательный | Количество изображений, 1–4. По умолчанию 1. Каждое успешное изображение оплачивается отдельно. |
size | stringнеобязательный | Одно из значений auto | 1024x1024 | 1536x1024 | 1024x1536 | 1792x1024 | 1024x1792. По умолчанию auto: соотношение сторон выбирает модель, обычно горизонтальное 16:9 (около 1376×768). Размер — лишь подсказка о соотношении сторон, итоговое разрешение определяет модель. |
response_format | stringнеобязательный | url (по умолчанию) — ссылка на изображение, или b64_json — данные изображения в base64 прямо в ответе. |
Прочие поля (напр. quality или style) игнорируются.
Примеры
curl https://ai.geraikita.com/v1/images/generations \
--max-time 300 \
-H "Authorization: Bearer gk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image",
"prompt": "Рекламный постер холодного кофе с пальмовым сахаром на деревянном столе, тёплый утренний свет, крупная надпись \"СКИДКА 20%\" сверху, стиль плоской иллюстрации",
"n": 1,
"size": "1024x1024"
}'Пример ответа
data содержит по одному объекту на каждое успешное изображение — url или b64_json в зависимости от response_format. Если часть изображений не удалась, объектов может быть меньше, чем n.
{
"created": 1793464057,
"data": [
{ "url": "https://api.geraikita.com/cdn/ai-gambar/2026/11/xxxxxxxxxxxx.jpg" }
]
}Заголовки ответа: X-Geraikita-Images — число успешных изображений, X-Geraikita-GP-Charged — сколько GeraiPoints списано за этот запрос.
Цены
Модели изображений оплачиваются за каждое успешно созданное изображение, а не за токены. Актуальные цены (могут меняться) — в таблице ниже и на странице цен.
| Id модели | Название | За изображение |
|---|---|---|
| gemini-3.1-flash-image | Nano Banana 2 (Gemini 3.1 Flash Image) | 100 GP / изобр. |
| gemini-3-pro-image | Nano Banana Pro (Gemini 3 Pro Image) | 100 GP / изобр. |
- Неудачные изображения не оплачиваются, как и отклонённые запросы (неверные параметры или нарушение правил контента).
- Баланс GeraiPoints должен покрывать
n× цену за изображение до обработки запроса; иначе ответ —402. - Модели изображений не входят в Unlimited plan, Bansos (бесплатный тариф) и другие бесплатные квоты — оплата всегда списывается с баланса GeraiPoints.
- Каждое изображение записывается отдельной строкой в истории использования в дашборде с меткой Изображение.
Коды ошибок
Ошибки в формате OpenAI: объект error с полями message, type, param и code.
| Статус | type / code | Значение |
|---|---|---|
| 400 | invalid_request_error | Неверный параметр (напр. n вне 1–4, неизвестный size, пустой или слишком длинный промпт). Без списания. |
| 400 | content_policy_violation | Промпт нарушает правила контента (см. ниже). Без списания. |
| 401 | — | API-ключ отсутствует или недействителен. |
| 402 | insufficient_quota | Недостаточно GeraiPoints для запрошенного числа изображений — пополните баланс. |
| 403 | — | Эта модель не разрешена для данного API-ключа — добавьте её в список моделей ключа в дашборде. |
| 404 | model_not_found | Неизвестная модель или это не модель изображений. |
| 429 | rate_limit_exceeded | Слишком много запросов — лимит 10 запросов в минуту на ключ. Подождите столько, сколько указано в заголовке Retry-After. |
| 502 | image_generation_failed | Генерация изображения не удалась на стороне сервера. Без списания — попробуйте ещё раз. |
{
"error": {
"message": "...",
"type": "...",
"param": "...",
"code": "..."
}
}Вызов модели изображений через /v1/chat/completions вернёт 400 с указанием на этот endpoint — используйте /v1/images/generations.
Советы по промптам
- Промпты можно писать на русском, английском, индонезийском и других языках.
- Модель умеет размещать текст на изображении — укажите точный текст в кавычках, напр.
надпись "СКИДКА 20%". - Опишите объект, окружение, стиль (фото, плоская иллюстрация, 3D, акварель), освещение и композицию — чем конкретнее, тем точнее результат.
- Выбирайте
sizeпод задачу:1024x1024для ленты,1024x1792для сторис/вертикали,1792x1024для горизонтальных баннеров. - Нужно несколько вариантов? Укажите
nдо 4 в одном запросе — помните, что каждое успешное изображение оплачивается.
Правила контента
Следующие запросы отклоняются:
- Сексуальный или откровенный контент.
- Контент, эксплуатирующий детей или подвергающий их опасности.
- Садистское насилие или жестокие сцены (gore).
- Реальные политики или реальные публичные лица.
Отклонённые запросы возвращают 400 с кодом content_policy_violation и не оплачиваются.
Ссылки на изображения и хранение
data[].url публичный — любой, у кого есть ссылка, может открыть изображение, — и не гарантируется, что он будет доступен всегда. Скачайте и сохраните копию в собственном хранилище сразу после генерации или запросите b64_json, чтобы получить данные изображения прямо в ответе.