Эта страница предлагает готовый к использованию Agent Skill: добавьте его в уже используемый вами coding Agent и с помощью естественного языка (или явной команды) вызовите Nano Banana 2 (
gemini-3.1-flash-image-preview) на платформе APIYI для генерации изображений и редактирования. Всё это — всего два файла: копируете и начинаете работать.Что делает навык
Единый комбинированный навык. Скрипт автоматически определяет передаёте ли вы входные изображения, чтобы выбрать между генерацией изображений по тексту и редактированием изображений:Генерация изображений по тексту
Только prompt → совершенно новое изображение, с 14 соотношениями сторон и разрешением 512/1K/2K/4K.
Редактирование изображений
Одно изображение + инструкция → локальные правки, изменение стиля, замена фона и многое другое.
Композиция из нескольких изображений
Несколько изображений + одна инструкция → композиция, сравнение, замена одежды и т. д.
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 — дополнительная настройка или переменные среды не нужны.
③ Передайте его вашему 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 использует для автозапуска):
scripts/nano_banana_2.py
Создайтеnano-banana-2/scripts/nano_banana_2.py, используя нативный формат Gemini (идентично проверенному рабочему коду на справочных страницах APIYI по text-to-image / image-edit). Только стандартная библиотека Python — pip install не требуется:
Почему одно предложение генерирует изображение
Многие задаются вопросом: я же не вводил команду, так как же «нарисуй кота» создало изображение? Вот как это работает: при запуске Агент сначала читаетdescription из SKILL.md каждого навыка (очень короткий фрагмент метаданных, который описывает «что делает этот навык и когда его использовать»). Когда ваш запрос соответствует этому сценарию (например, «нарисовать / сгенерировать / отрендерить изображение», «отредактировать это изображение, чтобы…»), Агент автоматически решает вызвать навык, читает полный SKILL.md и запускает сценарий — и все это без необходимости помнить какую-либо команду.
Итак:
- Хорошо написанный
description= более точное автосрабатывание. Описание этого навыка уже покрывает формулировки вроде «сгенерировать / нарисовать / отредактировать / скомпозить изображение». - Если вы не хотите, чтобы Агент угадывал, и хотите полный контроль, используйте явный вызов ниже.
Как использовать
Естественный язык (неявный триггер)
После установки просто говорите с Агентом:Явный вызов (больше контроля)
Когда вы не хотите, чтобы Агент решал сам, есть два явных способа:-
Агенты, которые поддерживают slash-команды (например, Claude Code):
-
Любой Agent / просто скажите ему запустить скрипт (самый универсальный вариант):
Куда сохраняется сгенерированное изображение
- Когда
-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, или возвращает текст отказа, скорректируйте содержимое соответствующим образом и не пытайтесь многократно повторять тот же нарушающий запрос.