コンテンツにスキップ
Nymbot に戻る

知識ベース 開発者

花火概要

API は OpenAI および Anthropic フォーマットを話すため、ほとんどのツールおよび SDK はベース URL とキーを変更することによって動作します。

炎とは何なのか。

HTTP APIは、 nymbot.ai 既に OpenAI または Anthropic クライアントが送信している同じリクエストに対応します。

同一の2つから支払われている。 バランス サブスクリプションも、APIの無料配当もありません:すべてのリクエストは、購入したクレジットで支払われます。

あなたのメッセージは、それを送信したときにモデルに送信されます: Nymbot システム プロンプトはありません、メモリはありません、日付または言語のヒントはありません。

ベースURL

利用ベースURL
OpenAI SDKとOpenAI対応ツールhttps://nymbot.ai/api/v1
Anthropic SDKs と ジョン・コードhttps://nymbot.ai/api (SDKが追加) /v1/messages 自己)

あらゆるエンドポイントが生きている /api/v1/未知の道が戻ってくる。 404 and a known path called with the wrong method returns 405どちらもJSONです。

APIは、どのサイトからのクロス・オリジン・リクエストに対応するので、ブラウザのページがそれを呼び出すことができます. Anything you ship to a browser can be read by whoever opens it, so only do that with a key that has a small キャップあなたのNymmで署名されたエンドポイント(キー、アカウントの概要、NWCの自動アップおよび返金返済)は例外です:ブラウザではNymbotの独自のサイトのみに対応します。 アカウント申請書.

すべての JSON ボディを送信する Content-Type: application/json他のタイプは拒否されます。 415, so a simple HTML form or a text/plain 他のサイトからのリクエストがAPIにアクセスできない cURLを使用して、 -H "Content-Type: application/json" 同時に -d.

火の鍵

キーは app で作成されます。Open 花火 ウェブアプリのサイドバー、またはAndroidおよびiOSのメニューで、そしてタップします。 キーを作る名前と、あなたが望むなら、キャップと到着日を指定してください。

キーは一度表示されます。 紙を閉じる前に安全な場所にコピーしてください: Nymbot はそれの指紋だけを保持しますので、もう一度表示できません。 失われたキーは回復できません。

キーは見た目 sk-nymbot- 43の文字、数字、ダッシュ、サブスコアに続いて、アプリはそれぞれのキーを名前と短いヒントでリストします。 sk-nymbot-Qm7x…c2Lw.

  • A key belongs to your nym. キーはあなたのニムに属します。 それはあなたのバランスを費やし、あなたのニームだけがそれを作成、変更または取り消すことができます。
  • キャップは賭けです。 キーには支出カプセルがあり、カプセルは毎日、毎週(月曜日)または毎月(最初の日)、00:00 UTC にリセットすることができます。 標準クレジットは 10 sats とプロクレジットは 100 として数えられますので、リクエストが使われているバランスに関係なく同じことを意味します。 リクエストが実行される前に、コストがかかる最大値(丸いクレジットまで)は、カプセルが残っているものに対して設定されます。 403 key_limit_reached, たとえ答えがキャップの下に入ったとしても; エラーは、どのくらい残っているか、いつキャップがリセットされているかを示します。 max_tokens A request is charged what it actually costs and that counts against the cap, so if the provider reports more tokens than were set aside, the last request that fit can take the key a little past its cap; the next one is then rejected. リクエストは実際のコストとキャップに比べて請求されます。
  • 無駄遣いだけが支出を止める。 キャップにあるキーは、バランスを確認し、その歴史を読み、モデルをリストし、トークンを数え、トップアップし、すでに始めたビデオをチェックすることができます。
  • Expiry はオプションです。 設定した日付の後、キーは動作を停止します。
  • 撤回は即時的かつ最終的である。 キャンセルされたキーは次のリクエストに失敗します. It remains in the list, marked revoked, so its spending history still makes sense. キャンセルされたキーはリストに残ります。
  • キーのリセット期間を変更すると、ゼロから新しい期間が始まります。

同じシートでは、各キーのこの期間の支出と、最後に使用されたときの合計、バランスの両方、および最近のAPIリクエストが表示されます。 キー管理.

請求書の認証

これらのヘッダーのいずれかにキーを送信します. They are equivalent, so use whatever your client sends by default:

