HiAPI
ブログ

チュートリアル

Nano Banana 2.1 API の使い方?5 分で最初の 1 枚を生成

オンライン試用 4 ステップ、API 連携 4 ステップ、そのまま実行できる curl と Python、参考画像編集のサンプル、よくあるエラーの早見表付き。

Oct 10, 2026
Nano Banana 2.1 API の使い方?5 分で最初の 1 枚を生成

TL;DR

  • これは何か:Google 製、Nano Banana シリーズの最新バージョン。テキストからの画像生成と参考画像編集で 1 つのモデル ID を共有します。すでに HiAPI で提供開始。モデルページを開く とプロンプトを入力するだけで生成でき、新規ユーザー登録で 200 クレジット進呈、約 4 枚の 1K 画像に相当します。
  • 料金:1 枚単位の課金で、1K $0.022、2K $0.036、4K $0.058。Nano Banana 2 より約 33%–39% 安く、参考画像は追加料金なし。
  • API の呼び出し方:POST https://api.hiapi.ai/v1/tasks、model に gemini-nano-banana-2.1 を指定し、taskId を取得したらポーリングするかコールバックを待ち、data.output[0].url をダウンロードします。

登場したばかりの Nano Banana 2.1 で最も多く聞かれるのは 2 つ:何ができるか、いつ自分のプロジェクトに組み込めるか。前者は下の 5 点、後者は 5 分で十分です。

Nano Banana 2.1 にできること

  • NB 2 より 3〜4 割安い。 同解像度で 1 枚あたり約 33%–39% 安く、1K ならわずか $0.022。パラメータの書き方は NB 2 と同じです。
  • 参考画像を一度に 10 枚投入。 モデル、衣装、シーン、商品画像をまとめて渡して 1 枚に融合でき、着せ替えやブランドビジュアルの提案に適しています。
  • 15 種類のアスペクト比、最長 1:8 と 8:1 まで。 一般的な 1:1、4:5、16:9、21:9 に加え、1:4、4:1、1:8、8:1 のような細長い画像も生成可能。詳細ページ用の長い画像やバナーが一度で仕上がります。
  • 1K、2K、4K の 3 段階の解像度。 1K はプロンプトの試行用、2K、4K は本番用です。
  • テキストからの生成と編集が同じモデル ID。 プロンプトだけならテキストからの生成、参考画像を加えれば編集になり、コードを 2 系統に分ける必要はありません。

Nano Banana 2.1 のファッション誌風写真、2K / 16:9、出力 2752×1536。

このプロンプトで生成 →

2 つの導入ルート:オンライン試用か API か?

まず効果を見たいならオンライン試用、製品に組み込むなら API。どちらも同じモデル、同じ価格体系です。

オンライン試用(約 1 分)

  1. Nano Banana 2.1 モデルページ を開くか、上の画像下のリンクを直接クリックすると、プロンプトが自動入力されます。
  2. 登録またはログイン。新規アカウントには 200 クレジットが付きます。
  3. アスペクト比と解像度を選択。1K は 1 枚 44 クレジット。
  4. 生成をクリックし、満足したらダウンロード。

API 連携(約 5 分)

  1. HiAPI コンソール で API Key(sk-...)を作成。
  2. POST /v1/tasks でタスクを作成し、レスポンスで data.taskId を取得。
  3. GET /v1/tasks/{id} で問い合わせるか、リクエストに callback.url を含めて通知を待つ。
  4. data.status が success になったら、data.output[0].url から画像をダウンロード。

1K は 1 枚 $0.022、$10 で約 450 枚生成でき、プロンプトを納得いくまで調整するのに十分です。全パラメータは 中国語ドキュメント を参照。

最初の 1 枚:curl 版

タスクを作成:

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-nano-banana-2.1",
    "input": {
      "prompt": "A fashion editorial photograph of a model in an ivory linen blazer on a sunlit white-stucco terrace above the Mediterranean, 50mm lens, soft directional light, cinematic color grade",
      "aspect_ratio": "4:5",
      "resolution": "2K",
      "output_format": "png"
    }
  }'

返されるタスク ID は data.taskId にあります:

{"code":200,"data":{"taskId":"tk-hiapi-..."},"message":"success"}

結果を照会:

curl -s https://api.hiapi.ai/v1/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer sk-YOUR_KEY"

必須なのは prompt だけです。aspect_ratio のデフォルトは auto、resolution のデフォルトは 1K、output_format は jpg または png を選択できます。

最初の 1 枚:Python 版

作成・ポーリング・ダウンロードを一度に書き切ったもの。コピーして自分の Key に差し替えれば実行できます:

import requests, time

API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": "Bearer sk-YOUR_KEY"}

