Skip to main content
На этой странице представлен готовый к использованию Agent Skill: добавьте его в используемый вами coding Agent и используйте естественный язык (или прямую команду) для вызова Nano Banana 2.1 (gemini-nano-banana-2.1) на платформе APIYI для генерации изображений и их редактирования. Всё решение состоит всего из двух файлов — скопируйте и пользуйтесь.
Если вместо этого вам нужен навык Pro (gemini-3-pro-image, высочайшее качество), см. Nano Banana Pro Agent Skill. На этой странице рассматривается Nano Banana 2.1 (обновление для Nano Banana 2 с улучшенным качеством и рендерингом текста). Всё ещё используете предыдущую версию? См. Nano Banana 2 Agent Skill.

Что делает навык

Единый комбинированный навык. Скрипт автоматически определяет, передаете ли вы входные изображения, выбирая между генерацией по тексту и редактированием изображений:

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

Только prompt → совершенно новое изображение с 14 соотношениями сторон и разрешением 1K/2K/4K.

Редактирование изображений

Одно изображение + инструкция → локальные правки, стилизация, замена фона и многое другое.

Композитинг нескольких изображений

Несколько изображений + одна инструкция → композитинг, сравнение, смена одежды и т. д.
По сравнению с Pro, Nano Banana 2.1 добавляет четыре сверхвысоких/сверхшироких соотношения сторон (1:4 / 4:1 / 1:8 / 8:1) всего по $0.05 за изображение за вызов (одинаковая цена для 1K / 2K / 4K), что лучше подходит для больших объемов. Обратите внимание, что модель не поддерживает 512px; используйте Nano Banana 2, если вам нужен уровень миниатюр.

Какие агенты могут его использовать

Skill по сути представляет собой просто папку: набор инструкций для чтения агентом (SKILL.md) + скрипт, выполняющий работу. Поэтому его может использовать любой агент для написания кода, способный читать локальные файлы и выполнять shell-команды — например, Codex, OpenClaw, hermes-agent, Claude Code и другие.Единственное требование: на машине, где запущен агент (ваш компьютер или сервер), должен быть установлен Python 3 и иметься доступ к сети (скрипт обращается напрямую к api.apiyi.com). Вот и всё — он не привязан к какому-либо конкретному агенту.

Настройка за 3 шага

① Создайте папку и вставьте файлы

Создайте папку навыка со следующими двумя файлами (полное содержимое приведено в следующих двух разделах):

② Поместите ваш ключ в ту же папку

Запишите ваш APIYI API Key (создайте его в консоли api.apiyi.com) в nano-banana-2-1/.env:
Скрипт автоматически считывает ключ из этого .env — никакой дополнительной настройки или переменных окружения не требуется.
.env содержит ваш секретный ключ. Если вы делитесь этим навыком через репозиторий проекта, обязательно добавьте .env в .gitignore и ни в коем случае не коммитьте его в git.

③ Передайте его вашему агенту

  • Агенты с автообнаружением навыков (например, Claude Code): поместите всю папку nano-banana-2-1/ в директорию навыков — личную ~/.claude/skills/ или на уровне проекта .claude/skills/ (доступную через репозиторий).
  • Другие агенты: разместите папку в соответствии с правилами для навыков/плагинов конкретного агента; или проще всего — просто скажите агенту «прочитай SKILL.md в этой папке и следуй инструкциям».
После установки всё готово — перейдите к разделу Как использовать, чтобы посмотреть примеры.

SKILL.md

Создайте nano-banana-2-1/SKILL.md со следующим полным содержимым (в description указывается «что он делает + когда его использовать», на основе чего агент выполняет автоматический запуск):
name должно состоять из строчных букв и дефисов и не должно содержать зарезервированные слова, такие как claude / anthropic. В агентах, поддерживающих слэш-команды, имя каталога является командой — nano-banana-2-1 становится /nano-banana-2. ${CLAUDE_SKILL_DIR} — это переменная каталога навыка, предоставляемая Claude Code; в других агентах просто укажите фактический путь к скрипту.

