Заметка автора: Подробный разбор того, как добиться вывода в оригинальных пропорциях через Nano Banana Pro API. Узнайте, как правильно опускать параметр aspect_ratio, чтобы решить проблему изменения размеров при редактировании изображений.
При редактировании изображений через Nano Banana Pro API разработчики часто сталкиваются с вопросом: как сохранить исходный размер картинки? Официальная документация указывает, что параметр aspect_ratio поддерживает только 10 фиксированных пропорций. Однако на деле существует простое решение: в сценариях редактирования (image-to-image) просто не указывайте параметр aspect_ratio, и вы получите результат в оригинальном размере.
Ключевая ценность: Прочитав эту статью, вы полностью освоите технику сохранения пропорций в Nano Banana Pro API и сможете гибко управлять размерами изображений в любых ситуациях.

Ключевые моменты вывода в оригинальных пропорциях Nano Banana Pro
| Пункт | Описание | Ценность |
|---|---|---|
| Метод пропуска параметра | Не передавайте aspect_ratio при редактировании |
Автоматическое сохранение размеров оригинала |
| 10 фиксированных пропорций | 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 | Используются в сценариях генерации по тексту |
| Разница в поведении | Генерация по тексту: 1:1 по дефолту; Правка фото: оригинал по дефолту | Ключ к пониманию логики работы API |
Принцип работы вывода в оригинальных пропорциях
У Nano Banana Pro (он же Gemini 3 Pro Image) есть две разные модели поведения по умолчанию. В сценариях генерации изображений чисто по тексту (text-to-image), если не указать aspect_ratio, API по умолчанию создаст квадратную картинку 1:1.
Однако в режиме редактирования изображений (image-to-image) логика меняется. Когда вы предоставляете референс и просите внести в него изменения, не указывая параметр aspect_ratio, API автоматически распознает исходные размеры входного изображения и выдает результат в том же разрешении. Это и есть базовый механизм, позволяющий сохранить оригинальные пропорции.
Почему это удобно?
Такой подход максимально логичен: когда пользователь загружает картинку для редактирования, он обычно ожидает, что результат будет того же формата. Если бы API заставлял разработчиков вручную высчитывать и указывать пропорции, это бы только усложнило код и повысило риск искажения или неудачной обрезки изображения.

