JA ▾

パイプライン用の無検閲テキストAPI

Nano Banana API: 1つのエンドポイントでプロンプトとスクリプト

Nano Banana APIを数分で始めましょう。このガイドでは、認証、基本リクエスト、ストリーミング、標準のOpenAI互換形式を使用した関数呼び出しについて解説します。

認証とベースURL

クライアントをnano banana apiのhttps://api.nanobananaapis.com/v1に接続してアクセスします。Authorizationヘッダーに有効なAPIキーが必要です。メールアドレスとパスワードのみでAPIキーの取得ページにサインアップすると、キーを即座に入手できます。キーはサインアップ直後に表示されます。紛失した場合はダッシュボードから新しいキーを再生成してください。古いキーは直ちに無効になります。

すべてのリクエストにBearer YOUR_API_KEYを使用します。モデルIDは常にuncensoredです。このエンドポイントはテキスト入力とテキスト出力を処理します。画像、音声、動画は生成しません。マルチモーダルパイプラインでは、プロンプト作成、スクリプト生成、後処理にこのAPIを使用してください。

最初のリクエスト

標準的なチャット完了リクエストを送信します。APIはOpenAI形式をサポートしています。YOUR_API_KEY を実際のキーに置き換えてください。この例では、無検閲モデルに単純なメッセージを送信しています。

curl https://api.nanobananaapis.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

レスポンスには生成テキストが含まれます。レスポンスボディでトークン使用量を確認できます。コンテキストウィンドウはプロンプトと生成テキスト合わせて合計100,000トークンです。ペイロードは8 MB未満にしてください。

Python SDKの例

公式のOpenAI Python SDKを使用します。ベースURLをnanobananaapisのエンドポイントに設定します。APIキーをapi_keyとして渡します。クライアントはリクエストを自動的に正しい形式でフォーマットします。この方法は、画像や動画生成サービスに送信する前にテキストを処理する必要があるバックエンドスクリプトに最適です。

from openai import OpenAI

client = OpenAI(base_url="https://api.nanobananaapis.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

SDKはストリーミングと解析を処理します。ストリーミングモードを有効にすると、チャンクをイテレートできます。このアプローチはコードをクリーンに保ち、後でプロバイダを変更した場合でも他のOpenAIサービスと互換性を維持します。

Node SDKの例

Node.js SDKも同様に動作します。ベースURLとキーでクライアントを初期化し、chat.completions.create メソッドを呼び出します。これは、動的にスクリプトを生成する必要があるサーバーレス関数やWebサーバーに役立ちます。

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.nanobananaapis.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

エラーを適切に処理してください。一般的なエラーには、キーが無効または期限切れの場合の認証失敗(401)や、1分間に300リクエストを超えた場合のレート制限(429)があります。APIキーはアカウントに紐付いているため、環境変数で保護してください。

ストリーミングレスポンス

リクエストに stream: true を設定してストリーミングを有効にします。APIはServer-Sent Events (SSE) ストリームを返します。各チャンクには生成されたテキストの一部が含まれます。これはリアルタイムアプリケーションや長いスクリプトの生成に不可欠です。

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

クライアント側でSSEイベントを解析してください。ストリームはモデルの生成完了またはコンテキスト制限到達時に終了します。ストリーミングはユーザーの知覚レイテンシを削減します。料金は変更されず、トークンごとに課金されます。

制限、エラー、モデル

GET /v1/modelsで利用可能なモデルを確認します。唯一のモデルはuncensoredです。レート制限はキーあたり1分間300リクエストです。リクエストボディは8 MB未満である必要があります。価格は1M入力トークンあたり$0.25、1M出力トークンあたり$1.00です。クレジットは期限切れになりません。不足した場合は$10からチャージしてください。エラー:無効なキーは401、クレジット不足は402、レート制限超過は429。SLAや稼働時間の保証はありません。モデルは未成年を含む性的コンテンツをブロックします。他の合法的な成人向けまたは論争のあるトピックは拒否しません。

質問と回答

これは公式のOpenAI APIですか?

いいえ。これは独自のオープンウェイトモデルで動作するOpenAI互換APIです。同じリクエスト形式とSDKを使用しますが、別のサービスです。特定の機能や制限については、公式のOpenAIドキュメントをご確認ください。

プロンプトはトレーニングのために保存されますか?

いいえ。プロンプトをモデルのトレーニングに使用しません。データは、そのリクエストの応答を生成するためにのみ使用されます。プライバシーは、無検閲ワークフローの中核機能です。

画像生成のプロンプトに使用できますか?

はい。このAPIは、画像、音声、または動画モデル用のテキストプロンプト生成に最適です。パイプラインのテキスト部分を処理します。メディアファイル自体は生成しません。

キーはフォーム 1 つで手に入ります

アカウントを作成し、キーをコピーし、ベースURLを変更します。セットアップはこれだけです。

API キーを取得

API 仕様

購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。

項目内容
形式OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作
認証Authorization: Bearer YOUR_KEY
モデル IDuncensored
エンドポイントPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nanobananaapis.com/v1
JSON モードresponse_format: {"type": "json_object"}
最大出力100,000 トークンのウィンドウの残りまで。max_tokens は任意(個別の上限なし)
パラメータtemperature、top_p、stop、seed、presence_penalty、frequency_penalty
ストリーミング対応 — SSE、最後のチャンクにトークン使用量
関数呼び出し対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送
コンテキスト長100,000 トークン(入力+出力)
リクエストサイズ最大 8 MB
レスポンスヘッダーX-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency
同時実行キーごとに同時 8 リクエストまで
レート制限キーごとに毎分 300 リクエスト
チャージUSDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額
ボーナス$50 以上で +5%、$100 以上で +10%
課金前払いクレジットから実使用量で課金。エラーと拒否は無料
無料トライアル$0.50、7 日間、カード不要 · トライアルキー: 同時2件、毎分60件。初回チャージ後に上限が8件・300件へ拡大
料金入力 100 万トークン $0.25 · 出力 100 万トークン $1.00
有効期限購入クレジットは失効なし、サブスクなし
キーアカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効
ログインGoogle またはメール+パスワード
コンテンツ成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否

エラーコード

エラーは固定の type を持つ JSON で返ります。失敗・拒否されたリクエストは課金されません。

コードタイプ意味
400bad_requestJSON 不正、メッセージ空、パラメータ誤り、またはコンテキスト超過
401missing_key · invalid_key · key_revokedキーなし・誤り・新しいキーに置換済み
402no_credit残高ゼロ — チャージすれば即再開
403content_blocked未成年者を含む性的コンテンツ — 拒否、課金なし
404not_found不明なエンドポイント
413request_too_large本文が 8 MB 超
429rate_limited · concurrency毎分 300 回または同時 8 件を超過 — 待って再試行
503upstream_busyモデル混雑 — 数秒後に再試行