HiAPI
ブログ

使用ガイド

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

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

Oct 12, 2026
Nano Banana Pro API の使い方:5 分で最初の 1 枚を生成

TL;DR

  • これは何か:Google 製の Gemini 3 Pro Image で、Nano Banana シリーズのフラッグシップ。テキストからの画像生成と参考画像編集で同じモデル ID nano-banana-pro を使います。HiAPI で提供開始済みで、モデルページを開いてプロンプトを入力すれば生成できます。新規登録で 200 クレジット付与、通常価格なら 2K 画像 1 枚分に相当します。
  • 料金:枚数課金で、1K と 2K は同価格の $0.057、4K は $0.1。出力画像 1 枚ごとの計算で、Google 公式の標準価格より約 57%〜58% 安く、参考画像は追加料金なし。
  • API の呼び方:POST https://api.hiapi.ai/v1/tasks に model として nano-banana-pro を指定し、taskId を取得してからポーリングまたはコールバックを待ち、data.output[0].url をダウンロードします。

Google の入力トークン料金は別計算です。上記の価格差は出力画像 1 枚あたりの価格の比較です。

Nano Banana Pro でできること

  • 2K が追加料金なし。 1K も 2K も 1 枚 $0.057 で、そのまま 2K の完成品を出力。4K は 1 枚 $0.1 で、印刷や大型スクリーン向けです。
  • 文字を画面に書き込める。 看板、ポスターのタイトル、日付といった英語の短いフレーズをプロンプトに直接書けます。下の金箔看板は 2 行の文字を一発で正しく描画し、後処理は一切なしです。
  • 参考画像は最大 8 枚。 プロンプトだけならテキストからの画像生成、image_input を加えれば編集や複数画像の融合になります。同じモデル ID なので、コードを 2 系統に分ける必要はありません。
  • 10 種類のアスペクト比と auto。 1:1、4:5、3:4、9:16、16:9、21:9 などの定番比率が揃っています。1:4 や 8:1 のような細長い画像が必要な場合、または一度に 8 枚を超える参考画像を送る場合は Nano Banana 2(最大 14 枚)を選んでください。

Nano Banana Pro の原図、未修正、出力 1536×2752。

A hand-painted gold-leaf sign in a modern specialty coffee shop window, elegant serif lettering reading 'MORNING BREW CO.' with a small script subtitle 'est. 2024' beneath it, warm natural daylight streaming through the glass, soft bokeh reflections of a city street, photorealistic commercial photography, crisp perfectly legible typography with correct spelling, shallow depth of field, editorial lighting

このプロンプトで生成 →、アスペクト比は 9:16、解像度は 2K を選択。

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

まず効果を確認するならオンライン試用、プロダクトに組み込むなら API です。どちらのルートも同じモデル、同じ価格体系です。

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

  1. Nano Banana Pro モデルページを開くか、上の看板画像の下にあるリンクを直接クリックすると、プロンプトが自動入力されます。
  2. 登録またはログイン。新規アカウントには 200 クレジットが付きます。
  3. アスペクト比と解像度を選択。通常価格では 1K も 2K も 1 枚 114 クレジットです。
  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 から画像をダウンロードします。

2K は 1 枚 $0.057 なので、$10 で約 175 枚生成できます。プログラマーの日にちなんだ期間限定 50% オフが北京時間 2026-11-09 00:00 まで実施中で、期間中は 1K・2K とも 1 枚 $0.0285、同じ $10 で約 350 枚です。パラメータの詳細は中国語ドキュメントをご覧ください。

最初の 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-pro",
    "input": {
      "prompt": "Minimalist studio product photography, matte-black earbuds case on a warm gradient backdrop, three-point studio lighting",
      "aspect_ratio": "16:9",
      "resolution": "2K",
      "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 も選べます。1K と 2K は同価格なので、毎回のリクエストに "resolution": "2K" を書くことをおすすめします。

最初の 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 requests

API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}

payload = {
    "model": "nano-banana-pro",
    "input": {
        "prompt": "Minimalist studio product photography, matte-black earbuds case on a warm gradient backdrop, three-point studio lighting",
        "aspect_ratio": "16:9",
        "resolution": "2K",
        "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-pro.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")

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

input に image_input を加えるだけで、同じリクエストが編集になります。以下では Nano Banana Pro で生成した科学館のポスターを参考画像として使い、日付の行だけを変更します:

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-pro",
    "input": {
      "prompt": "Keep this exact poster: layout, planet, observatory, visitor, colors and headline. Change only the date line to SAT 24 OCT in the same typography and color. No other words.",
      "image_input": ["https://static.hiapi.ai/blog/gpt-image-2-vs-nano-banana-pro/0dba86ff979d-nano-pro-science.png"],
      "aspect_ratio": "1:1",
      "resolution": "2K"
    }
  }'

image_input には公開 URL を最大 8 個まで入れられ、JPEG、PNG、WebP に対応しています。プロンプトでは「何を変えるか」と「何を残すか」を分けて書き、残す項目を具体的にするほど元画像が安定します。

本番投入前に注意すべき 3 つのこと

  1. サーバー側ではコールバックを使う。 リクエストボディのトップレベルに "callback": {"url": "https://yourapp.com/webhook", "when": "final"} を追加すると、タスク終了時に自動通知され、ポーリングを省けます。コールバックは重複して届くことがあるため、taskId で重複排除してください。
  2. タイムアウト時に POST を繰り返さない。 POST /v1/tasks のたびに新しいタスクが作成され、個別に課金されます。まず taskId を保存し、リトライ前に自システム側で重複排除してください。
  3. 毎回のリクエストに resolution を明示する。 デフォルトは 1K ですが、2K も同価格なので、確定版ではそのまま 2K を選べます。4K は単価が高いため、納品工程でのみ使ってください。

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

  • 400、フィールドが許可されていないというエラー → フィールド名の綴り間違い、または別モデルのフィールド(image_urls など)を使用 → image_input に変更。
  • 400、aspect_ratio の値が不正というエラー → リスト外のアスペクト比(8:1 など)を使用 → 10 種類のアスペクト比か auto から選び、細長い画像は Nano Banana 2 に切り替え。
  • 401 → Key の欠落、誤記、または失効 → Authorization: Bearer sk-... リクエストヘッダーを確認し、必要ならコンソールで Key を再作成。
  • 作成は成功したがタスクが fail → タスクが返すエラーを確認。参考画像が開けない、形式が非対応の場合は、公開アクセス可能な JPEG、PNG、WebP に替えて再送信。
  • 画像リンクが期限切れで開けない → 出力リンクには有効期限あり → 結果を取得したらすぐダウンロードし、ファイル自体を保存。

失敗したタスクは課金されません。

よくある質問

Nano Banana Pro と Nano Banana 2 はどう選ぶ? 2K 出力なら両者同価格で、1 枚 $0.057 です。細長いアスペクト比や 8 枚を超える参考画像が必要なら Nano Banana 2、Nano Banana シリーズのフラッグシップでブランドのメインビジュアルを出すなら Pro を選んでください。

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

Nano Banana 2 からそのまま切り替えられる? できます。フィールド名は同じ(prompt、image_input、aspect_ratio、resolution、output_format)で、model を nano-banana-pro に変えるだけです。アスペクト比は Pro が対応する 10 種類以内であれば問題ありません。

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

Nano Banana Pro シリーズ記事

今すぐ試す:上の看板画像の下にあるこのプロンプトで生成 →をクリック。プロンプトは入力済みなので、9:16、2K を選び、引用符内の文字を自分の店名に変えて実行してください。

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

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

APIドキュメントを読む