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

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

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

Генерация изображений по тексту

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

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

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

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

Несколько изображений + одна инструкция → композиция, сравнение, замена одежды и т. д.
По сравнению с Pro, Nano Banana 2 добавляет четыре сверхвысоких/сверхшироких соотношения сторон (1:4 / 4:1 / 1:8 / 8:1) и эксклюзивный низкоразрешающий уровень 512px, всего за $0.055/image за вызов (при token-based расчете — всего около $0.025/image), что лучше подходит для больших объёмов.

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

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

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

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

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

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

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

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

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

SKILL.md

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

scripts/nano_banana_2.py

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

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

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

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

Естественный язык (неявный триггер)

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

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

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

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

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

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