payload = {
    "model": "gemini-nano-banana-2.1",
    "input": {
        "prompt": "A fashion editorial photograph of a model in an ivory linen blazer on a sunlit white-stucco terrace above the Mediterranean, 50mm lens, soft directional light, cinematic color grade",
        "aspect_ratio": "4:5",
        "resolution": "2K",
        "output_format": "png",
    },
}

resp = requests.post(API, headers=HEADERS, json=payload, timeout=30)
task_id = resp.json()["data"]["taskId"]

while True:
    status = requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=30).json()["data"]
    if status["status"] in ("success", "fail"):
        break
    time.sleep(2)

if status["status"] == "success":
    image_url = status["output"][0]["url"]
    with open("nano-banana-2-1.png", "wb") as f:
        f.write(requests.get(image_url, timeout=60).content)
else:
    print(status.get("error"))

参考画像編集:フィールドを 1 つ足すだけ

input に image_input を加えると、同じリクエストが編集になります。ここでは上のファッション誌風写真をそのまま参考画像にして、ジャケットの色だけ変えます:

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-nano-banana-2.1",
    "input": {
      "prompt": "Change the model'\''s blazer to deep burgundy silk while keeping her pose, the terrace, and the lighting unchanged",
      "image_input": ["https://static.hiapi.ai/model-examples/gemini-nano-banana-2.1/2026/10/08/1791466473082-3e77d5c2a1ef0ef6-coastal-fashion-2k.webp"],
      "resolution": "2K"
    }
  }'

image_input には最大 10 個のパブリック URL を入れられ、JPEG、PNG、WebP に対応、1 枚あたり 30MB 以下です。プロンプトでは「何を変えるか」と「何を保つか」を分けて書き、保つ項目を具体的にするほど元画像が安定します。

本番前に注意すべき 3 点

  1. サーバー側ではコールバックを使う。 リクエストボディに "callback": {"url": "https://yourapp.com/webhook", "when": "final"} を加えると、タスク終了時に自動通知され、ポーリングを省けます。
  2. タイムアウト時に POST を繰り返さない。 POST /v1/tasks のたびに新しいタスクが作成され、個別に課金されます。まず taskId を保存し、リトライ前に自システムで重複排除を。
  3. 各リクエストで resolution を明示的に書く。 解像度が単価を直接決めるので、リクエストに固定しておけば請求が予測可能になります。

よくあるエラー、1 行ずつ

  • 400 additional properties '<field>' not allowed → フィールド名の綴りミス、または別モデルのフィールド(例:image_urls)を使用 → ドキュメントに照らして image_input など正しいフィールド名に修正。
  • 400、aspect_ratio の値が不正と表示 → リストにないアスペクト比を指定 → エラーに列挙された 15 個の有効値から 1 つ選ぶ。
  • 401 permission_denied → Key の欠落、誤記、または失効 → Authorization: Bearer sk-... ヘッダーを確認し、必要ならコンソールで Key を再作成。
  • 作成は成功したがタスクが fail / INVALID_REQUEST → 参考画像 URL が開けない、または画像でない → パブリックに直接アクセスできる JPEG、PNG、WebP に差し替え。
  • 画像リンクが数日後に開けない → 出力リンクには有効期限あり → 結果を取得したらすぐダウンロードし、ファイル自体を保存。

失敗したタスクの事前引き落とし分は自動的に全額返金されます。

よくある質問

Nano Banana 2.1 は NB 2 をそのまま置き換えられますか? はい。パラメータ名は完全に同じで、model を gemini-nano-banana-2.1 に変えるだけで切り替えられ、同解像度で 1 枚あたり約 33%–39% 安くなります。唯一の注意点:2.1 のデフォルト出力は JPG なので、PNG が必要なら "output_format": "png" を明示してください。

参考画像は追加料金がかかりますか? かかりません。価格は出力解像度のみで決まり、参考画像が 1 枚でも 10 枚でも同じです。

透明背景は生成できますか? 出力形式は jpg または png です。透明背景の素材が必要なら GPT Image 2.5 を選んでください。1K で background: transparent に対応しています。

一度に何枚生成できますか? 1 タスクにつき 1 枚です。複数枚必要な場合は複数タスクを並行作成してください。1 枚単位の課金です。

Nano Banana 2.1 シリーズ記事

今すぐ試す:上のファッション誌風写真の下にある このプロンプトで生成 → をクリック。プロンプトは入力済みなので、2K、16:9 を選んでワンクリックすれば同じ仕上がりです。

永続的なAIアーティファクトで開発を始める

APIキーを取得して、タスクベースの1つのAPIで画像・動画・音声モデルを呼び出せます。

APIドキュメントを読む