Skip to main content
RuAPI даёт доступ к двум семействам моделей генерации изображений: Gemini Image (в народе — Nano Banana) и GPT Image. Они вызываются по-разному, и это главное, что нужно понять перед началом. Оплата в USDT, без зарубежной карты.
Модели Gemini Image не работают через /v1/images/generations. Они вызываются через обычный чат-эндпоинт /v1/chat/completions, а готовое изображение приходит внутри текста ответа. Подробности — в разделе «Способ 1».

Доступные модели

Актуальные цены — на странице цен. Модели Gemini тарифицируются за вызов (одна фиксированная цена за картинку), gpt-image-2по токенам (чем больше и качественнее картинка, тем дороже).

Адрес API и авторизация

  • Base URL: https://www.ruapi.ai/v1
  • Авторизация: заголовок Authorization: Bearer sk-ВАШ_КЛЮЧ (создаётся в панели, раздел «Токены»)

Способ 1. Gemini Image — через чат

Модели Gemini Image живут на чат-эндпоинте. Вы отправляете обычный запрос как к текстовой модели, а в ответ получаете изображение.
Изображение приходит как Markdown-ссылка с data URI прямо внутри choices[0].message.content — отдельного поля для картинки нет. Ответ выглядит так:
Base64 нужно вытащить из текста самостоятельно. Ниже готовый код.

Текст → изображение

Изображений в ответе может быть несколько — поэтому в примере findall, а не search. Модель также почти всегда добавляет короткую текстовую подпись рядом с картинкой.

Изображение → изображение (редактирование)

Чтобы отредактировать существующее изображение, передайте его в том же формате, что и для vision-моделей: массив content с частями text и image_url. В url можно подставить как обычную ссылку, так и data URI.
Соотношение сторон исходного изображения сохраняется — результат не обрезается до квадрата.

Многошаговое редактирование

Ответ модели можно вернуть обратно в messages как сообщение assistant — Markdown data URI будет распознан и изображение уйдёт на вход следующего шага. Так строится диалог «сделай чёрно-белым» → «а теперь добавь рамку».
Каждый шаг — это отдельный платный вызов. Кроме того, история с base64-изображениями быстро раздувает запрос: не тащите в контекст больше двух-трёх последних кадров.

Поддерживаемые форматы входных изображений

image/png, image/jpeg, image/webp, image/heic, image/heif. Всё остальное будет отклонено с ошибкой mime type is not supported by Gemini.

Нативный эндпоинт Gemini

Если вы уже пишете под Google GenAI SDK, тот же ключ работает и с нативным форматом:
Здесь изображение приходит структурно — в candidates[0].content.parts[].inlineData.data (base64), без Markdown. Если вам не нужна совместимость с OpenAI SDK, этот вариант удобнее.

Способ 2. GPT Image — через /v1/images/generations

gpt-image-2 — это классический эндпоинт генерации изображений OpenAI. Никаких messages, только prompt.

Параметры

Ответ

Используйте b64_json, а не url. Поле url указывает на внешнее хранилище: срок жизни ссылки не гарантируется, и она может перестать открываться в любой момент. b64_json — это сама картинка, она у вас навсегда.
usage.output_tokens — это токены изображения, по ним и считается стоимость. Понижение quality до low уменьшает их в разы: удобно для черновиков и тестов.

Частые вопросы

Потому что это не модель генерации изображений в терминах OpenAI, а мультимодальная чат-модель, которая умеет отдавать картинки. Вызывайте её через /v1/chat/completions — см. «Способ 1».
Это и есть изображение. При отдаче через OpenAI-совместимый чат-эндпоинт картинка вставляется в текст ответа как ![image](data:image/png;base64,...). Вытащите её регуляркой (пример выше) или используйте нативный эндпоинт Gemini, где изображение приходит отдельным полем.
gemini-2.5-flash-image — лучшее соотношение цены и качества для правок. Если нужен максимум детализации, берите gemini-3-pro-image-preview. gpt-image-2 тоже умеет редактировать, но через отдельный эндпоинт /v1/images/edits.
Модели Gemini не хранят ничего: base64 приходит прямо в ответе. У gpt-image-2 в ответе есть поле url, но полагаться на него не стоит — сохраняйте b64_json.
Нет. Модели Gemini Image тарифицируются за вызов: одна фиксированная цена за картинку. Поле usage приходит справочно и на списание не влияет. По токенам считается только gpt-image-2.