T-CREATOR

Nano Banana チートシート:よく使う CLI/API/設定の一枚まとめ

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 トークン)

設定・環境変数早見表

#環境変数名優先度用途
1NANOBANANA_GEMINI_API_KEY最優先Gemini API 使用時の推奨設定
2NANOBANANA_GOOGLE_API_KEY優先Vertex API 使用時の推奨設定
3GEMINI_API_KEYフォールバック後方互換性用
4GOOGLE_API_KEYフォールバック後方互換性用

アスペクト比早見表

#比率用途例
11:1正方形(SNS 投稿)
216:9横長(YouTube サムネイル)
39:16縦長(インスタストーリー)
44:3標準横(プレゼン)
53:4標準縦(ポスター)
621: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"

このコマンドでは、フォトリアリスティックかつモダンなスタイルで、照明と時間帯のバリエーションを加えた画像が生成されますね。

利用可能なスタイルには、以下のものがあります。

#スタイル名効果
1photorealistic写真のようなリアルな表現
2watercolor水彩画風
3oil-painting油絵風
4sketchスケッチ風
5pixel-artドット絵風
6animeアニメ風
7vintageヴィンテージ風
8modernモダンスタイル
9abstract抽象的表現
10minimalistミニマルデザイン

アイコンの一括生成

アプリ開発でよく必要になるのが、複数サイズのアイコンです。

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"

このコマンドでは、プロフェッショナルなスタイルで、階層的レイアウトの詳細なアーキテクチャ図が生成されます。

図の種類は以下から選択できます。

#タイプ用途
1flowchartフローチャート(処理の流れ)
2architectureシステム構成図
3networkネットワーク図
4databaseデータベース構造図
5wireframeUI ワイヤーフレーム
6mindmapマインドマップ
7sequenceシーケンス図

以下の図は、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 キーを取得します。

  1. Google AI Studio にアクセス
  2. 「Create API key」ボタンをクリック
  3. Google Cloud プロジェクトを選択(または新規作成)
  4. 生成された 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 は、以下の優先順位で環境変数を参照します。

  1. NANOBANANA_GEMINI_API_KEY(最優先)
  2. NANOBANANA_GOOGLE_API_KEY
  3. GEMINI_API_KEY
  4. GOOGLE_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 キーが無効または期限切れ
  • 環境変数の名前が間違っている

解決方法:

  1. 環境変数が正しく設定されているか確認
bashecho $NANOBANANA_GEMINI_API_KEY
  1. API キーを再設定
bashexport NANOBANANA_GEMINI_API_KEY="your-valid-api-key"
  1. Google AI Studio で API キーの有効性を確認

エラーコード: 429 Too Many Requests

エラーメッセージ:

javaError 429: Resource has been exhausted (e.g. check quota).

発生条件:

  • API のレート制限を超えた
  • 無料枠の上限に達した

解決方法:

  1. リクエスト間隔を空ける
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;
      }
    }
  }
}
  1. Google Cloud Console で quota を確認し、必要に応じて増量申請

エラーコード: TypeError

エラーメッセージ:

javascriptTypeError: Cannot read property 'inlineData' of undefined

発生条件:

  • レスポンスの構造が想定と異なる
  • 画像が生成されなかった

解決方法:

  1. レスポンスの存在確認を追加
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 という手頃な料金設定で、高品質な画像生成を実現しています。このチートシートを活用して、効率的な画像処理ワークフローを構築していってください。

関連リンク