ヘッダー送信
Authorization: Bearer sk-nymbot-…OpenAI SDK, ほとんどのツール, Claude Code with ANTHROPIC_AUTH_TOKEN
x-api-key: sk-nymbot-…Anthropic SDK
api-key: sk-nymbot-…Azure スタイルの顧客

失われた、未知の、取り消された、または終了したキーの返品 401コードとともに、 missing_api_key, invalid_api_key, revoked_api_key または expired_api_keyモデル、オーディオモデル、音声、および支払い方法のリストはキーを必要としません。

写真、ビデオ、スピーチ、トランスクリプションおよび埋め込みは、ライトニングを通じて一度に1件の要請に対して鍵なしで支払うこともできます:要請を1件なしに送信し、請求書を支払う。 402 答え:見る クレジット無しでの支払い.

キー管理、アカウント概要、自動トップアップは例外です:彼らはキーの代わりにキーから署名を取りますので、漏洩したキーはより多くのキーを作成できません。 アカウント申請書.

あなたの最初の要望

キーを環境変数に置き、その後モデルに何かを尋ねる。 NYMBOT_API_KEY.

cURL

export NYMBOT_API_KEY="sk-nymbot-..."

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nymbot/auto",
    "messages": [{"role": "user", "content": "What is a Lightning invoice?"}]
  }'

Python

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://nymbot.ai/api/v1",
    api_key=os.environ["NYMBOT_API_KEY"],
)

reply = client.chat.completions.create(
    model="nymbot/auto",
    messages=[{"role": "user", "content": "What is a Lightning invoice?"}],
)
print(reply.choices[0].message.content)

JavaScript

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://nymbot.ai/api/v1",
  apiKey: process.env.NYMBOT_API_KEY,
});

const reply = await client.chat.completions.create({
  model: "nymbot/auto",
  messages: [{ role: "user", content: "What is a Lightning invoice?" }],
});
console.log(reply.choices[0].message.content);

nymbot/auto is Nymbot's own routing, paid from the standard balance. Place a catalog's model's id there instead, such as anthropic/claude-sonnet-5このモデルを Pro バランスから使用します。 モデルリスト あらゆるIDを

請求の費用は

APIはアプリが行う正確な方法で請求します。

  • どんなバランスを nymbot/auto 支出 The 標準 バランス (10 sats a credit). Every other chat model spends the プロ バランス(100セントクレジット) 標準画像ジェネレーターと標準音声は標準クレジットを支出します; 他のすべてのジェネレーターはプロを支出します. 組み込みは標準クレジットを支出します. トランスクリプションは標準のバランスがそれをカバーできるときに標準クレジットを支出します。
  • どれだけ。 チャットリクエストは、モデルが実際に読んで書いたトークンで計測されます、プロバイダの公表された料金で。その価格には5%の料金が追加され、その後1.5で倍増されますので、プロバイダのリスト価格の1575倍を支払います。それはライブビットコイン価格でSATに変換され、クレジットの千分の1で請求されます。プロ画像、ビデオおよびスピーチは、世代毎、秒あたりまたは文字毎、およびオーディオの秒あたりのトランスクリプションで、同じ料金とマージンです。標準画像はフラット5標準クレジットと標準の声はフラット3です。
  • 最低限の 実行するすべてのメートルリクエストは、少なくとも 0.05 クレジットのコスト: 標準バランスの半分、プロの 5 セット。
  • 持って、それから座る。 リクエストが実行される前に、リクエストが送信したものと書くことができるトークンの数に基づいて、バランスを保有する費用が最も多くかかる。単純なASCIIの外部のテキストは、UTF-8バイトから大きくなり、ASCIIの数字と点数はそれぞれトークンとして数えられるので、あらゆるスクリプト、コード、番号のテキストは完全に保有されます。ハンドルは全クレジットで、少なくとも1つであるため、すべてのリクエストは、スタンダードバランスの少なくとも10セントフリーまたはプロの100セントを開始する必要があります。 実際のコストのみが請求されます。 残りは終了時にリリースされます。 長いリクエストは実行するまで保有 402 insufficient_balance 実質的な費用が余分な場合、余分な費用が余分な場合、余分な費用が余分な場合、余分な費用が余分な場合、余分な費用が余分な場合(owed_sats IN THE nymbot object, and a negative balance). What is owed is paid first out of the next credits that reach that balance. Until it is paid, nothing on that balance can be spent: not by the API, replies in the app, a transfer or a gift. 負のバランスを有するものは、そのバランスを有するまで、最初にそのバランスを達成する次のクレジットから支払われる。
  • 信用が足りない 残高が保有をカバーできない場合、要求は拒否される。 402 エラーは、どのバランスが短いか、リクエストが必要なセットがいくつあるか、そしていくつ無料かを示します。 max_tokens より小さいハンドルを意味します。
  • 失敗。 失敗したリクエストは、プロバイダーが失敗する前に行った仕事、またはウェブ検索またはサービスの請求を請求していない限り、費用がかかりません。 nymbot/auto タスクチェックはすでに実行されていた; それはあなたが支払うもの、少なくとも 0.05 クレジットです。 あなたが切断したストリームは、プロバイダーが報告するトークンに請求されます: Nymbot は、あなたがその数値を得るために出発した後、25 秒までプロバイダーのストリームを読み続ける。
  • WEB 検索 検索コストは$0.008 で、検索が実行されるたびに sats に変換され、モデルが返信するか失敗するかを問わず、そのページはモデルに入力として送信されるので、トークンを追加します。

