Model Cards
Управление размером
- Сохраняйте соотношение сторон исходного изображения: просто опустите
aspectRatio; в сценариях редактирования нескольких изображений приоритет имеет размер последнего изображения - Разрешение
imageSize: поддерживает1K/2K/4K- Nano Banana (Gen 1) поддерживает только 1K
- Nano Banana 2 добавляет 512px
- Nano Banana 2 Lite поддерживает только 1K (без 2K/4K/512px)
Как интегрировать
Официальная документация
- Официальная документация Google:
ai.google.dev/gemini-api/docs/image-generation - Чтобы интегрироваться с APIYI, просто замените URL запроса + KEY на APIYI; все остальные параметры идентичны официальным
Проверка официального статуса (диагностика проблем на стороне upstream)
Серия Nano Banana работает поверх Google AIStudio / Gemini API. В редких случаях размытый или неудачный вывод 2K / 4K может быть проблемой на стороне Google, а не на уровне интеграции — вы можете проверить официальную страницу статуса Google (скопируйте и откройте ее сами):aistudio.google.com/status.
Например, 19 июня 2026 года на этой странице было указано «Проблемы с Nano Banana»: у Nano Banana 2 / Pro в Gemini API и AI Studio возникали проблемы при разрешении 2K или 4K. Когда вы видите похожие симптомы, сначала сравните их с официальной страницей статуса, чтобы быстро понять, является ли это сбоем на стороне upstream.
Поддержка эндпоинтов
- Рекомендуемый эндпоинт (нативный Gemini):
https://api.apiyi.com/v1beta/models/gemini-3-pro-image-preview:generateContent - Поддерживает вызовы в режиме, совместимом с OpenAI (примечание: загрузка через URL не поддерживается, используйте Base64 вместо этого)
- Не поддерживает
/v1/image/generations
Формат разработки (рекомендуется по умолчанию)
- [Рекомендуется] Используйте нативный формат эндпоинта Google
- Изображения: загружайте как Base64, скачивайте и повторно размещайте
- Метод вызова: синхронные многопоточные вызовы; асинхронные вызовы пока не поддерживаются
Требования к входным изображениям
- Одно изображение не может превышать 7MB (правило Google); если импорт выполняется через Google Cloud Storage, ограничение на один файл составляет 30MB
- До 14 изображений на один prompt
- Поддерживаемые MIME types:
image/png,image/jpeg,image/webp,image/heic,image/heif(форматjpgуже поддерживается APIYI) - Увеличение размера при Base64: преобразование изображения в Base64 увеличивает его размер примерно на 33.3% (изображение 7MB становится примерно 9.3MB)
- Лимит APIYI: общий объем изображений, загружаемых в одном запросе, должен быть менее 100MB — все вызовы являются синхронными, а слишком большие payloads могут привести к резкому росту потребления памяти

Google official technical specs: inline / console upload per-file limit is 7MB, supporting png/jpeg/webp/heic/heif

