Nano Banana チートシート:よく使う CLI/API/設定の一枚まとめ
Google の最新 AI モデル「Gemini 2.5 Flash Image」、通称 Nano Banana を使いこなすための情報をお探しではありませんか?
この記事では、Nano Banana の CLI コマンド、API 仕様、環境設定を一枚のチートシートとしてまとめました。開発の現場ですぐに参照できる実用的な内容になっています。
CLI コマンド早見表
| # | コマンド | 用途 | 主なオプション |
|---|---|---|---|
| 1 | /generate | テキストから画像生成 | --count, --styles, --preview |
| 2 | /edit | 既存画像の編集 | --variations, --seed |
| 3 | /restore | 写真の修復・強化 | --preview |
| 4 | /icon | アイコン生成 | --sizes, --type, --background |
| 5 | /pattern | パターン・テクスチャ生成 | --type, --density, --colors |
| 6 | /story | 連続画像生成 | --steps, --layout, --transition |
| 7 | /diagram | 技術図の作成 | --type, --style, --complexity |
| 8 | /nanobanana | 自然言語での自由な指示 | 共通オプション適用可 |
API エンドポイント早見表
| # | 項目 | 内容 |
|---|---|---|
| 1 | モデル名 | gemini-2.5-flash-image |
| 2 | エンドポイント | POST /v1beta/models/gemini-2.5-flash-image:generateContent |
| 3 | 認証方法 | API キー(ヘッダー: x-goog-api-key) |
| 4 | 入力形式 | JSON(text、base64 画像) |
| 5 | 出力形式 | JSON(base64 エンコード画像) |
| 6 | サポート言語 | Python, JavaScript, Go, REST/cURL |
| 7 | 料金 | 1 画像あたり $0.039(1290 トークン) |
設定・環境変数早見表
| # | 環境変数名 | 優先度 | 用途 |
|---|---|---|---|
| 1 | NANOBANANA_GEMINI_API_KEY | 最優先 | Gemini API 使用時の推奨設定 |
| 2 | NANOBANANA_GOOGLE_API_KEY | 優先 | Vertex API 使用時の推奨設定 |
| 3 | GEMINI_API_KEY | フォールバック | 後方互換性用 |
| 4 | GOOGLE_API_KEY | フォールバック | 後方互換性用 |
アスペクト比早見表
| # | 比率 | 用途例 |
|---|---|---|
| 1 | 1:1 | 正方形(SNS 投稿) |
| 2 | 16:9 | 横長(YouTube サムネイル) |
| 3 | 9:16 | 縦長(インスタストーリー) |
| 4 | 4:3 | 標準横(プレゼン) |
| 5 | 3:4 | 標準縦(ポスター) |
| 6 | 21:9 | ウルトラワイド(映画風) |
背景
Nano Banana とは
Nano Banana は、Google DeepMind が開発した最新の画像生成・編集 AI モデルです。
正式名称は「Gemini 2.5 Flash Image」といい、Gemini ファミリーの一員として高速かつ高品質な画像処理を実現しています。テキストから画像を生成するだけでなく、既存の画像を編集したり、複数の画像を組み合わせたりする機能も備えているのが特徴ですね。
以下の図は、Nano Banana の主な利用シーンを示しています。
mermaidflowchart TD
user["開発者"] -->|テキスト指示| nb["Nano Banana<br/>(Gemini 2.5 Flash Image)"]
nb -->|画像生成| gen["新規画像作成"]
nb -->|画像編集| edit["既存画像の修正"]
nb -->|画像復元| restore["古い写真の修復"]
gen --> output["PNG/JPEG 出力"]
edit --> output
restore --> output
提供形態
Nano Banana は、以下の 3 つの方法で利用できます。
Google AI Studio での利用では、ブラウザ上で直接画像生成を試すことができます。プロトタイピングや動作確認に最適でしょう。
Gemini API 経由での利用では、Python、JavaScript、Go などのプログラミング言語から API を呼び出します。アプリケーションへの組み込みに向いていますね。
CLI 拡張機能での利用では、コマンドラインから直接 Nano Banana の機能を使えます。バッチ処理やスクリプト化に便利です。
課題
情報の分散
Nano Banana の情報は、公式ドキュメント、GitHub リポジトリ、各種 API プロバイダーのサイトなど、複数の場所に分散しています。
開発中に「あのコマンドのオプションは何だったか?」「API のリクエスト形式はどうだったか?」と調べる度に、複数のページを行き来するのは非効率的ですよね。
コマンドとオプションの多様性
Nano Banana の CLI には、画像生成、編集、アイコン作成、パターン生成など、目的別に 8 つのコマンドが用意されています。
それぞれのコマンドには、スタイル指定、サイズ指定、レイアウト指定など、多数のオプションがあります。全てを記憶するのは困難で、都度ドキュメントを参照する必要がありました。
以下の図は、CLI コマンドの種類とその関係性を示しています。
mermaidflowchart LR
cli["CLI インターフェース"]
cli --> basic["基本機能"]
cli --> advanced["高度な機能"]
basic --> gen["/generate<br/>(画像生成)"]
basic --> edit["/edit<br/>(画像編集)"]
basic --> restore["/restore<br/>(画像復元)"]
advanced --> icon["/icon<br/>(アイコン作成)"]
advanced --> pattern["/pattern<br/>(パターン生成)"]
advanced --> story["/story<br/>(連続画像)"]
advanced --> diagram["/diagram<br/>(図表作成)"]
advanced --> nano["/nanobanana<br/>(自然言語)"]
API 仕様の把握
API を利用する際には、エンドポイント URL、認証方法、リクエスト形式、レスポンス形式など、多くの技術仕様を理解する必要があります。
特に、画像データの base64 エンコーディング、アスペクト比の指定方法、料金体系など、実装時に必要な情報が散在していると、開発のスピードが落ちてしまいます。
解決策
チートシートの作成
よく使うコマンド、API 仕様、設定項目を一枚のチートシートにまとめることで、情報検索の時間を大幅に削減できます。
このチートシートには、以下の 4 つのセクションを用意しました。
CLI コマンド早見表では、8 つの主要コマンドとその用途、主なオプションを一覧化しています。
API エンドポイント早見表では、モデル名、エンドポイント、認証方法など、API 利用に必要な基本情報をまとめました。
設定・環境変数早見表では、API キーの設定方法と優先順位を整理しています。
アスペクト比早見表では、よく使う画像サイズの比率と用途例を掲載しました。
以下の図は、チートシートの構成を示しています。
mermaidflowchart TD
cheat["Nano Banana<br/>チートシート"]
cheat --> cli_table["CLI コマンド早見表"]
cheat --> api_table["API エンドポイント早見表"]
cheat --> env_table["設定・環境変数早見表"]
cheat --> ratio_table["アスペクト比早見表"]
cli_table --> quick["素早いコマンド検索"]
api_table --> quick
env_table --> quick
ratio_table --> quick
quick --> dev["開発効率向上"]
図で理解できる要点:
- チートシートは 4 つの独立した表で構成されている
- すべての表が「素早い検索」という共通目標に貢献している
- 最終的に開発効率の向上につながる設計になっている
表形式での整理
情報を表形式で整理することで、視認性と検索性が向上します。
各表には行番号を付けており、「CLI コマンド早見表の 4 番を見て」といった具体的な参照が可能になっていますね。項目ごとに重要な情報が整理されているため、必要な情報へ素早くアクセスできます。
実用性重視の設計
チートシートは、実際の開発現場で使用頻度の高い項目を優先的に掲載しています。
例えば、CLI コマンドでは基本的な画像生成から、アイコン作成、図表作成まで、よく使うコマンドを網羅しました。API 早見表では、料金情報も含めており、コスト計算がすぐにできるようになっています。
具体例
CLI コマンドの使用例
実際の開発シーンを想定した CLI コマンドの使い方をご紹介します。
基本的な画像生成
テキストから画像を生成する最もシンプルな使い方です。
typescript// /generate コマンドの基本使用
以下のコマンドで、プロンプトから画像を 1 枚生成できます。
bashgemini /generate "夕焼けの海辺を歩く猫"
--count オプションを使えば、複数のバリエーションを一度に生成できます。
bashgemini /generate "夕焼けの海辺を歩く猫" --count=4
生成した画像を自動的に開くには、--preview オプションが便利でしょう。
bashgemini /generate "夕焼けの海辺を歩く猫" --preview
スタイルとバリエーションの指定
より細かく画像の雰囲気を制御したい場合は、スタイルとバリエーションを組み合わせます。
bashgemini /generate "都市の風景" --styles="photorealistic,modern" --variations="lighting,time-of-day"
このコマンドでは、フォトリアリスティックかつモダンなスタイルで、照明と時間帯のバリエーションを加えた画像が生成されますね。
利用可能なスタイルには、以下のものがあります。
| # | スタイル名 | 効果 |
|---|---|---|
| 1 | photorealistic | 写真のようなリアルな表現 |
| 2 | watercolor | 水彩画風 |
| 3 | oil-painting | 油絵風 |
| 4 | sketch | スケッチ風 |
| 5 | pixel-art | ドット絵風 |
| 6 | anime | アニメ風 |
| 7 | vintage | ヴィンテージ風 |
| 8 | modern | モダンスタイル |
| 9 | abstract | 抽象的表現 |
| 10 | minimalist | ミニマルデザイン |
アイコンの一括生成
アプリ開発でよく必要になるのが、複数サイズのアイコンです。
bashgemini /icon "ロケットのアプリアイコン" --sizes="16,32,64,128,256" --type="app-icon" --style="modern" --background="transparent" --corners="rounded"
このコマンド一つで、16px から 256px までの 5 サイズのアイコンが生成されます。
--background="transparent" により、背景が透明な PNG ファイルとして出力されるため、そのまま使えますね。
技術図の作成
ドキュメントやプレゼンに使う技術図も、コマンドで簡単に作れます。
bashgemini /diagram "マイクロサービスアーキテクチャの構成図" --type="architecture" --style="professional" --layout="hierarchical" --complexity="detailed"
このコマンドでは、プロフェッショナルなスタイルで、階層的レイアウトの詳細なアーキテクチャ図が生成されます。
図の種類は以下から選択できます。
| # | タイプ | 用途 |
|---|---|---|
| 1 | flowchart | フローチャート(処理の流れ) |
| 2 | architecture | システム構成図 |
| 3 | network | ネットワーク図 |
| 4 | database | データベース構造図 |
| 5 | wireframe | UI ワイヤーフレーム |
| 6 | mindmap | マインドマップ |
| 7 | sequence | シーケンス図 |
以下の図は、Nano Banana での画像生成フローを示しています。
mermaidflowchart LR
input["コマンド入力<br/>(プロンプト + オプション)"]
parse["パラメータ解析"]
api["Gemini API 呼び出し"]
process["画像生成処理"]
save["ファイル保存"]
input --> parse
parse --> api
api --> process
process --> save
save --> file["生成画像<br/>(PNG/JPEG)"]
図で理解できる要点:
- コマンド実行から画像保存までの処理ステップが明確
- 各段階でパラメータやデータがどう変換されるかが一目瞭然
- API 呼び出しが処理の中核を担っている
API の使用例
プログラムから Nano Banana を利用する際の具体的なコード例です。
環境変数の設定
まず、API キーを環境変数に設定します。
bashexport NANOBANANA_GEMINI_API_KEY="your-api-key-here"
環境変数は優先度順に参照されるため、NANOBANANA_GEMINI_API_KEY が最優先で使われますね。
Python での基本的な画像生成
Python で Nano Banana を使う場合は、google-genai パッケージをインストールします。
bashyarn add google-genai
以下は、テキストから画像を生成する基本的なコードです。
pythonimport google.generativeai as genai
import os
API キーを設定して、クライアントを初期化します。
python# API キーの設定
genai.configure(api_key=os.environ.get("NANOBANANA_GEMINI_API_KEY"))
# モデルの取得
model = genai.GenerativeModel("gemini-2.5-flash-image")
画像生成のリクエストを送信します。
python# プロンプトの準備
prompt = "未来都市の夜景、ネオンが輝くサイバーパンク風"
# 画像生成の実行
response = model.generate_content(
prompt,
generation_config={
"response_modalities": ["Image"],
"image_config": {
"aspect_ratio": "16:9"
}
}
)
生成された画像を保存します。
python# 画像データの取得
import base64
for part in response.parts:
if hasattr(part, 'inline_data'):
# Base64 デコードして保存
image_data = base64.b64decode(part.inline_data.data)
with open("generated_image.png", "wb") as f:
f.write(image_data)
print("画像を保存しました: generated_image.png")
このコードで、16:9 のアスペクト比で画像が生成され、PNG ファイルとして保存されますね。
JavaScript での画像生成
Node.js で使う場合は、@google/genai パッケージを利用します。
bashyarn add @google/genai
以下は、TypeScript での実装例です。
typescriptimport { GoogleGenerativeAI } from '@google/genai';
import * as fs from 'fs';
API クライアントを初期化します。
typescript// API クライアントの初期化
const genAI = new GoogleGenerativeAI(
process.env.NANOBANANA_GEMINI_API_KEY || ''
);
// モデルの取得
const model = genAI.getGenerativeModel({
model: 'gemini-2.5-flash-image',
});
画像生成とファイル保存を行う関数を定義します。
typescriptasync function generateImage(
prompt: string,
aspectRatio: string = '1:1'
) {
try {
// 画像生成リクエスト
const result = await model.generateContent({
contents: [
{ role: 'user', parts: [{ text: prompt }] },
],
generationConfig: {
responseModalities: ['Image'],
imageConfig: {
aspectRatio: aspectRatio,
},
},
});
const response = await result.response;
// 画像データの抽出
for (const part of response.candidates[0].content
.parts) {
if (part.inlineData) {
const imageBuffer = Buffer.from(
part.inlineData.data,
'base64'
);
fs.writeFileSync('output.png', imageBuffer);
console.log('画像を生成しました: output.png');
return true;
}
}
} catch (error) {
console.error('エラーが発生しました:', error);
return false;
}
}
関数を呼び出して画像を生成します。
typescript// 使用例
generateImage('桜が咲く日本庭園、春の昼下がり', '4:3');
この実装では、エラーハンドリングも含めて、実用的なコードになっていますね。
REST API での直接呼び出し
cURL を使って、REST API から直接呼び出すこともできます。
bashcurl -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent" \
-H "x-goog-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "宇宙ステーションから見た地球"}
]
}],
"generationConfig": {
"responseModalities": ["Image"],
"imageConfig": {
"aspectRatio": "16:9"
}
}
}'
レスポンスは JSON 形式で返され、candidates[0].content.parts[].inlineData.data に base64 エンコードされた画像データが含まれます。
以下の図は、API リクエストの処理フローを示しています。
mermaidsequenceDiagram
participant App as アプリケーション
participant API as Gemini API
participant Model as Nano Banana モデル
App->>API: POST リクエスト<br/>(プロンプト + 設定)
API->>API: 認証チェック<br/>(API キー検証)
API->>Model: 画像生成指示
Model->>Model: AI 処理<br/>(画像生成)
Model->>API: 生成画像<br/>(Base64)
API->>App: JSON レスポンス<br/>(画像データ含む)
App->>App: Base64 デコード<br/>ファイル保存
図で理解できる要点:
- アプリケーションから API までの通信フローが時系列で示されている
- 認証チェックが API レイヤーで行われることが明確
- 画像データが Base64 形式で送受信されることがわかる
設定と環境構築
Nano Banana を使い始めるための環境構築手順です。
API キーの取得
Google AI Studio から API キーを取得します。
- Google AI Studio にアクセス
- 「Create API key」ボタンをクリック
- Google Cloud プロジェクトを選択(または新規作成)
- 生成された API キーをコピー
取得した API キーは、環境変数として設定するのが安全です。
bash# .env ファイルに追加
echo "NANOBANANA_GEMINI_API_KEY=your-api-key" >> .env
.env ファイルは .gitignore に追加して、Git リポジトリにコミットしないようにしましょう。
bashecho ".env" >> .gitignore
CLI 拡張機能のインストール
Nano Banana の CLI を使うには、まず Gemini CLI 本体が必要です。
bash# Node.js 20 以上が必要
node --version
Node.js 20 未満の場合は、アップデートしてください。
Gemini CLI 拡張機能をインストールします。
bashgemini extensions install https://github.com/gemini-cli-extensions/nanobanana
インストールが完了したら、動作確認をします。
bashgemini /generate "テスト画像" --count=1
画像が生成されれば、インストールは成功です。
環境変数の優先順位
Nano Banana は、以下の優先順位で環境変数を参照します。
NANOBANANA_GEMINI_API_KEY(最優先)NANOBANANA_GOOGLE_API_KEYGEMINI_API_KEYGOOGLE_API_KEY(最低優先)
複数の環境変数が設定されている場合、最も優先度の高いものが使われますね。
プロジェクトごとに異なる API キーを使いたい場合は、.env.local ファイルを作成するのがおすすめです。
bash# プロジェクトローカルの設定
echo "NANOBANANA_GEMINI_API_KEY=project-specific-key" > .env.local
この設定により、プロジェクトごとに異なる API キーを管理できます。
エラー対処とデバッグ
実際の開発で遭遇しやすいエラーと、その解決方法をご紹介します。
エラーコード: 401 Unauthorized
エラーメッセージ:
vbnetError 401: API key not valid. Please pass a valid API key.
発生条件:
- API キーが正しく設定されていない
- API キーが無効または期限切れ
- 環境変数の名前が間違っている
解決方法:
- 環境変数が正しく設定されているか確認
bashecho $NANOBANANA_GEMINI_API_KEY
- API キーを再設定
bashexport NANOBANANA_GEMINI_API_KEY="your-valid-api-key"
- Google AI Studio で API キーの有効性を確認
エラーコード: 429 Too Many Requests
エラーメッセージ:
javaError 429: Resource has been exhausted (e.g. check quota).
発生条件:
- API のレート制限を超えた
- 無料枠の上限に達した
解決方法:
- リクエスト間隔を空ける
typescript// リトライロジックの実装
async function generateWithRetry(
prompt: string,
maxRetries: number = 3
) {
for (let i = 0; i < maxRetries; i++) {
try {
return await generateImage(prompt);
} catch (error) {
if (error.code === 429 && i < maxRetries - 1) {
// 指数バックオフで待機
const waitTime = Math.pow(2, i) * 1000;
console.log(
`${waitTime}ms 待機後にリトライします...`
);
await new Promise((resolve) =>
setTimeout(resolve, waitTime)
);
} else {
throw error;
}
}
}
}
- Google Cloud Console で quota を確認し、必要に応じて増量申請
エラーコード: TypeError
エラーメッセージ:
javascriptTypeError: Cannot read property 'inlineData' of undefined
発生条件:
- レスポンスの構造が想定と異なる
- 画像が生成されなかった
解決方法:
- レスポンスの存在確認を追加
typescriptasync function safeGenerateImage(prompt: string) {
const result = await model.generateContent({
contents: [{ role: 'user', parts: [{ text: prompt }] }],
generationConfig: {
responseModalities: ['Image'],
imageConfig: { aspectRatio: '1:1' },
},
});
const response = await result.response;
// 安全な取得
if (
!response.candidates ||
response.candidates.length === 0
) {
throw new Error('画像が生成されませんでした');
}
const parts = response.candidates[0].content.parts;
if (!parts || parts.length === 0) {
throw new Error('レスポンスにデータが含まれていません');
}
const imagePart = parts.find((part) => part.inlineData);
if (!imagePart) {
throw new Error('画像データが見つかりません');
}
return imagePart.inlineData.data;
}
このように、各段階で存在確認を行うことで、より堅牢なコードになりますね。
まとめ
Nano Banana(Gemini 2.5 Flash Image)は、Google の最新 AI 技術を活用した強力な画像生成・編集ツールです。
この記事では、CLI コマンド、API 仕様、環境設定を一枚のチートシートとしてまとめました。実際の開発現場で、このチートシートを手元に置いておけば、コマンドのオプションや API の仕様を素早く確認できるでしょう。
CLI では、8 つの専用コマンド(/generate、/edit、/restore、/icon、/pattern、/story、/diagram、/nanobanana)を使い分けることで、様々な画像処理を効率的に実行できます。
API では、Python、JavaScript、Go、cURL など、主要な言語とツールから Nano Banana を呼び出せます。base64 エンコーディングによる画像データのやり取りや、アスペクト比の指定方法を理解すれば、アプリケーションへの組み込みもスムーズに進むはずです。
環境設定では、環境変数の優先順位を把握しておくことで、プロジェクトごとに異なる API キーを適切に管理できますね。
開発を進める中で遭遇しやすいエラー(401 Unauthorized、429 Too Many Requests、TypeError など)への対処法も押さえておけば、トラブルシューティングの時間を短縮できるでしょう。
Nano Banana は、1 画像あたり $0.039 という手頃な料金設定で、高品質な画像生成を実現しています。このチートシートを活用して、効率的な画像処理ワークフローを構築していってください。
関連リンク
articleNano Banana チートシート:よく使う CLI/API/設定の一枚まとめ
articleNano Banana のインストール完全ガイド:macOS/Windows/Linux 別の最短手順
articleNano Banana とは?ゼロからわかる特徴・できること・向いている用途【2025 年版】
articleNuxt × Vercel/Netlify/Cloudflare:デプロイ先で変わる性能とコストを実測
articleRemix で「Hydration failed」を解決:サーバ/クライアント不整合の診断手順
articlePreact 本番最適化運用:Lighthouse 95 点超えのビルド設定と監視 KPI
articleNginx microcaching vs 上流キャッシュ(Varnish/Redis)比較:TTFB と整合性の最適解
articleNestJS × TypeORM vs Prisma vs Drizzle:DX・性能・移行性の総合ベンチ
articlePlaywright × Allure レポート運用:履歴・トレンド・失敗分析を見える化する
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来