Подробный разбор официальных правил вывода в оригинальном соотношении сторон для Nano Banana Pro
Официальная документация API четко определяет, что параметр aspect_ratio принимает только следующие 10 предустановленных значений:
| Соотношение | Пример размера (1K) | Типичное использование | Сферы применения |
|---|---|---|---|
| 1:1 | 1024×1024 | Аватары, иконки | Аватары в соцсетях |
| 2:3 | 832×1248 | Вертикальные постеры | Обои для телефона |
| 3:2 | 1248×832 | Горизонтальные фото | Стандартный формат камеры |
| 3:4 | 864×1152 | Вертикальный контент | Обложки для соцсетей |
| 4:3 | 1152×864 | Традиционные мониторы | Иллюстрации для презентаций |
| 4:5 | 896×1120 | Контент для соцсетей | |
| 5:4 | 1120×896 | Печать фото | Фото 8×10 дюймов |
| 9:16 | 768×1344 | Вертикальное видео | Обложки для Reels/Shorts |
| 16:9 | 1344×768 | Горизонтальное видео | Обложки для YouTube |
| 21:9 | 1536×658 | Ультраширокий экран | Кинокадр |
Важное примечание: Вышеуказанные ограничения по соотношению сторон применяются только в тех случаях, когда вам нужно явно задать размеры. При редактировании изображений рекомендуем проводить тесты через платформу APIYI (apiyi.com) — если просто опустить параметр
aspect_ratio, вы получите результат в оригинальном размере исходника.
Быстрый старт: вывод в оригинальном соотношении в Nano Banana Pro
Минималистичный пример: редактирование с сохранением размера
Вот самый простой способ реализовать вывод в оригинальном соотношении сторон:
import openai
import base64
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://vip.apiyi.com/v1"
)
# Читаем исходное изображение и кодируем его
with open("input.jpg", "rb") as f:
image_base64 = base64.b64encode(f.read()).decode()
# Важно: не передаем параметр aspect_ratio
response = client.chat.completions.create(
model="gemini-3-pro-image-preview",
messages=[{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_base64}"}},
{"type": "text", "text": "Измени фон изображения на закат"}
]
}]
)
Посмотреть полный код реализации (с обработкой ошибок)
import openai
import base64
from pathlib import Path
def edit_image_keep_ratio(
image_path: str,
edit_prompt: str,
output_path: str = "output.png"
) -> bool:
"""
Редактирование изображения с сохранением исходного соотношения сторон
Args:
image_path: Путь к исходному изображению
edit_prompt: Инструкция (промпт) для редактирования
output_path: Путь для сохранения результата
Returns:
bool: Успешно ли выполнена операция
"""
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://vip.apiyi.com/v1"
)
# Читаем и кодируем изображение
image_data = Path(image_path).read_bytes()
image_base64 = base64.b64encode(image_data).decode()
# Определяем MIME-тип изображения
suffix = Path(image_path).suffix.lower()
mime_type = {"jpg": "jpeg", "jpeg": "jpeg", "png": "png", "webp": "webp"}.get(suffix[1:], "jpeg")
try:
# Суть: не передаем aspect_ratio, и система автоматически сохраняет оригинал
response = client.chat.completions.create(
model="gemini-3-pro-image-preview",
messages=[{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/{mime_type};base64,{image_base64}"}},
{"type": "text", "text": edit_prompt}
]
}]
)
# Сохраняем результат
result_base64 = response.choices[0].message.content
output_data = base64.b64decode(result_base64)
Path(output_path).write_bytes(output_data)
return True
except Exception as e:
print(f"Ошибка редактирования: {e}")
return False
# Пример использования
edit_image_keep_ratio(
"product.jpg",
"Удали фон изображения, оставив только основной продукт",
"product_nobg.png"
)
Рекомендация: Воспользуйтесь платформой APIYI (apiyi.com), чтобы получить бесплатные тестовые лимиты и быстро проверить, как работает вывод в оригинальном соотношении. Платформа поддерживает полный функционал модели Nano Banana Pro.
Сравнение трех сценариев вывода в оригинальных пропорциях для Nano Banana Pro