それぞれの回答は、費用がどれくらいかかるかを示します。JSONの回答は、 nymbot Object with the balance it was paid from, the charge in credits and sats, and what is left: 所得と所得と所得と所得と所得と所得と所得と所得と所得と所得と所得と所得

コスト対象

"nymbot": {
  "balance": "pro",
  "charged_credits": 0.162,
  "charged_sats": 16.2,
  "balance_credits": 412.425,
  "balance_sats": 41242.5
}

支払われた回答にはこれらのヘッダーも含まれていますが、このヘッダーは、スピーチなどの JSON でない回答のコストを探すための場所です。

ヘッダー意味
X-Nymbot-Cost-Satsこの要求にかかる費用は、SATです。
X-Nymbot-Balance-Sats残ったものは、支払われたバランスで、SATで。
X-Request-IdリクエストのID、各応答に記載します。サポートに連絡する場合に引用します。

既に手数料とマージンを含む100万トークンの割合は、 モデルリスト ドルとSAT、そして 価格シートビットコインの価格が読めない場合は、支払い要求が返されます。 503 price_unavailable 同 Retry-After: 60 推測するよりは

ミス

すべてのエラーは、OpenAIクライアントがすでに理解している同じ形を持っています。 code あなたが合うことができる安定した名前です。 message 人のためにあるし、変えられる。

体の間違い

{
  "error": {
    "message": "This request needs up to 200 sats (2 credits) on your Pro balance, and 40 sats are free. Catalog models spend the Pro balance. Top up in the Nymbot app or with POST /api/v1/topup/create/btc-lightning.",
    "type": "insufficient_quota",
    "code": "insufficient_balance",
    "param": null,
    "balance": "pro",
    "required_sats": 200,
    "balance_sats": 40
  }
}
ステータスいつ
400 invalid_request_errorJSON(JSON)が有効ではありません。invalid_json) が必要なフィールドが欠けています(missing_required_parameter) 値が間違っているか、またはリクエストがモデルまたはエンドポイントが行わない何かを要求するか、例えば、 nymbot/auto (unsupported_tool). param フィールドの名前も upstream_rejected プロバイダーが要請を拒否した場合
401 authentication_errorキーが欠けている、不明の、取り消された、または有効になった、または署名されたリクエストが無効または再利用されている。
402 insufficient_quota残高は要求をカバーできません. コード insufficient_balance, with balance, required_sats そして balance_sats.
403 permission_errorキーのキャップに合わない要求(key_limit_reached, with limit_sats, used_sats そして reset_at)またはアカウントがサービスを使用しない場合があります(account_denied).
404 not_found_error未知の道(unknown_endpoint(存在しないモデル)model_not_found)、または未知のキー、請求書、またはビデオ。
405この方法は存在しますが、その方法では存在しません(method_not_allowed)の Allow header は、使用する方法をリストします。
413ファイルのサイズが大きすぎる(payload_too_large, file_too_large)またはレコーディングが長すぎる(audio_too_long)は 制限.
415 invalid_request_error遺体は送信されていません。 application/json (もしくは、アップグレード・エンドポイントの場合、 multipart/form-data): unsupported_media_type.
422テキストで話すことのない声と言語(voice_language_mismatch, unsupported_language).
429 rate_limit_errorこのキー、このアドレスからのリクエストが多すぎる、または認証が検証されなかった認証ファイル(rate_limit_exceeded)、または提供者は、料金制限を有する(upstream_rate_limited) ( ) Wait for the seconds in Retry-After.
500 api_errorNymbotの側に何かが間違っていた(internal_error).
502 api_errorプロバイダーは返信しませんでした(upstream_error)または、ライトアップ請求書は作成できませんでした(invoice_unavailable).
503 api_errorプロバイダは過剰(upstream_overloaded) ビットコインの価格は読み取れない(price_unavailable)またはサービスの一部がダウン(service_unavailable, media_hosting_unavailable). Retry-After いつ再度試してみるか、知っているところで言います。

