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

Что делает skill

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SKILL.md

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

scripts/nano_banana.py

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

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

Люди часто удивляются: я ведь никогда не вводил команду, так как же “draw a cat” создало изображение? Вот как это работает: при запуске Agent сначала читает description из SKILL.md каждого навыка (очень краткий фрагмент метаданных, который описывает «что делает этот навык и когда его использовать»). Когда ваш запрос соответствует этому сценарию (например, «draw / generate / render an image», «edit this image to…»), Agent автоматически решает вызвать навык, читает полный SKILL.md и запускает скрипт — и все это без необходимости помнить какую-либо команду. Итак:
  • Хорошо написанный description = более точное автоматическое срабатывание. Описание этого навыка уже охватывает формулировки вроде «generate / draw / edit / composite an image».
  • Когда вы не хотите, чтобы Agent гадал, и хотите полный контроль, используйте явный вызов ниже.

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

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

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

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

Когда вы не хотите, чтобы Агент решал сам, есть два явных способа:
  • Агенты, которые поддерживают slash-команды (например, Claude Code):
  • Любой Агент / просто скажите ему запустить скрипт (самый универсальный вариант):
Как управлять соотношением сторон и резкостью: используйте --aspect для соотношения сторон (например, --aspect 16:9, 10 вариантов) и --size для разрешения (1K / 2K / 4K). Просто скажите «сделай портретный формат 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 Pro имеет строгие механизмы контроля безопасности контента. Если скрипт сообщает о finishReason, отличном от STOP, или возвращает текст отказа, скорректируйте контент соответствующим образом и не пытайтесь снова и снова отправлять тот же нарушающий prompt. См. руководство по обработке ошибок в справочнике по генерации.

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