チュートリアル
Nano Banana 2 API の使い方:5分で最初の1枚を生成
オンライン試用4ステップ、API連携4ステップ。すぐに実行できるcurlとPython、参考画像編集の例、よくあるエラーの早見表付き。
TL;DR
- これは何か:Google 製の Nano Banana 2 は、テキストからの画像生成と参考画像編集で同じモデル ID
nano-banana-2を共有し、一度に最大 14 枚の参考画像を渡せます。HiAPI で提供中で、モデルページを開く とプロンプトを入力するだけで生成でき、新規ユーザー登録で 200 クレジットがもらえます。 - 料金:枚数課金で、1K $0.036、2K $0.057、4K $0.086。参考画像は追加料金なし、失敗時は自動返金。
- API の呼び方:
POST https://api.hiapi.ai/v1/tasksにmodelとしてnano-banana-2を指定し、taskIdを取得したらポーリングまたはコールバックを待ち、data.output[0].urlをダウンロードします。
Nano Banana 2 でできること
- 1 つのモデルで 2 通りの使い方。 プロンプトだけならテキストから画像生成、
image_inputを加えれば参考画像編集になり、エンドポイントやモードを切り替える必要はありません。 - 参考画像は一度に最大 14 枚。 商品の多角度画像、モデル画像、シーン画像をまとめて渡せ、同じ商品のシーン変更、衣装変更、ブランドの統一ビジュアルに適しています。
- 14 種類の固定アスペクト比と auto。 よく使う 1:1、4:5、16:9、21:9 のほか、1:4、4:1、1:8、8:1 もあり、迷ったらデフォルトの
autoを使います。 - 1K、2K、4K の 3 段階。 1K はプロンプトの試用、2K、4K は本番出力用。デフォルトの出力は PNG です。
下の画像は Nano Banana 2 モデルページのサンプルで、4:3、1K で生成したものです:

