チュートリアル
Nano Banana 2.1 API の使い方?5 分で最初の 1 枚を生成
オンライン試用 4 ステップ、API 連携 4 ステップ、そのまま実行できる curl と Python、参考画像編集のサンプル、よくあるエラーの早見表付き。
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 分)
- Nano Banana 2.1 モデルページ を開くか、上の画像下のリンクを直接クリックすると、プロンプトが自動入力されます。
- 登録またはログイン。新規アカウントには 200 クレジットが付きます。
- アスペクト比と解像度を選択。1K は 1 枚 44 クレジット。
- 生成をクリックし、満足したらダウンロード。
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.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 点
- サーバー側ではコールバックを使う。 リクエストボディに
"callback": {"url": "https://yourapp.com/webhook", "when": "final"}を加えると、タスク終了時に自動通知され、ポーリングを省けます。 - タイムアウト時に POST を繰り返さない。
POST /v1/tasksのたびに新しいタスクが作成され、個別に課金されます。まずtaskIdを保存し、リトライ前に自システムで重複排除を。 - 各リクエストで
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 シリーズ記事
- Nano Banana 2.1 モデルページ:オンライン生成、登録で 200 クレジット進呈
- Nano Banana 2.1 API の料金:1K/2K/4K の単価と月間予算
- Nano Banana 2.1 vs GPT Image 2.5:予算と用途別の選び方
- Nano Banana 2.1 プロンプト大全:5 シーンをコピペで生成
- Nano Banana 2.1 中国語連携ドキュメント:全パラメータとエラーコード
今すぐ試す:上のファッション誌風写真の下にある このプロンプトで生成 → をクリック。プロンプトは入力済みなので、2K、16:9 を選んでワンクリックすれば同じ仕上がりです。
関連記事
すべての記事を見る →-
チュートリアル
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 チュートリアル
リクエスト優先の実践デモ:プロンプトから動画クリップへの呼び出しを構築し、リクエストを送信し、完了状態をポーリングし、結果をダウンロードする