2 例外:

  • /api/v1/messages Anthropic のエラー フォーマットで回答しますが、これは Anthropic クライアントが解析するものです。 {"type": "error", "error": {"type": "authentication_error", "message": "…"}}タイプは、status に従います: invalid_request_error, authentication_error, billing_error (402), permission_error, not_found_error, request_too_large, rate_limit_error, api_error または overloaded_error (503).
  • 最初のバイト前に失敗するストリーミングリクエストは、イベントストリームではなく、上記の状態で通常の JSON エラーが発生します。

エラー メッセージには、他のサービスの内部詳細が含まれません。

制限

制限価値
リクエスト per key1時間120分、それ以上に、 429 同 Retry-After.
キーなしの要求アドレスごとに1分あたり120、モデル、オーディオ、支払い方法のリスト、返金トークンチェック、キーや支払いなしで電話の有料エンドポイント。 429 同 Retry-After.
認証失敗30 per minute per address for keys, signatures, payment credentials and refund tokens that do not verify. それに加えて、認証を運ぶアドレスからのすべてのリクエストが受信されます。 429 同 Retry-After クレジットカードは、身体が読まれる前にチェックされます。
新しいキー1時間あたり60円、住所あたり120円。
TOP-UP 請求書1時間あたり60円、住所あたり120円。
NWC ウォレット接続1時間あたり10時間、住所あたり30時間、財布リレーは使用しなければなりません。 wss:// 標準のポートです。
トークン返済1分あたり60件のリクエスト
アドレスIPv6 アドレスは、各アドレス制限において全体 /64 として、IPv4 マッピングされた IPv6 アドレスは IPv4 アドレスとして数えられます。
JSON リクエストボディ4 MB; 64 KB for requests signed with your nym. あなたのニームで署名されたリクエスト。
Multipart request body(アップロード)32 MB. 編集する画像は最大 20 MB、オーディオファイルは最大 25 MB. 最大 64 パーツ、それぞれ最大 8 KB のパーツヘッダー、および 1 ~ 70 文字の制限を含む。 400 invalid_multipart.
写真 1 チャット リクエスト第20話 誰もがひとつ https:// または http:// 公共のホストへのリンク、またはA data:image/… URLです。
世代ごとの要望画像1~4(n)
出力トークンモデル自体の最大値にカッパードされた.A larger max_tokens 減らされ、拒否されない。
スピーチ入力標準音声は800文字、Aura 2は2000文字。
トランスクリプション30分のオーディオ、25 MB. 長い録音は拒否されます。 413 そして、その長さが聞こえるときにしか知られていない。
Embeddings要請につき100個入力
ビデオワーク送信後24時間待機; 1時間後に転送が放棄されます. 最大10回転送 1 ナイムあたり。
歴史を求める90日間お待ちしております。
アクティブキー per nym25. 最も新しい 50 個の削除されたキーのみが保存されます。

画像へのリンクは、公共のホストを指さなければなりません:プライベートまたはローカルネットワーク上のアドレス、またはNymbotの独自のサイトでは、拒否されます。

火が見えるもの

