nano-banana-image-ad について
Arcads と Nano Banana 系モデルを使い、単体の Meta 広告画像を生成するスキルです。新規生成と既存画像の編集に対応し、生成画像のローカルパスを別の広告制作ワークフローへ渡します。Meta へのアップロードは行いません。
主な機能
- 01Nano Banana モデルの選択
- 02新規画像生成と画像編集
- 03最大14枚の参照画像
- 043種類のアスペクト比
- 05目視確認と再生成
活用シーン
- 01単体の Meta 広告画像の作成
- 02既存広告画像の編集
- 03参照画像から複数案を生成
- 04選んだ素材を広告制作工程へ引き渡し
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ krusemediallc/ arcads-claude-code --skill nano-banana-image-adインストール後、Claude Code で/nano-banana-image-adを入力して読み込まれたか確認します。
同梱ファイルscripts/generate_image.py
詳細
nano-banana-image-ad(Arcads)
Arcads の POST /v2/images/generate を介して、Nano Banana モデルファミリー(デフォルトは nano-banana-2)で単体の Meta 広告画像クリエイティブを 1 つ以上生成します。画像のパスを Meta-ad-builder スキルに引き渡します。このスキル自体は Meta にアップロードしません。
読む順序
- このファイル — Arcads 固有のエンドポイント、認証、署名付きアップロードのフロー、ワークフローのフェーズ。
- shared/skills/nano-banana-image-ad/prompting/guide.md — モデル固有のプロンプト作成(Nano Banana の得意分野と不得意分野、gpt-image-2 に切り替えるタイミング)。
- shared/skills/image-ad-prompting/prompting/prompt-library.md — モデルごとの注記付きの、検証済みテンプレート 30 種以上。
- shared/skills/image-ad-prompting/prompting/safety-suffixes.md — 常に適用する 3 つのガード。
- scripts/generate_image.py — ヘルパースクリプト(Python 標準ライブラリのみ)。
厳守事項 — 絶対に緩和しないこと
- モデルは Nano Banana ファミリーのものを使用します。 スクリプトで受け付けるのは
nano-banana-2(デフォルト)、nano-banana-pro(Gemini 3 Pro Image、高コスト/アイデンティティ固定)、nano-banana-edit(インペイント重視)、またはnano-banana(レガシー)です。それ以外は拒否されます。ユーザーが gpt-image-2 を希望する場合は、chatgpt-image-adを案内してください。 - 出力にプラットフォームやスクリーンショットの UI 要素を含めないでください。
NO_CHROME_SUFFIXは常に有効です(--allow-chromeでのみ上書きできます)。 --no-safe-zoneを明示しない限り、エッジセーフとグリフ安全性のサフィックスを常に適用します。- 参照画像は最大 14 枚です。 これは Nano Banana に対する Arcads の厳格な上限です。スクリプトで適用されます。
- このスキルから Meta にアップロードしないでください。 画像生成のみを行います。ユーザーのスタックには別の広告ビルダースキルがあるため、ファイルシステムのパスを使って引き渡してください。
- 生成前に必ずクレジットコストの見積もりを提示してください。 Nano Banana の呼び出し 1 回につき画像 1 枚です。
--nの値を掛けてください。nano-banana-proはnano-banana-2より高コストです。logs/arcads-api.jsonlに記録されているモデルごとの料金を提示してください。
前提条件
ARCADS_BASIC_AUTH(推奨)またはARCADS_API_KEYを含む.env- 任意:セッションフォルダーの整理に使う
PRODUCT_ID、PROJECT_ID(.env内) - ローカルディスク上の参照画像。Arcads の署名付きアップロードフローはスクリプトが内部で処理します。
設定
- ベース URL:
https://external-api.arcads.ai(またはARCADS_BASE_URL)。 - 認証: HTTP Basic。スクリプトは事前にエンコードされた
ARCADS_BASIC_AUTHを優先し、設定されていない場合はARCADS_API_KEYをエンコードします。 - エンドポイント:
POST /v2/images/generate。status: generatedになるまでGET /v1/assets/{id}をポーリングします。 - 参照画像のアップロード:
POST /v1/file-upload/get-presigned-urlは{presignedUrl, filePath}を返します。presignedUrlにバイト列をPUTし、referenceImagesにfilePathを渡します。1 回限り有効です。スクリプトはバリアントごとに新しく再アップロードします。
生成モード
| モード | 使用する場面 | 必須 | 任意 |
|---|---|---|---|
image(デフォルト) | 新しい広告画像を作成します。 | --prompt、--aspect-ratio | --image-ref(最大 14 枚) |
image_edit | --source 画像を編集します。 | --prompt、--source | --image-ref(最大 14 枚) |
対応するアスペクト比
1:1、16:9、9:16。Arcads の /v2/images/generate エンドポイントで受け付けるのは、この 3 種類のみです(同じエンドポイントが gpt-image-2 と Nano Banana に対応しており、アスペクト比の制約も共通です)。共有ライブラリ内の 2:3、4:5、3:2 などを使用するテンプレートは、このバックエンドでは本来のアスペクト比でレンダリングされません。1:1 で生成して後からクロップするか、/jobs/createTask エンドポイント経由で Meta の全アスペクト比にネイティブ対応している、同系列の KIE nano-banana-image-ad を使用してください。
モデルのバリエーション(--model)
nano-banana-2(デフォルト)— Gemini 2.5 Flash Image。標準モデルです。ほとんどのテンプレートで使用します。nano-banana-pro— Gemini 3 Pro Image。ヒーロー画像、実行間でキャラクターの一貫性を保つ場合、素材のリアルさが重要な画像(クレイアニメ、Pixar、高級製品の写真撮影)に使用します。クレジットの消費量は多くなります。nano-banana-edit— インペイントに特化しています。--mode image_editを指定した、マスク範囲を絞った編集(背景の差し替え、オブジェクトの色変更)にのみ使用します。nano-banana— レガシー版です。ユーザーから明示的に依頼された場合にのみ使用します。新しい作業ではnano-banana-2を使用してください。
セッション内で最初に生成する前に、値がすでに MASTER_CONTEXT.md に設定されていない場合は、どのバリエーションを使うかユーザーに確認してください。デフォルトは nano-banana-2 です。
ワークフロー
フェーズ 1:事前確認
.envに認証情報が設定されていることを確認します。- (任意)
arcads-external-apiのセッションフォルダーを設定します。 - ヘルスチェック:
curl -sf -H "$AUTH" "$BASE_URL/v1/products"が 200 を返すことを確認します。
フェーズ 2:入力情報の収集
次の情報を収集します:シードプロンプト、モード、ソース(編集の場合)、参照パス(最大 14 件)、バリエーション数、アスペクト比、モデルのバリエーション。
フェーズ 3:プロンプトの書き換え
shared/skills/image-ad-prompting/prompting/prompt-library.md を読みます。ユーザーの依頼がテンプレートに合致する場合は、Model notes ブロックを確認してください。nano-banana が clean、preferred、または strong と記載されている場合にのみ続行します。gpt-image-2 が preferred の場合は、スキルの切り替えを提案してください。
{placeholders} を埋め、書き換えたプロンプトをユーザーに提示します。生成前に承認を求めてください。
新規プロンプト(テンプレートに合致しない場合)では、shared/skills/nano-banana-image-ad/prompting/guide.md § Phase 3b の構成に従います。Nano Banana の強み(名前付きの参照ロール、照明の具体的な指定、素材の具体的な指定)を活用してください。
フェーズ 4:クレジット費用の確認(必須)
推定クレジット費用を提示します(過去の該当する呼び出しについて、logs/arcads-api.jsonl から読み取ります)。モデルのバリエーションを目立つように示してください。nano-banana-pro は nano-banana-2 より費用が高くなります。明示的な確認を待ってください。
フェーズ 5:生成
~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py \
--prompt "<rewritten>" \
--aspect-ratio <ratio> \
--n <N> \
--image-ref <product.png> \
[--image-ref <character.png>] \
[--image-ref <style.png>] \
--out ./generated \
--env-file .env
# For higher-stakes hero shots:
~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py \
--model nano-banana-pro \
--prompt "<rewritten>" \
--aspect-ratio <ratio> \
--n <N> \
--image-ref <product.png> \
--out ./generated \
--env-file .env
# For an edit run (inpaint):
~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py \
--mode image_edit \
--model nano-banana-edit \
--prompt "<edit-instruction>" \
--source <existing.png> \
[--image-ref <guidance.png>] \
--n <N> \
--out ./generated \
--env-file .env
標準出力の各行には、1 つの JSON バリエーション(variant、path、asset_id、width、height、prompt、mode、aspect_ratio、model)が出力されます。
各呼び出しを、モデルのバリエーション、参照数、返された asset_id とともに logs/arcads-api.jsonl に記録します。
フェーズ 6:ビジュアル QA(必須)
完了した各バリエーションについて、画像を読み込んで次の点を確認します。
- 小さな文字の崩れ(Nano Banana の主な弱点)
- 指の増加や手足の数の誤り(Gemini 系モデルでよくある失敗)
- ワードマークのずれ(軽減するため、ブランドのワードマークは常に
--image-refとして渡します) - バリエーション間でのキャラクターの同一性のずれ(同一性が重要な場合は
nano-banana-proを使用して固定します)
問題がある場合は、問題を明示的に修正するプロンプトに改訂して再生成します(shared/skills/nano-banana-image-ad/prompting/guide.md § Retry mode を参照)。バリエーションごとの再試行は最大 2 回です。
フェーズ 7:確認と引き継ぎ
すべてのパスをユーザーに提示します。「すべてを使用/指定したものを使用/再生成/キャンセル」のいずれかを尋ねてください。
選択したバリエーションは Meta-ad-builder スキルで使用できます。パスを出力してください。
任意で、後続処理用に選択したパスを ./generated/run-<ts>.jsonl に書き込みます。
対象外 — 明確に失敗として扱う
- Meta へのアップロード — スタック内の別のスキルです。
- ChatGPT Image 2 / gpt-image-2 による生成 —
chatgpt-image-adを使用します。 - 動画、カルーセル、DCO 広告 — 画像のみが対象です。
- 広告コピーの作成 — 別のスキルです。
- 共有プロンプトライブラリの編集 —
image-ad-cloneを使用します(フェーズ 1 でバックエンドを尋ねます)。
よくあるエラー
- 401/403 →
.envを修正します。 - 422 validation/moderation → プロンプトをより具体的にします。
aspectRatioがサポート対象に含まれていることと、--nが 5 以下であることを確認します。 - 500 UNKNOWN_ERROR → 古い presigned filePath が原因であることがほとんどです。スクリプトはバリエーションごとに再アップロードします。問題が続く場合は、
asset_idを添えて issue を起票してください。
このスキルが管理するファイル
~/.claude/skills/nano-banana-image-ad/SKILL.md— このファイル~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py— Arcads Nano Banana 呼び出し元
関連項目
- shared/skills/nano-banana-image-ad/prompting/guide.md — モデル固有のプロンプト作成
- shared/skills/image-ad-prompting/prompting/prompt-library.md — 共通テンプレートライブラリ
- image-ad-clone skill — 既存の広告をリバースエンジニアリングし、再利用可能なライブラリエントリーにする、バックエンドに依存しない単一のスキル
- arcads-external-api skill — Arcads の基盤となる規約
- chatgpt-image-ad skill — タイポグラフィを多用したテンプレートや UI の模倣向けの姉妹スキル