| Сценарий | Конфигурация aspect_ratio | Результат | Применение |
|---|---|---|---|
| Генерация по тексту (пропорции) | "aspect_ratio": "16:9" |
1344×768 (1K) | Постеры, дизайн обложек |
| Генерация по тексту (стандарт) | Не передавать параметр | 1024×1024 | Квадратные иконки |
| Правка — оригинал | Не передавать параметр | Как у оригинала | Редактирование фото товаров |
Сценарий 1: Генерация по тексту с заданным соотношением сторон
При создании изображения чисто по текстовому промпту, если вам нужны специфические размеры, необходимо явно указать параметр aspect_ratio:
response = client.chat.completions.create(
model="gemini-3-pro-image-preview",
messages=[{"role": "user", "content": "Милый котик"}],
extra_body={
"image_config": {
"aspect_ratio": "16:9", # Обязательно к указанию
"resolution": "2K"
}
}
)
Сценарий 2: Редактирование с сохранением оригинального размера
Это основной кейс, ради которого написана статья. Чтобы сохранить исходные пропорции при обработке готового изображения, просто опустите параметр aspect_ratio:
response = client.chat.completions.create(
model="gemini-3-pro-image-preview",
messages=[{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{img}"}},
{"type": "text", "text": "Сделай цвета на фото более насыщенными"}
]
}]
# extra_body и aspect_ratio не передаются
)
Сценарий 3: Принудительное изменение пропорций при редактировании
Если же при редактировании вам действительно нужно изменить форму картинки, можно прописать нужный параметр явно:
response = client.chat.completions.create(
model="gemini-3-pro-image-preview",
messages=[{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{img}"}},
{"type": "text", "text": "Переделай композицию фото под квадрат"}
]
}],
extra_body={"image_config": {"aspect_ratio": "1:1"}}
)
Примечание: Данные конфигурации параметров проверены и успешно работают на платформе APIYI (apiyi.com).
Часто задаваемые вопросы (FAQ)
Q1: Почему после того, как я убрал aspect_ratio, изображение все равно получилось квадратным?
Убедитесь, что ваш запрос действительно содержит входное изображение. Если в messages передается только текст без картинок, API будет работать в режиме генерации по тексту (text-to-image), где по умолчанию установлено соотношение 1:1. Вывод в оригинальном размере работает только в сценариях редактирования при наличии референсного изображения.
Q2: Что делать, если размер оригинала не входит в 10 поддерживаемых пропорций?
В этом и заключается фишка метода с пропуском параметра. Например, если оригинал имеет разрешение 1920×1080 (примерно 16:9), API выдаст результат, максимально близкий к этому размеру, без принудительной обрезки. Если же вы явно укажете aspect_ratio: "16:9", на выходе получится стандартное разрешение 1344×768.
Q3: Как быстро протестировать вывод в оригинальных пропорциях?
Рекомендуем использовать агрегаторы API с поддержкой нескольких моделей:
- Зайдите на сайт APIYI apiyi.com и зарегистрируйте аккаунт.
- Получите API-ключ и бесплатные лимиты.
- Используйте примеры кода из этой статьи и загрузите тестовое изображение для проверки.
Итоги
Ключевые моменты для вывода в оригинальном размере в Nano Banana Pro:
- Пропуск параметра = оригинальный размер: в сценариях редактирования изображений просто не передавайте параметр
aspect_ratio, чтобы сохранить исходные пропорции. - Понимайте разницу сценариев: генерация по тексту по умолчанию дает 1:1, а редактирование — оригинальный размер. Эти два режима ведут себя по-разному.
- 10 предустановленных пропорций: если вам всё же нужно указать конкретный размер, выбирать придется только из 10 официально поддерживаемых вариантов.
Освоив этот прием, вы сможете легко сохранять исходные размеры при редактировании продуктовых фото, ретуши портретов или замене фона, избегая лишней возни с подгонкой разрешения на пост-продакшене.
Рекомендуем быстро проверить результат через APIYI apiyi.com — платформа предоставляет бесплатные лимиты и полную поддержку модели Nano Banana Pro.
📚 Полезные ресурсы
⚠️ О формате ссылок: Все внешние ссылки указаны в формате
Название ресурса: domain.com. Их удобно копировать, но они не кликабельны — это сделано для сохранения SEO-веса.
-
Официальная документация Google Gemini API: Полное описание параметров генерации изображений Nano Banana
- Ссылка:
ai.google.dev/gemini-api/docs/nanobanana - Описание: Официальный авторитетный документ, содержащий полное определение параметра aspect_ratio.
- Ссылка:
-
fal.ai Nano Banana Pro API: Подробное описание интерфейса на сторонней платформе
- Ссылка:
fal.ai/models/fal-ai/nano-banana-pro/edit/api - Описание: Содержит примеры конфигурации параметров для сценариев image-to-image.
- Ссылка:
-
Форум разработчиков Google AI: Обсуждения в сообществе и ответы на вопросы
- Ссылка:
discuss.ai.google.dev - Описание: Здесь можно найти опыт других разработчиков по управлению размерами изображений.
- Ссылка:
Автор: Техническая команда
Техническое общение: Приглашаем обсудить приемы работы с Nano Banana Pro API в комментариях. Больше материалов можно найти в техническом сообществе APIYI на сайте apiyi.com