API は、アプリの仕方でプライベートではありませんが、その方法について正確に考える価値があります。

  • 最後まで暗号化されていません。 アプリでは、メッセージがあなたのデバイスに閉じ込められており、キーはNymbotだけが保持し、Nymbotとして移動します。 お土産 WrapAPI リクエストは通常の HTTPS です:それは Nymbot への道で暗号化され、Nymbot のサーバーはそれを処理するために明確に読み取ります。
  • 速報や回答は保存されません。 彼らはモデルに経過し、答えは戻ります。保存されているのは、請求書です:各要求に対して、時間、モデル、種類、トークン数、コスト、バランス、キー、そしてそれが成功したかどうか、90日間、それが何ですか。 歴史を求める 同じリクエストの使用記録(時間、種類、モデル、トークン数、コスト、期間、およびウェブ検索を使用したか成功したかどうか)も、アプリ自体とともに90日間保持されます。
  • ニムのために保管されている他のすべてのものは小さく、ここにリストされています。 火の鍵 ハッシュとして保存され、キーは決してなく、名前、短いヒント、支出カプセル、リセット期間、期限切れ、いつ作成され、最後に使用されたかを含む。 自動トップアップ ウォレット接続は暗号化され、その限度、金額および最後のトップアップの結果が保管されます。 ビデオワークは24時間保管されます。 呼び出しごとに支払うリクエストは、7日間のライトニング支払いハッシュと30日間のハッシュされた返金トークンを残し、いかなるものもつながります。 バランスをカバーできない料金は、トップアップが支払うまで借金として保管されます。
  • アプリを削除すると削除されます。 A デバイスWIPE すべての API キーをキャンセルおよび削除し、クエリの履歴、使用記録、財布接続およびビデオワークを削除します。
  • モデルのプロバイダーがあなたの要望を見るCatalog models run at their makers; standard routes and embeddings run on Cloudflare. カタログモデルはそのメーカーで実行され、標準のルートと埋め込みはCloudflareで実行されます。
  • 生み出されたメディアは公的です。 リンクとして配信された画像やビデオは、ファイルのアドレスがハッシュである公共の Blossom ファイルホストにアップロードされます。 b64_json そして、生成された画像は返信中に戻ってきて、決してアップロードされません。
  • それは、あなたが発電機に与える写真です。 あなたがアップロードする画像 EDIT, or send as a data: URL in a generator's image_url, is uploaded to a public Blossom host first so the generator can pick it up, and the same applies to it. 発信した画像 https:// チャットリクエストの画像は、Blossomではなくモデルのプロバイダーに送信されます。
  • A key is linked to your nym. キーはあなたの nym に接続されています。 キーが支出するすべてのものは、あなたのナイムのバランスから来るので、APIを使用することはできません。 匿名APIの使用を日常のニムから切り離したい場合は、独自のバランスを有する別々のニムからキーを作成してください。

アプリの保護が必要な場合は、アプリを使用してください. The API is for when you need the models in your own tools. アプリの保護が必要な場合は、アプリを使用してください. API is for when you need the models in your own tools.

各エンドポイント

エンドポイント何をするのかオース
GET /api/v1/modelsモデルリスト, with 価格誰も
POST /api/v1/chat/completionsチャット完成キー
POST /api/v1/responses火の答えキー
POST /api/v1/messagesANTHROPIC メッセージキー
POST /api/v1/messages/count_tokens入力トークンの推定キー
POST /api/v1/images/generations画像生成キー or ライトアップ
POST /api/v1/images/editsEDIT 画像キー or ライトアップ
POST /api/v1/videos, GET /api/v1/videos, GET /api/v1/videos/{id}Starts, lists and checks ビデオキー、または ライトアップ スタート 1
POST /api/v1/audio/speechテキスト スピーチキー or ライトアップ
GET /api/v1/audio/models, GET /api/v1/audio/voicesオーディオモデルと声誰も
POST /api/v1/audio/transcriptions, POST /api/v1/audio/translationsテキストにスピーチ、そして英語にキー or ライトアップ
POST /api/v1/embeddingsEmbeddingsキー or ライトアップ
GET /api/v1/credits/balance (または POST)両方バランスキー
GET /api/v1/topup/payment-methods支払い方法誰も
POST /api/v1/topup/create/btc-lightningライトランキングキー
GET /api/v1/topup/status/{invoice_id}チェック&クレジット itキー
GET /api/v1/queries/history各要請の費用Key または NIM
GET /api/v1/accountアカウント概要ニム
/api/v1/keysMakes, changes and revokes keys (キーを作成、変更、取り消す)ニム
/api/v1/nwc-auto-topup自動トップアップニム
GET /api/v1/l402/refunds, POST /api/v1/l402/refunds/redeemChecks or redeems a refund token (チェックまたは返金トークン)Refund token; nym to redeem (トークン返済)

“Nym” あなたのNostrキーによって署名されたリクエストを意味します。 アカウント申請書これらのフォーマットをすでに話しているツールについては、 ツールとSDK, and for coding agents such as Claude Code, Codex and Cline, see コードツール.