このページでは、すぐに使えるエージェントスキルを提供します: すでに使っているコーディングエージェントに入れて、自然言語(または明示的なコマンド)で Nano Banana Pro(
gemini-3-pro-image)を APIYI プラットフォーム上で呼び出し、画像生成と編集に使えます。全体はたった 2 ファイルです — コピーしてそのまま使えます。このスキルでできること
1つの統合スキルです。スクリプトが入力画像を渡しているかどうかを自動判定し、テキストから画像生成と画像編集を切り替えます:テキストから画像生成
プロンプトのみ → まったく新しい画像を生成します。アスペクト比は10種類、解像度は1K/2K/4Kです。
画像編集
画像1枚 + 1つの指示 → ローカル編集、リスタイル、背景差し替えなどを行います。
複数画像の合成
複数画像 + 1つの指示 → 合成、比較、衣装の入れ替えなどを行います。
どのエージェントが使用できますか
Skill は実質的には単なる フォルダ です。エージェントが読むための指示セット(
SKILL.md)と、作業を行うスクリプトで構成されています。つまり、ローカルファイルを読み、シェルコマンドを実行できるコーディングエージェントならどれでも使用できます — たとえば Codex, OpenClaw, hermes-agent, Claude Code などです。必要条件はただ 1 つです。エージェントを実行するマシン(お使いのコンピュータまたはサーバー)に Python 3 がインストールされており、ネットワークアクセス があることです(スクリプトは api.apiyi.com を直接呼び出します)。それだけです — 特定のエージェントに紐づいているわけではありません。3ステップでセットアップ
① フォルダを作成してファイルを貼り付ける
次の 2 つのファイルを含むスキルフォルダを作成します(完全な内容は次の 2 セクションにあります):② 同じフォルダにキーを置く
APIYI API Key を、(api.apiyi.com コンソールで作成したものを)nano-banana-pro/.env に書き込みます:
.env からキーを自動で読み込みます — 追加の設定や環境変数は不要です。
③ エージェントに渡す
- スキルを自動検出するエージェント(例: Claude Code)の場合:
nano-banana-pro/フォルダ全体を、そのスキルディレクトリに配置します — 個人用の~/.claude/skills/、またはリポジトリで共有するプロジェクトレベルの.claude/skills/。 - その他のエージェント: それぞれのスキル/プラグインの規約に従って配置してください。あるいは、いちばん簡単なのは — エージェントに「このフォルダの SKILL.md を読んで従ってください」と伝えるだけです。
SKILL.md
nano-banana-pro/SKILL.mdを、以下の完全な内容で作成してください(description は「何をするか + いつ使うか」を示し、これを Agent が自動トリガーに使用します):
scripts/nano_banana.py
APIYI の text-to-image / image-edit 参考ページで検証済みの動作コードと同一の、Gemini ネイティブ形式を使ってnano-banana-pro/scripts/nano_banana.py を作成してください。Pure Python 標準ライブラリのみ — pip install は不要です:
なぜ一文で画像が生成されるのか
よくある疑問です。コマンドを入力していないのに、どうして「猫を描く」で画像が生成されるのでしょうか? 仕組みはこうです。起動時に、エージェントはまず各スキルのSKILL.md から description を読み取ります(そのスキルが「何をするのか、いつ使うのか」を説明する、とても短いメタデータです)。あなたのリクエストがそのシナリオに一致すると(たとえば「画像を描く / 生成する / レンダリングする」「この画像を…に編集する」など)、エージェントは自動的にそのスキルを呼び出すことを決定し、SKILL.md 全体を読み取り、スクリプトを実行します。コマンドを覚えておく必要はありません。
つまり:
- よく書かれた
description= より正確な自動トリガー。 このスキルの説明には、すでに「画像を生成する / 描く / 編集する / 合成する」といった表現が含まれています。 - エージェントに推測させたくなく、完全に自分で制御したい場合は、下の明示的な呼び出しを使ってください。
使い方
自然言語(暗黙のトリガー)
インストール後は、エージェントに話しかけるだけです。明示的な呼び出し(より細かく制御)
エージェントに自動判断させたくない場合は、明示的な方法が 2 つあります。-
スラッシュコマンドをサポートするエージェント(例: Claude Code):
-
任意のエージェント / 単にスクリプトを実行するよう指示する(最も汎用的):
生成された画像の保存先
-oが ベアファイル名(例:-o dog.png)の場合、画像はすべて プロジェクトルート直下のnano-banana-output/フォルダ に保存されます(自動で作成されます)。そのため、画像はプロジェクト内のその場所にあります。- 「プロジェクトルート」= スクリプト自身の場所から上方向にたどって見つかった、
.gitまたは.claudeを含む最初のディレクトリです。そのため、Agent がどのディレクトリから実行されても、画像はプロジェクト内に保存され、見つけられない一時ディレクトリには保存されません。 - スクリプトは画像ごとに 1 つの完全な絶対パスを出力します。例:
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 を繰り返し再試行しないでください。生成リファレンスの エラーハンドリングガイド を参照してください。