Перейти к основному содержанию
На этой странице представлен готовый к использованию навык для агента: добавьте его в уже используемый вами агент для программирования и вызывайте Nano Banana 2 (gemini-3.1-flash-image) на платформе APIYI для генерации и редактирования изображений с помощью естественного языка или явной команды. Всё состоит всего из двух файлов — скопируйте и приступайте.
Если вам нужен навык Pro (gemini-3-pro-image, максимальное качество), см. Навык Agent для Nano Banana Pro. На этой странице описан 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 указано, «что он делает и когда его использовать»; именно по этому описанию агент автоматически запускает навык):
name должно состоять из строчных букв и дефисов и не должно содержать зарезервированные слова, например claude / anthropic. В агентах, поддерживающих команды со слешем, имя каталога становится командой — nano-banana-2 превращается в /nano-banana-2. ${CLAUDE_SKILL_DIR} — это переменная каталога навыка, предоставляемая Claude Code; в других агентах используйте фактический путь к скрипту.

scripts/nano_banana_2.py

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

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

Многие задаются вопросом: я же не вводил команду, так как же «нарисуй кота» создало изображение? Вот как это работает: при запуске Агент сначала читает 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, или возвращает текст отказа, скорректируйте содержимое соответствующим образом и не пытайтесь многократно повторять тот же нарушающий запрос.

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