nano-banana-2.1; для другой модели замените её ID в URL или вызове SDK.
Параметры подключения
Создать BetterToken API Key · каталог моделей · Обзор моделей Nano Banana
Создайте первое изображение
ЗадайтеBETTERTOKEN_API_KEY в терминале и выполните запрос. Он дождётся генерации и сохранит полный JSON-ответ в response.json.
- macOS / Linux
- Windows PowerShell
imageSize на 2K или 4K. Начните с 1K, 1:1 и одного изображения. Не включайте автоматический повтор генерации через --retry.
Основные параметры
Для предметной съёмки опишите объект, материал, свет и фон. Для постера укажите точный текст и расположение элементов. При редактировании перечислите, что изменить и что сохранить. В нативном HTTP-запросе используйте поля ниже; Python SDK использует snake_case. Настройки изображения размещайте внутриgenerationConfig.imageConfig.
Пропорции, поддерживаемые Google
Nano Banana 2 и 2.1 поддерживают 14 пропорций, Pro — 10. Для первого запроса выберите1:1.
Пропорции и размеры изображений Google
Этот максимум не гарантирует число изображений. Даже по запросу нескольких модель может вернуть одно. Для фиксированного количества отправляйте отдельные запросы.
Прочитайте и сохраните изображение
Изображения находятся вcandidates[].content.parts[].inlineData. Ниже показана структура; BASE64_IMAGE_DATA — заглушка. Обрабатывайте все итоговые части с изображениями и пропускайте промежуточные части с thought: true.
mimeType: ответ может содержать JPEG, поэтому не сохраняйте всё как .png.
Полный пример Python SDK
Используйте Python 3.10 или новее. Пример рассчитан наgoogle-genai==2.30.1. Установите пакет в виртуальное окружение проекта: старые версии SDK могут не передавать image_size.
/v1 и /v1beta. timeout задаётся в миллисекундах; attempts=1 отключает автоматические повторы. Функция save_images сохраняет все итоговые изображения.
Передайте референс
Выполните код после полного примера Python: он отправит новый запрос на редактирование. Заменитеreference.jpg локальным файлом. Для PNG укажите mime_type="image/png". Дополнительные референсы добавляйте в parts того же сообщения пользователя.
inlineData: {"mimeType": "image/jpeg", "data": "BASE64_IMAGE_DATA"}. Кодируйте исходные байты без префикса data:image/...;base64,. Здесь не используются multipart, загрузка Files или fileData.
Продолжите редактирование
Выполните код после успешной генерации или правки по референсу. Сохраните весьcontent ответа модели, порядок частей и thoughtSignature. Не собирайте историю только из изображения, не придумывайте и не изменяйте подписи.
history, добавляйте новую инструкцию пользователя, затем полученный content модели. Поле Interactions previous_interaction_id здесь не используется.
Поддержка API
- Используйте нестриминговый
generateContent. Files /fileData, Batch, Interactions и стриминг в этом подключении не поддерживаются. responseMimeType,responseSchemaи выбор формата сжатия изображений не поддерживаются. ВimageConfigиспользуйте только два поля, перечисленные выше.- Не добавляйте
cachedContent, вызов функций, выполнение кода, поиск файлов, Maps, URL context и настройки входного или выходного аудио.
Если уже есть клиент OpenAI Chat
Можно вызватьPOST /v1/chat/completions с Base URL https://bettertoken.ai/v1. Для нового подключения, референсов и последовательных правок используйте нативный интерфейс Gemini выше. В запросе Chat пропустите n или задайте целое 1.
В HTTP-запросе google.image_config находится в корне JSON. В Python OpenAI SDK передайте его через extra_body: SDK объединит поля с корнем. Не используйте здесь generationConfig.
openai==1.66.2, затем выполните:
choices[0].message.content, а не в data[] Images API. Не восстанавливайте из этого текста историю с подписями; для дальнейших правок используйте нативный пример.
Частые ошибки
Изображения возвращаются в текущем ответе. Здесь нет фонового получения файла или опроса задачи. Сохраняйте успешные результаты сразу, задавайте достаточное время ожидания в SDK и прокси и отключайте автоматические повторы.