Base64 encoding increases size by about 33.3%: a 7MB image is roughly equal to 9.3MB
docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-pro-image
Ввод изображения по URL
Помимо Base64, нативный эндпоинт Gemini также поддерживает передачу URL изображений (адреса хостов изображений / OSS) напрямую черезfileData.fileUri, устраняя необходимость локального кодирования.
Пример Curl (fileUri)
Пример на Python (fileUri)
Основы тарификации (Важно)
- Длительность синхронного вызова: Pro / 2 при 4K требуют разумного времени генерации, примерно 30–150с
- Отключение при тайм-ауте все равно влечет списание: например, если генерация занимает 120с, а клиент устанавливает тайм-аут 100с и отключается, с вас все равно будет взиматься плата
- 429 / 503 не тарифицируются: неудачные запросы не подлежат тарификации (мы стараемся не заставлять клиентов ждать или оставаться без изображения)
- Отказы по content-safety все равно влекут списание: когда во входных данных клиента есть проблемы с content-safety и Google отказывается генерировать изображение, статус-код 200 все равно тарифицируется — см. обработку ошибок и план гарантии ниже
Настройки таймаута (Важно)
Генерация изображений 4K в целом занимает больше времени, включая такие этапы, как загрузка изображения, обработка API и загрузка изображения Base64 (наш backend выставляет тарификацию по времени обработки API). При нормальных условиях 4K занимает около 50s (без учета polling), но если клиент задаст слишком короткий timeout, он отсоединится преждевременно до завершения генерации и вернет ошибку:
Call logs: time-to-first-byte for 4K generation is about 43–61s, so the default 120s timeout is too tight
Многораундовое разговорное редактирование (нативный формат поддерживает это; обратные модели — нет)
Серия Nano Banana использует нативный формат Gemini и поддерживает настоящее разговорное многораундовое редактирование: добавляйте сгенерированное изображение каждого раунда обратно вcontents как role: "model" inlineData, затем отправляйте следующую инструкцию пользователя. Модель редактирует на основе полной истории разговора и накапливает изменения (например, сначала перекрасьте диван, затем добавьте аксессуар — предыдущее изменение сохраняется).
Это принципиально отличается от «обратных» моделей изображений — разберитесь с этим до интеграции:
model позволяет Nano Banana 2 (gemini-3.1-flash-image-preview) корректно продолжать редактирование и накапливать изменения; обратная модель читает только опорное изображение из последнего сообщения пользователя, поэтому сохранение истории разговора там не работает для многораундового режима.contents):
Почему ответы иногда содержат несколько изображений
При вызовеgemini-3-pro-image вы иногда можете увидеть несколько частей изображения в одном ответе (в тестах наблюдалось 2–10), что соответствует периодическим записям output-token 6000+ (даже пятизначным) в ваших логах. Это не аномалия: в официальной документации Google указано, что у моделей изображений Gemini 3 режим “Thinking” включен по умолчанию (в API его нельзя отключить), модель генерирует промежуточные изображения для проверки композиции и логики, эти черновики появляются в parts вместе с финальной версией, а “the last image within Thinking is also the final rendered image” (официальная документация: ai.google.dev/gemini-api/docs/image-generation). По результатам наших тестов в июле 2026 года (нативный для Google формат generateContent):
thoughtSignature, без флага thought: true); в документации Google сказано, что Thinking генерирует максимум два промежуточных изображения, но мы наблюдали до 10 на сложных задачах.
Влияние на тарификацию: каждое изображение тарифицируется по фиксированному числу token (1120 tokens на изображение при разрешении 1K/2K, 2000 при 4K), поэтому output tokens растут строго линейно с числом изображений. Периодическая запись 6000+ (вплоть до ~13.5k в крайних случаях) output-token в ваших логах — это просто ответ из 4–10 изображений, а не аномалия тарификации.
Рекомендуемый downstream code:
- Всегда итерируйтесь по parts — не предполагайте, что в ответе всегда одно изображение; любой учет по изображениям или логика сохранения должны опираться на фактическое число parts
- Берите последнее изображение, если вам нужно только одно: в более ранних черновиках детали могут быть незавершенными и качество немного ниже, поэтому не выбирайте первое
- Управлять числом изображений через prompt в основном неэффективно (в тестах инструкции “output only one image” игнорировались) — обрабатывайте это в code
- Ответы с несколькими изображениями занимают 35–142s (при разрешении 1K, дольше при большем числе изображений), что заметно дольше, чем ответы с одним изображением — сохраняйте рекомендации по timeout выше (≥ 5 minutes)
Часто задаваемые вопросы
Руководство по обработке ошибок
Обязательные к прочтению частые вопросы разработчиков
План гарантии при неудачной генерации
Почему я получаю connection reset by peer / write_response_body_failed (500)?
Почему я получаю connection reset by peer / write_response_body_failed (500)?
- Ограничьте количество изображений: соблюдайте официальные правила (максимум 14 изображений на prompt — см. официальную спецификацию выше).
- Ограничьте размер каждого изображения: держите каждое изображение меньше 5MB — официальный лимит на одно изображение составляет 7MB, а base64-кодирование увеличивает размер примерно на 1/3, так что оставляйте запас.
- Сжимайте на frontend перед загрузкой: сжимайте изображения на frontend (или через серверный relay) перед отправкой в API — распространенная практика: ограничивать длинную сторону, конвертировать в JPEG/WebP и настраивать параметр качества.
- Переключитесь на ввод через URL: нативный формат Gemini поддерживает передачу image URL через
fileData.fileUri, полностью обходя слишком большие тела запросов в base64 — см. Ввод изображения через URL выше.
Сценарии использования
- AI chat-клиенты: такие клиенты, как Cherry Studio, можно настроить для прямой генерации изображений через APIYI
- Тестирование генерации: быстро проверьте производительность модели в chat-клиенте или консоли
Расширенные сценарии
- Нужно загружать изображения через URL? Нативный эндпоинт Gemini поддерживает передачу URL изображения через
fileData.fileUri; однако режим, совместимый с OpenAI, не поддерживает загрузку по URL, поэтому используйте Base64. См. примеры кода и оговорки в Ввод изображения по URL выше. - Нужно сразу получать URL для скачивания (вместо Base64)? Используйте группу NB-OSS — см. Группа Nano Banana OSS.