scripts/nano_banana_2_1.py

Создайте nano-banana-2-1/scripts/nano_banana_2_1.py с использованием нативного формата Gemini (идентично проверенному рабочему коду на справочных страницах APIYI по text-to-image / image-edit). Чистая стандартная библиотека Python — pip install не требуется:
Имя модели по умолчанию — gemini-nano-banana-2.1. Чтобы временно вернуться к предыдущей версии, укажите APIYI_IMAGE_MODEL=gemini-3.1-flash-image (предыдущая версия также поддерживает --size 512).

Почему одна фраза генерирует изображение

Часто возникает вопрос: я не вводил никаких команд, так как же фраза «нарисуй кота» создала изображение? Вот как это устроено: при запуске Агент сначала считывает description из SKILL.md каждого навыка (очень короткий фрагмент метаданных, описывающий, «что делает этот навык и когда его использовать»). Когда ваш запрос соответствует этому сценарию (например, «нарисуй / сгенерируй / отрендери изображение», «отредактируй это изображение так, чтобы…»), Агент автоматически принимает решение вызвать этот навык, считывает полный SKILL.md и запускает скрипт — и всё это без необходимости запоминать какие-либо команды. Таким образом:
  • Хорошо составленный description = более точное автоматическое срабатывание. Описание этого навыка уже охватывает такие формулировки, как «сгенерировать / нарисовать / отредактировать / скомпоновать изображение».
  • Если вы не хотите, чтобы Агент угадывал, и вам нужен полный контроль, используйте явный вызов, описанный ниже.

Как использовать

Естественный язык (неявный вызов)

После установки просто обратитесь к агенту:

Явный вызов (больше контроля)

Если вы не хотите, чтобы агент принимал решение самостоятельно, есть два явных способа:
  • Агенты с поддержкой слэш-команд (например, Claude Code):
  • Любой агент / просто укажите ему запустить скрипт (наиболее универсальный вариант):
Как управлять соотношением сторон и чёткостью: используйте --aspect для соотношения сторон (14 вариантов, включая ультравысокие и ультраширокие 1:4 / 4:1 / 1:8 / 8:1, которых нет в Pro) и --size для разрешения (1K / 2K / 4K; 512 не поддерживается). Просто скажите «портрет 9:16», «отрендери в 4K» или «сделай ультраширокий баннер», и агент автоматически добавит эти флаги.

Куда сохраняется сгенерированное изображение

  • Если -o представляет собой просто имя файла (например, -o dog.png), все изображения сохраняются в папку nano-banana-2-1-output/ в корне проекта (создается автоматически), поэтому вы найдете их прямо в своем проекте.
  • «Корень проекта» — это первый найденный при подъеме вверх от расположения скрипта каталог, содержащий .git или .claude, поэтому независимо от того, из какой директории запускается Agent, изображения попадают внутрь проекта, а не во временную директорию, которую невозможно найти.
  • Скрипт выводит по одному полному абсолютному пути на каждое изображение, например Image saved to /Users/you/project/nano-banana-2-1-output/dog.png.
  • По умолчанию генерируется только 1 изображение; -n 3 создает 3 одновременно (максимум 5, любое большее значение ограничивается до 5), при этом суффиксы -1, -2, -3 добавляются автоматически.
  • Если -o является путем с указанием директории (например, -o images/dog.png или абсолютным путем), файл сохраняется точно по этому пути (относительные пути рассчитываются относительно текущего рабочего каталога) и не помещается в nano-banana-2-1-output/.
  • Редактирование изображений работает точно так же: результат записывается в новый файл и не перезаписывает исходный.
В Nano Banana 2.1 действуют строгие правила безопасности контента. Если скрипт сообщает о finishReason, отличном от STOP, или возвращает текст с отклонением запроса, скорректируйте контент соответствующим образом и не повторяйте многократно попытки с тем же нарушающим правила prompt.

Связанная документация