A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography, 4:3
2 つの導入ルート:オンライン試用か API か?
まず効果を確認したいならオンライン試用、プロダクトに組み込むなら API を選びます。どちらも同じモデル、同じ料金体系です。
オンライン試用(約 1 分)
- Nano Banana 2 モデルページ を開くか、上の画像の下にあるリンクを直接クリックすると、プロンプトが自動で入力されます。
- 登録またはログインします。新規アカウントには 200 クレジットが付与されます。
- アスペクト比と解像度を選びます。通常価格は 1K で 1 枚 72 クレジットです。
- 生成をクリックし、満足したらダウンロードします。
API 連携(約 5 分)
- HiAPI コンソール で API Key(
sk-...)を作成します。 POST /v1/tasksでタスクを作成し、レスポンスのdata.taskIdを取得します。GET /v1/tasks/{id}でポーリングするか、リクエストボディにcallback.urlを含めて通知を待ちます。data.statusがsuccessになったら、data.output[0].urlから画像をダウンロードします。
1K で 1 枚 $0.036、$10 で約 277 枚生成でき、プロンプトの調整には十分です。全パラメータは 中国語ドキュメント を参照してください。
最初の 1 枚:curl 版
タスクを作成:
curl --fail-with-body -sS -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"input": {
"prompt": "A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography",
"aspect_ratio": "4:3",
"resolution": "1K",
"output_format": "png"
}
}'
返されるタスク ID は data.taskId にあります:
{"code":200,"data":{"taskId":"tk-hiapi-..."},"message":"success"}
結果を問い合わせ:
curl --fail-with-body -sS https://api.hiapi.ai/v1/tasks/YOUR_TASK_ID \
-H "Authorization: Bearer sk-YOUR_KEY"
必須なのは prompt だけです。aspect_ratio はデフォルトで auto、resolution はデフォルトで 1K、output_format はデフォルトで png(jpg も選択可)です。
最初の 1 枚:Python 版
まず requests をインストールし(python3 -m pip install requests)、ターミナルで HIAPI_API_KEY を設定します(export HIAPI_API_KEY="sk-YOUR_KEY")。以下の例ではタスクを作成し、最大 10 分ポーリングしてから画像をダウンロードします。タイムアウトした場合は taskId を保持して問い合わせを続けます:
import os
import time
import uuid
import requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
HEADERS["Idempotency-Key"] = str(uuid.uuid4()) # Save with this business task before submitting.
payload = {
"model": "nano-banana-2",
"input": {
"prompt": "A mystical tropical rainforest at night with hundreds of glowing fireflies, warm golden lights floating among dark green ferns and moss, soft mist, dreamy bokeh, cinematic fantasy photography",
"aspect_ratio": "4:3",
"resolution": "1K",
"output_format": "png",
},
}
def task_data(response):
response.raise_for_status()
body = response.json()
if body.get("code") != 200:
raise RuntimeError(f"HiAPI request failed: {body}")
return body["data"]
task_id = task_data(requests.post(API, headers=HEADERS, json=payload, timeout=30))["taskId"]
print(f"taskId: {task_id}", flush=True) # Save this ID for later queries.
deadline = time.monotonic() + 600
while time.monotonic() < deadline:
task = task_data(requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=30))
if task["status"] == "success":
image_url = task["output"][0]["url"]
image = requests.get(image_url, timeout=60)
image.raise_for_status()
with open("nano-banana-2.png", "wb") as f:
f.write(image.content)
break
if task["status"] == "fail":
raise RuntimeError(f"task {task_id} failed: {task}")
time.sleep(3)
else:
raise TimeoutError(f"task {task_id} is still pending; query this ID instead of submitting again")
参考画像編集:image_input を追加するだけ
input に image_input を加えると、同じリクエストが編集になります。以下は白背景の美容液ボトルの商品画像を浴室のカウンターに置く例です:
curl --fail-with-body -sS -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"input": {
"prompt": "Place this exact serum bottle, unchanged, on a white marble bathroom counter next to a folded beige linen towel, soft warm morning window light",
"image_input": ["https://static.hiapi.ai/blog/nano-banana-ecommerce-product-images-hiapi/shot-1-listing.jpg"],
"aspect_ratio": "4:3",
"resolution": "1K"
}
}'
image_input は URL の配列で、最大 14 枚です。公開インターネットから直接開ける画像リンクである必要があり、SVG はサポートされません。プロンプトに「何を保持するか」(this exact serum bottle, unchanged)を明記すると、商品ラベルやボトルの形状がより安定します。この同商品のシーン変更の完全なプロンプトと生成画像は、Nano Banana 2 プロンプト大全 にあります。
本番投入前に注意すべき 3 つのこと
- サーバー側ではコールバックを使う。 リクエストボディのトップレベルに
"callback": {"url": "https://yourapp.com/webhook", "when": "final"}を追加すると、タスク終了時に自動通知されます。成功も失敗もコールバックされるので、taskIdで重複排除します。 - リトライには冪等キーを付ける。
POST /v1/tasksはデフォルトで毎回新しいタスクを作成し、個別に課金されます。リクエストヘッダにIdempotency-Keyを追加し、同じ業務タスクに対して 1 つのキーを生成・保存します。ネットワークタイムアウト後、同じアカウント、同じキー、まったく同じリクエストボディでリトライすれば、タスクは 1 回だけ作成されます。 - 結果を取得したらまずダウンロード。 出力リンクには有効期限があるため、まず画像を自分のストレージに保存してから後続処理を行います。
よくあるエラー、1 行ずつ
- 400
additional properties ... not allowed→ フィールド名のスペルミス、または別モデルのフィールドを使用(例:Nano Banana 2 Lite のimage_urls、sizeと書いた場合)→image_input、resolutionに修正します。 - 400、
aspect_ratioの値が不正 → リスト外のアスペクト比を渡した → 15 個の有効値から 1 つ選びます。 - 401
permission_denied→ Key の欠落、誤り、または失効 →Authorization: Bearer sk-...ヘッダを確認し、必要ならコンソールで再作成します。 - 402 → 残高不足。タスクは作成されず、課金もされません → チャージ後にリトライします。
- タスクの
statusがfail→ 返されたerrorに従ってリクエストを修正し、そのままリトライしないでください。事前に差し引かれた金額は自動で全額返金されます。
よくある質問
モデル ID はどう書く?
nano-banana-2 と書きます。パラメータ名は Nano Banana 2.1 と完全に同じで、gemini-nano-banana-2.1 に変えれば 2.1 に切り替えられます。
参考画像に追加料金はかかる? かかりません。料金は出力解像度だけで決まり、参考画像が 1 枚でも 14 枚でも同じです。
一度に何枚生成できる? 1 タスクにつき 1 枚です。複数枚必要な場合は複数のタスクを並行して作成し、枚数課金になります。
期間限定キャンペーン価格はどうやって適用する? コードを変更する必要はありません。プログラマーの日 50% オフは北京時間 2026-11-09 00:00 までで、API もオンライン試用も自動的に 50% オフで課金され、1K で 1 枚 $0.018 になります。
Nano Banana 2 シリーズ記事
- Nano Banana 2 モデルページ:オンライン生成、登録で 200 クレジット進呈
- Nano Banana 2 API の料金:1K/2K/4K の単価と月間予算
- GPT Image 2.5 vs Nano Banana 2:同じプロンプトで 9 枚の画像を比較
- Nano Banana 2 プロンプト大全:5 つのシーンをコピペして生成
- Nano Banana 2.1 API 価格:NB 2 よりどれだけ安いか
- Nano Banana Pro API 価格:1 枚いくらか
- Nano Banana 2 中国語連携ドキュメント:全パラメータ
今すぐ試す:上の雨林の画像の下にある このプロンプトで生成 → をクリックしてください。プロンプトは入力済みで、アスペクト比は 4:3、解像度は 1K を選び、実行後に結果をダウンロードします。通常価格は 1 枚 $0.036 です。
関連記事
すべての記事を見る →-
チュートリアル
HiAPI API で hailuo-2.3-fast/image-to-video を呼び出す方法:curl と Python の実践
高速・低コストな画像から動画へのティアにおける最初の実行可能なリクエスト — モデル ID から MP4 のダウンロードまで
-
チュートリアル
HiAPI APIでhailuo-2.3/text-to-videoを呼び出す方法:curl、Python、実行可能なリクエスト例
-
チュートリアル
HiAPI で Kandinsky 6.0 Pro のテキストto動画を使用する:curl と Python チュートリアル
リクエスト優先の実践デモ:プロンプトから動画クリップへの呼び出しを構築し、リクエストを送信し、完了状態をポーリングし、結果をダウンロードする