Baza znanja razvijalci
Ognjišče Pregled
Modeli, generatorji in ravnotežje, ki jih uporabljate v aplikaciji, iz lastne kode. API govori o OpenAI in Anthropic formatih, zato večina orodij in SDK deluje s spreminjanjem osnovnega URL-ja in ključa.
Ta stran je zaradi priročnosti strojno prevedena. Velja angleški izvirnik.
Kaj je ogenj
HTTP API za nymbot.ai ki odgovarja na iste zahteve, ki jih že pošilja odjemalec OpenAI ali Anthropic.
- Chat dopolnitev, ki Odgovori na API in Antropična sporočila, s pretakanjem, orodji, slikami, razmišljanjem in spletnim iskanjem, za vsak model v kataloga in za lastno avtomatsko usmerjanje Nymbota.
- Slike, Video posnetki, govora, transkripcijo in embeddingov.
- Vaš ravnotežje, Svetlobni top-ups, Samodejni top-ups iz vaše denarnice in a Zgodovina Koliko stane vsak zahtevek?
Plača se iz istih dveh Ravnovesje kot aplikacija, po enakih cenah. na API-ju ni naročnine in ni brezplačne pristojbine: vsaka zahteva se plača iz kreditov, ki ste jih kupili.
Kar API ne naredi, je, da doda nekaj Nymbotovega. vaša sporočila gredo v model, ko ste jih poslali: ni Nymbotovega sistemskega opozorila, ni pomnilnika, ni datuma ali jezikovnih namigov.
Osnovni URL
| uporabi | Osnovni URL |
|---|---|
| OpenAI SDK in orodja, ki so združljiva z OpenAI | https://nymbot.ai/api/v1 |
| Antropski SDK in Claude Koda | https://nymbot.ai/api (SDK je dodan /v1/messages samega sebe) |
Vsaka končna točka živi pod /api/v1/Neznana pot se vrača 404 in znana pot, imenovana z napačno metodo, se vrne 405Tako kot JSON.
API odgovarja na navzkrižne zahteve iz katerega koli mesta, tako da ga lahko brskalnik pokliče. Vse, kar pošljete brskalniku, lahko prebere vsak, ki ga odpre, zato to storite le s ključem, ki ima majhen glavoKončne točke, podpisane z vašim nimm (ključi, povzetek računa, samodejno nadgradnjo NWC in odkupnino nadomestil) so izjema: v brskalniku odgovarjajo le na Nymbotove lastne strani. Podpis računskih zahtevkov.
Pošljite vsako JSON telo z Content-Type: application/jsonVsak drugi tip je zavrnjen 415, tako da je preprosta oblika HTML ali text/plain zahtevo iz drugega mesta ne more doseči API. z cURL, prenesite
-H "Content-Type: application/json" Skupaj z -d.
Ognjeni ključi
Ključi so narejeni v aplikaciji. odprto ogenj v stranski vrstici spletne aplikacije ali v meniju za Android in iOS in tapnite Ustvarite ključDajte mu ime in, če želite, pokrovček in datum poteka.
Ključ se prikaže enkrat. Kopirajte ga na varno mesto, preden zaprete list: Nymbot ohrani le prstni odtis, tako da vam ga ne more več pokazati. izgubljen ključ ni mogoče obnoviti; ga prekličite in naredite novega.
Ključ je videti kot sk-nymbot- sledijo 43 črk, številk, podčrt in podčrt. aplikacija navaja vsak ključ s svojim imenom in kratkim namigom, kot so:
sk-nymbot-Qm7x…c2Lw.
- Ključ pripada vašemu nimmu. To porabi vašo bilanco, in samo vaš nimm ga lahko naredi, spremeni ali prekliče.Kdor ima ključ lahko porabi z njim, zato ga obravnava kot geslo.
- Kapljice so na zalogi. Ključ ima lahko omejitev porabe in omejitev lahko ponastavi vsak dan, vsak teden (ponedeljek) ali vsak mesec (prvi), ob 00:00 UTC. Šteje obe ravni, standardni kredit kot 10 sats in Pro kredit kot 100, tako da pomeni enako, kar koli ravni zahteva porabi. Preden zahteva teče, je največ, kar bi lahko stalo (zaokroženo do celih kreditov) določeno proti tistemu, kar je ostalo od omejitve.
403key_limit_reached, tudi če bi odgovor prišel pod pokrov; napaka pove, koliko je ostalo in kdaj se pokrov ponastavi.max_tokensZahteva se zaračuna, kar dejansko stane in se šteje proti pokritosti, tako da, če ponudnik poroča več žetonov, kot so bili postavljeni na stran, zadnja zahteva, ki ustreza, lahko ključ vzame malo nad svojo pokritostjo; naslednja je nato zavrnjena. - Porabljena kaplja samo ustavi porabo. Ključ na svojem pokrovu lahko še vedno preveri stanje, prebere svojo zgodovino, seznani modele, šteje žetone, nadgradi in preveri video, ki ga je že začel.
- Expiry je neobvezen. Po datumu, ki ste ga nastavili, ključ preneha delovati.
- Preklic je takojšen in dokončen. Preklican ključ ne izpolni svoje naslednje zahteve. ostaja na seznamu, označen z preklicanim, zato je njegova zgodovina porabe še vedno smiselna.
- Imate lahko do 25 aktivnih ključev, vsak s svojim imenom. Spreminjanje obdobja ponastavitve ključa začne novo obdobje z ničlo.
Isti list prikazuje porabo vsakega ključa v tem obdobju in skupaj, ko je bil nazadnje uporabljen, tako vaše bilance kot vaše nedavne zahteve API. Upravljanje ključev.
Avtentikacija zahteve
Pošljite ključ v katerikoli od teh naslovov. So enakovredni, zato uporabite vse, kar vaš odjemalec pošilja privzeto:
| Headerji | Pošlji |
|---|---|
Authorization: Bearer sk-nymbot-… | OpenAI SDK, večina orodij, Claude Code z ANTHROPIC_AUTH_TOKEN |
x-api-key: sk-nymbot-… | Antropski SDK |
api-key: sk-nymbot-… | Azure-style stranke |
Manjkajoči, neznani, preklicani ali zapadli ključi 401in s kodo
missing_api_key, invalid_api_key, revoked_api_key ali
expired_api_keySeznam modelov, zvočnih modelov in glasov ter načinov plačila ne potrebuje ključa.
Slike, video, govor, transkripcije in vdelave lahko plačate tudi za eno zahtevo naenkrat preko Lightning brez ključa: pošljite zahtevo brez ene in plačajte račun v 402 Odgovor: glej Plačilo na zahtevo brez ključa.
Upravljanje ključev, povzetek računa in samodejni top-up so izjema: vzamejo podpis iz vašega nimma namesto ključa, tako da puščen ključ ne more narediti več ključev. Podpis računskih zahtevkov.
Vaša prva zahteva
Vstavite ključ v spremenljivko okolja, nato pa nekaj vprašajte modela. 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 je Nymbotova lastna usmeritev, plačana iz standardnega stanja. Namesto tega postavite ID modela kataloga, kot je anthropic/claude-sonnet-5, da uporabite ta model iz Pro ravnovesja. Seznam modelov Dajte vsakemu ID.
Koliko stane zahteva
API zaračuna točno tako, kot to počne aplikacija.
- Kakšno ravnovesje
nymbot/autoPorabite jih Standardno ravnovesje (10 sats a kredit). Vsak drugi model klepeta porabi za standardni slikovni generator in standardni glas porabijo standardne kreditne točke; vsak drug generator porabi Pro. Vdelave porabijo standardne kreditne točke. Transcription porabi standardne kreditne točke, ko ga lahko pokrije standardni saldo, in Pro kreditne točke drugače. Seznam modelov pove, kateri saldo porabi vsak model. - Koliko pa Zahteva za klepet se meri na žetone, ki jih je model dejansko prebral in napisal, po objavljenih cenah ponudnika. Ta cena ima dodano 5% pristojbino in se nato pomnoži s 1,5, tako da plačate 1,575-kratno ceno ponudnika. Pretvori se v stavo po ceni v živo Bitcoin in zaračuna v tisočdesetih delih kredita. Pro slike, video in govor so cene na generacijo, na sekundo ali na znak, in transkripcija na sekundo avdio, z isto pristojbino in maržo. Standardna slika je ravna 5 standardnih kreditov in standardni glas je ravna 3.
- Vsaj na minimum. Vsaka merjena zahteva, ki teče, stane vsaj 0,05 kredita: polovica se nahaja na standardnem ravnovesju, 5 plača na Pro.
- Vztrajajte, nato pa se usede. Preden zahteva teče, se največji stroški, ki jih lahko stane, hranijo iz vašega stanja, glede na to, kaj ste poslali in koliko žetonov lahko napiše. Besedilo zunaj običajnega ASCII se meri od njegovih UTF-8 bajtov, številke ASCII in točke se štejejo kot žeton, tako da se besedilo v katerem koli skriptu, kodi in številkah hranijo v celoti. Vodenje je v celotnih kreditih, vsaj enega, tako da vsaka zahteva potrebuje vsaj 10 brezplačnih stavkov na standardnem ravnovesju ali 100 stavkov na Pro za začetek. Začetne stroške se zaračuna samo dejanski stroški; ostalo se sprosti, ko se konča. Dolgo zahtevo ohranja svojo držo, dokler teče; če se zadržani krediti
402insufficient_balanceČe je dejanski strošek večji od zneska, ki ga lahko plača bilanca, se vzame celoten znesek, ostalo pa je dolžno (owed_satsV nanymbotpredmet in negativno stanje). Kar je dolžno, se najprej izplača iz naslednjih kreditov, ki dosežejo to stanje. Dokler ni plačano, se nič na tem ravnovesju ne more porabiti: ne z API, odgovori v aplikaciji, prenos ali darilo. - Ni dovolj kreditov. Če bilanca ne more pokriti posesti, se zahteva zavrne z
402napaka pravi, kateri saldo je kratek, koliko stav zahteve potrebuje in koliko je brezplačno.max_tokensTo pomeni manjšo držo. - za neuspehe. Neuspešna zahteva ne stane nič, razen če je ponudnik zaračunal za delo, ki ga je opravil pred neuspehom, ali spletno iskanje ali
nymbot/autoPreverjanje opravil je že potekalo; potem to je tisto, kar plačate, vsaj 0,05 kredita. Pretok, ki ga izrežete, se zaračuna za žetone, ki jih poroča ponudnik: Nymbot še naprej bere pretok ponudnika do 25 sekund po tem, ko zapustite, da dobite to število. - spletno iskanje stane 0,008 $ za iskanje, pretvorjeno v sats, vsakič, ko je iskanje potekalo, ali model potem odgovori ali ne uspe.
Vsak odgovor pove, koliko stane. JSON odgovori nosijo nymbot predmet z zneskom, iz katerega je bil plačan, pristojbino v kreditih in stopnjah, in kar je ostalo:
Stroški predmeta
"nymbot": {
"balance": "pro",
"charged_credits": 0.162,
"charged_sats": 16.2,
"balance_credits": 412.425,
"balance_sats": 41242.5
}
Plačani odgovori nosijo tudi te glave, kar je, če iščete stroške odgovora, ki ni JSON, kot je govor:
| Headerji | pomen |
|---|---|
X-Nymbot-Cost-Sats | Koliko je ta zahteva stala, v sats. |
X-Nymbot-Balance-Sats | Kaj je ostalo na ravnovesju, iz katerega je bilo plačano, v stopnjah. |
X-Request-Id | ID za zahtevo, na vsak odgovor. Citirajte ga, če stopite v stik s podporo. |
Stopnje na milijon žetonov, ki že vključujejo pristojbino in maržo, so v
Seznam modelov v dolarjih in stopnjah, in na
Cenovni listČe cene Bitcoin ni mogoče prebrati, plačane zahteve vrnejo 503 price_unavailable s
Retry-After: 60 Namesto da bi ugibali.
Napake
Vsaka napaka ima enako obliko, ki jo OpenAI odjemalci že razumejo. code je stabilno ime, s katerim se lahko ujemate; message To je za ljudi in se lahko spremeni.
Napaka telesa
{
"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
}
}
| statusa | Kdaj |
|---|---|
400 invalid_request_error | Telo ni veljavno JSON (invalid_json) zahtevanega polja manjka (missing_required_parameter), vrednost je napačna ali zahteva nekaj, kar model ali končna točka ne naredi, na primer orodja na nymbot/auto (unsupported_tool). param ime polja. tudi upstream_rejected če ponudnik zahtevo zavrne. |
401 authentication_error | Ključ je manjkajoč, neznan, preklican ali poteče ali podpisano zahtevo ni veljavno ali ponovno uporabljeno. |
402 insufficient_quota | Preostanek ne more pokriti zahteve.Kod insufficient_balance, z balance, required_sats in balance_sats. |
403 permission_error | Zahteva se ne ujema s ključavnico (key_limit_reached, z limit_sats, used_sats in reset_at), ali račun morda ne uporablja storitve (account_denied). |
404 not_found_error | Neznana pot (unknown_endpoint), model, ki ne obstaja (model_not_found), ali neznan ključ, račun ali video. |
405 | Ta metoda obstaja, vendar ne obstaja (method_not_allowed) za Allow Header navaja metode, ki jih uporablja. |
413 | Telo ali datoteka je prevelika (payload_too_large, file_too_large) ali je snemanje predolgo (audio_too_long) se Omejitve. |
415 invalid_request_error | Telo se ne pošilja kot application/json (ali za končne končne točke, multipart/form-data): unsupported_media_type. |
422 | Glas in jezik, ki ne gredo skupaj v besedilu do govora (voice_language_mismatch, unsupported_language). |
429 rate_limit_error | Preveč zahtevkov na tem ključu, s tega naslova ali s pooblastili, ki jih ni bilo mogoče preveriti (rate_limit_exceeded) ali pa je ponudnik omejen na stopnjo (upstream_rate_limited) Počakajte na sekunde v Retry-After. |
500 api_error | Nekaj je šlo narobe na strani Nymbotta (internal_error). |
502 api_error | Ponudnik ni vrnil odgovora (upstream_error) ali se ne more izvesti bliskovni račun (invoice_unavailable). |
503 api_error | Proizvajalec je preobremenjen (upstream_overloaded), cena Bitcoin ni mogoče prebrati (price_unavailable) ali pa je del storitve nižji (service_unavailable, media_hosting_unavailable). Retry-After Povejte, kdaj poskusiti znova, kjer je znano. |
Dve izjeme:
/api/v1/messagesodgovori v obliki napake Anthropic, saj je to tisto, kar stranke Anthropic analizirajo:{"type": "error", "error": {"type": "authentication_error", "message": "…"}}Tip sledi statusu:invalid_request_error,authentication_error,billing_error(402),permission_error,not_found_error,request_too_large,rate_limit_error,api_erroralioverloaded_error(503).- Poizvedba za pretakanje, ki ne uspe pred prvim bajtom, dobi navadno napako JSON z zgornjim statusom, ne pa dogodkovnega toka.
Sporočila o napaki nikoli ne vsebujejo notranjih podrobnosti druge storitve. lastna napaka ponudnika se preoblikuje, preden pride do vas.
Omejitve
| Omejitev | vrednostjo |
|---|---|
| Zahteve po ključu | 120 na minuto in še več. 429 s Retry-After. |
| Zahteve brez ključa | 120 na minuto na naslov, za seznam modelov, avdio in plačilnih metod, preverjanje vračila žetonov in plačane končne točke, ki se kličejo brez ključa ali plačila. 429 s Retry-After. |
| Neuspešna avtentikacija | 30 minut na naslov za ključe, podpise, poverilnice za plačilo in tokene za vračilo, ki ne preverjajo. 429 s Retry-After Potrdila so preverjena, preden se telo prebere. |
| Novi ključi | 60 na uro na nimm in 120 na uro na naslov. |
| Top-up računi | 60 na uro na nimm in 120 na uro na naslov. |
| NWC denarnice povezave | 10 na uro na nimm in 30 na uro na naslov. Prenosnik denarnice mora uporabljati wss:// v standardnem pristanišču. |
| Vračilo tokena | 60 povpraševanj na minuto na žeton. |
| naslovov | IPv6 naslov šteje kot celotno /64 v vsaki omejitvi naslova, in IPv4 mapiran IPv6 naslov kot svoj IPv4 naslov. |
| JSON zahtevo telo | 4 MB; 64 KB za zahteve, podpisane z vašim nimom. |
| Večstransko telo zahteve (uploads) | 32 MB. Slika za urejanje je lahko do 20 MB, avdio datoteka do 25 MB. Na največ 64 delih, vsak z največ 8 KB glave delov in mejo od 1 do 70 znakov; drugače 400 invalid_multipart. |
| Fotografije v enem klepetu | 20. vsaka je ena https:// ali http:// povezavo do javnega gostitelja ali data:image/… Uradni URL |
| Slike po generacijah | 1 do 4 (n) |
| Izhodni tokeni | Sestavljen je iz lastnega maksimuma. večji max_tokens To je znižano, ne zavrnjeno. |
| Vnos govora | 800 znakov za standardni glas, 2.000 za Aura 2. |
| transkripcijo | 30 minut zvočnega posnetka, 25 MB. Daljši posnetek je zavrnjen z 413 in ni obtožen, čeprav je njegova dolžina znana šele, ko jo je slišal Šepet. |
| Embeddings | 100 vnosov na zahtevo. |
| Video delovna mesta | Ostanite 24 ur po tem, ko so poslani; predvajanje se opusti po eni uri. |
| Želi zgodovino | Počakajte 90 dni. |
| Aktivni ključi na nym | Le zadnjih 50 preklicanih ključev se ohrani. |
Povezava na sliko mora kazati na javnega gostitelja: naslov na zasebnem ali lokalnem omrežju ali na lastnih mestih Nymbota je zavrnjen.
Kaj lahko ogenj vidi
API ni zasebna, kot so aplikacije, in je vredno biti natančen o tem, kako.
- Ni šifrirano od konca do konca. V aplikacijah je sporočilo zapečateno na vaši napravi na ključe, ki jih ima samo Nymbot in potuje kot Darilni WrapZahteva API je običajna HTTPS: šifrirana je na poti do Nymbota, strežnik Nymbota pa jo bere v jasnem, da jo obdeluje.
- Odgovori in odgovori se ne shranjujejo. Kaj se ohranja je račun: za vsako zahtevo čas, model, vrsta, števila žetonov, stroški, ravnotežje, ključ in ali je uspelo, za 90 dni, kar je tisto, kar Želite zgodovino Zapis uporabe iste zahteve (čas, vrsta, model, število žetonov, stroški, trajanje in ali je uporabila spletno iskanje ali je uspela) se hrani tudi 90 dni, skupaj z aplikacijo.
- Vse ostalo, ki se drži za nym, je majhno in našteto tukaj. Ognjeni ključi so shranjeni kot hash, nikoli ključ, z njihovim imenom, kratkim namigom, omejitvijo porabe, obdobjem ponastavitve, potekom in kdaj so bili ustvarjeni in nazadnje uporabljeni; le zadnjih 50 preklicanih ključev se ohrani. Samodejni top-up povezava denarnice je shranjena šifrirana, s svojim pragom, zneskom in rezultatom zadnjega nadomestila. Video delovna mesta se hranijo 24 ur. Zahteve, plačane na klic, pustijo le plačilni hash za 7 dni in token za nadomestilo z nadomestilom za 30 dni, povezan z nobenim nim. Pristojbine, ki jih bilanca ne more pokriti, ostanejo kot dolžne, dokler jih ne plača nadomestilo.
- Odstranitev aplikacije ga izbriše. A Naprava Wipe prekliče in izbriše vsak API ključ ter izbriše zgodovino poizvedb, zapise o uporabi, povezavo denarnice in videoposnetke.
- Ponudnik modela vidi vašo zahtevoModeli katalogov se izvajajo pri svojih ustvarjalcih; standardne poti in vdelave se izvajajo v storitvi Cloudflare.
- Ustvarjeni mediji so javni. Slike in videoposnetki, dostavljeni kot povezave, se naložijo v javne gostitelje datotek Blossom, kjer je naslov datoteke njen hash.
b64_jsonin ustvarjena slika se vrne v odgovor in se nikoli ne naloži. - To so slike, ki jih daš generatorju. Slika, ki jo naložite na
Edit, ali pošljite kot a
data:URL v generatorjuimage_url, se najprej naloži na javni Blossom gostitelj, tako da ga lahko generator prevzame, in enako velja za to.https://Slika v zahtevi za klepet gre ponudniku modela, ne Blossomu. - Ključ je povezan z vašim nimom. Vse, kar ključ porabi, prihaja iz ravnovesja vašega nimma, zato uporaba API ni AnonimniČe želite, da je uporaba API-ja ločena od vašega vsakdanjega nimma, naredite ključe iz ločenega nimma z lastnim ravnovesjem.
Če potrebujete zaščito aplikacij, uporabite aplikacije. API je namenjen, ko potrebujete modele v lastnih orodjih.
Vsaka končna točka
| Končna točka | Kaj počne | avto |
|---|---|---|
GET /api/v1/models | Seznam modelovZ cenami | Nobenega |
POST /api/v1/chat/completions | Chat dopolnitev | ključ |
POST /api/v1/responses | Odgovori na API | ključ |
POST /api/v1/messages | Antropična sporočila | ključ |
POST /api/v1/messages/count_tokens | Ocenjevanje vhodnih žetonov | ključ |
POST /api/v1/images/generations | Ustvarjanje slik | ključ ali bliskavice |
POST /api/v1/images/edits | Edit ena slika | ključ ali bliskavice |
POST /api/v1/videos, GET /api/v1/videos, GET /api/v1/videos/{id} | Začetek, seznami in preverjanje videoposnetkov | ključ ali bliskavice Za začetek ena |
POST /api/v1/audio/speech | Besedilo za govor | ključ ali bliskavice |
GET /api/v1/audio/models, GET /api/v1/audio/voices | Zvočni modeli in glasovi | Nobenega |
POST /api/v1/audio/transcriptions, POST /api/v1/audio/translations | Beseda v besedilo in angleščina | ključ ali bliskavice |
POST /api/v1/embeddings | Embeddings | ključ ali bliskavice |
GET /api/v1/credits/balance (ali pa POST) | Obe ravnotežji | ključ |
GET /api/v1/topup/payment-methods | Način plačila | Nobenega |
POST /api/v1/topup/create/btc-lightning | Računi za strele | ključ |
GET /api/v1/topup/status/{invoice_id} | Preverite in kreditirajte | ključ |
GET /api/v1/queries/history | Koliko stane vsaka zahteva | ključ ali nym |
GET /api/v1/account | Povzetek računa | Nimaš |
/api/v1/keys | Ustvarjanje, spreminjanje in preklic ključev | Nimaš |
/api/v1/nwc-auto-topup | Samodejni top-ups | Nimaš |
GET /api/v1/l402/refunds, POST /api/v1/l402/refunds/redeem | Preverite ali odkrijte token za vračilo | Vrnite token; nym to redeem |
“Nym” pomeni zahtevo, podpisano z vašim ključem Nostr, opisanim v Podpis računskih zahtevkovZa orodja, ki že govorijo te oblike, glejte Orodja in SDK, in za kodne agente, kot so Claude Code, Codex in Cline, glej Kodiranje orodij.