Baza znanja Razvijatelji
Vatra Pregled
Modeli, generatori i ravnoteže koje koristite u aplikaciji, iz vlastitog koda. API govori OpenAI i Anthropic formate, tako da većina alata i SDK-ova radi mijenjanjem osnovnog URL-a i ključa.
Ova stranica je strojno prevedena radi praktičnosti. Engleski izvornik je verzija koja se primjenjuje.
Što je vatra
HTTP API na nymbot.ai koji odgovara na iste zahtjeve koje već šalje OpenAI ili Anthropic klijent.
- Chat završetak, o Odgovori na API i Antropske poruke, s streamingom, alatima, slikama, razmatranjem i web pretraživanjem, za svaki model u Katalogi i za vlastiti auto-routing Nymbota.
- slike, video, Govor, transkripcija i ugradnje.
- Vaš Ravnoteža, Svjetiljka top-ups, Automatski top-up iz vašeg novčanika i a povijest koliko košta svaki zahtjev.
Plaća se od iste dvije Ravnoteža Kao i aplikacija, po istim cijenama.Nema pretplate i nema besplatne naknade na API-ju: svaki zahtjev se plaća iz kredita koje ste kupili.
Ono što API ne čini je dodavanje bilo čega od vlastitog Nymbota. Vaše poruke odlaze u model kako ste ih poslali: nema Nymbot sistemske upute, nema memorije, nema datuma ili jezika naznake.
Osnovni URL
| Koristite | Osnovni URL |
|---|---|
| OpenAI SDK-ovi i OpenAI-kompatibilni alati | https://nymbot.ai/api/v1 |
| Antropske SDK-e i Claude Kodeks | https://nymbot.ai/api (SDK se dodaje /v1/messages i sama) |
Svaka krajnja točka živi pod /api/v1/Nepoznati put vraća se 404 i poznati put nazvan s pogrešnom metodom vraća se 405I to kao JSON.
Sve što pošaljete u preglednik može pročitati tko god ga otvori, pa to učinite samo s ključem koji ima malu vrijednost. glavaKrajnje točke potpisane s vašim nimom (ključevi, sažetak računa, NWC auto-top-up i povrat otkupnine) su iznimka: u pregledniku odgovaraju samo na Nymbotove vlastite stranice. Potpisivanje zahtjeva za račun.
Pošaljite svako JSON tijelo s Content-Type: application/jsonSvaki drugi tip je odbijen 415, tako da je običan HTML oblik ili text/plain zahtjev s druge stranice ne može doći do API-ja. pomoću cURL-a,
-H "Content-Type: application/json" zajedno s -d.
Vatra ključeva
Ključovi su napravljeni u aplikaciji. vatra u bočnoj traci web aplikacije, ili u izborniku na Androidu i iOS-u, i dodirnite Stvaranje ključaDajte mu ime i, ako želite, kap i datum isteka.
Ključ se prikazuje jednom. Kopirajte ga negdje sigurno prije zatvaranja lista: Nymbot zadržava samo otisak prsta, tako da vam ga ne može ponovno pokazati.
Ključ izgleda kao sk-nymbot- Nakon toga slijede 43 slova, brojke, oznake i podcore. Aplikacija popisuje svaki ključ po imenu i kratkom nagovoru kao što je:
sk-nymbot-Qm7x…c2Lw.
- Ključ pripada vašem nimu. To troši vašu bilancu, a samo vaš nim može napraviti, promijeniti ili opozvati.Svatko tko drži ključ može potrošiti s njim, pa ga tretirati kao lozinku.
- Cijene su u Sati. Ključ može imati ograničenje troškova, a ograničenje se može ponoviti svaki dan, svaki tjedan (ponedjeljak) ili svaki mjesec (prvi), u 00:00 UTC. Broji oba salda, standardni kredit kao 10 sats i Pro kredit kao 100, tako da znači isto bez obzira na ravnotežu koju zahtjev troši. Prije nego što se zahtjev pokrene, najviše što bi moglo koštati (zaokruženo na cijele kredite) postavlja se protiv onoga što je preostalo od ograničenja.
403key_limit_reached, čak i ako bi odgovor došao ispod poklopca; pogreška govori koliko je preostalo i kada se poklopac resetira.max_tokensZahtjev se naplaćuje ono što stvarno košta i što se računa protiv kape, tako da ako pružatelj izvještava više žetona nego što je stavljeno na stranu, posljednji zahtjev koji se uklapa može uzeti ključ malo duže od njegove kape; sljedeći se zatim odbija. - Potrošena kap samo zaustavlja troškove. Ključ na svom poklopcu još uvijek može provjeriti ravnotežu, pročitati njegovu povijest, popisati modele, brojati žetone, nadograditi i provjeriti video koji je već započeo.
- Expiry je opcijski. Nakon datuma koji ste postavili, ključ prestaje raditi.
- Povlačenje je trenutačno i konačno. Povučeni ključ ne ispunjava sljedeći zahtjev. ostaje na popisu, označen povučenim, tako da njegova povijest potrošnje još uvijek ima smisla.
- Možete imati do 25 aktivnih ključeva, svaki s vlastitim imenom.
Isti list prikazuje potrošnju svakog ključa u tom razdoblju i ukupno, kada je posljednji put korišten, kako svoje bilance, tako i vaše nedavne API zahtjeve. Upravljanje ključima.
Autentificiranje zahtjeva
Pošaljite ključ u bilo kojem od ovih naslova. Oni su ekvivalentni, pa koristite ono što vaš klijent šalje podrazumijevano:
| Header | Slijedi |
|---|---|
Authorization: Bearer sk-nymbot-… | OpenAI SDK-ovi, većina alata, Claude Code s ANTHROPIC_AUTH_TOKEN |
x-api-key: sk-nymbot-… | Antropski SDK |
api-key: sk-nymbot-… | Azure-style klijenti |
Izostali, nepoznati, opozvani ili istekli ključ 401Uz ovaj kod
missing_api_key, invalid_api_key, revoked_api_key ili
expired_api_keyPopis modela, audio modela i glasova te načina plaćanja ne zahtijevaju ključ.
Slike, videozapisi, govor, transkripcije i ugrađivanja također se mogu platiti za jedan zahtjev odjednom preko Lightning-a bez ključa: pošaljite zahtjev bez jednog i platite račun u 402 Odgovor: Pogledajte Plaćanje na zahtjev bez ključa.
Upravljanje ključima, sažetak računa i automatski top-upovi su iznimka: uzimaju potpis iz vašeg nimma umjesto ključa, tako da ispušteni ključ ne može napraviti više ključa. Potpisivanje zahtjeva za račun.
Vaš prvi zahtjev
Stavite ključ u promjenjivu okoline, a zatim nešto zatražite od 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 Nymbotovo vlastito usmjeravanje, plaćeno iz standardne ravnoteže. Umjesto toga stavite ID modela kataloga, kao što je anthropic/claude-sonnet-5, da biste koristili taj model iz Pro ravnoteže. Popis modela Svaki pojedini ID.
Koja je cijena zahtjeva
API obračunava točno onako kako to čini aplikacija.
- Kakva ravnoteža
nymbot/autoTrošite ih Standardna balansa (10 sats a kredit). Svaki drugi model razgovora troši Pro Standardni generator slika i standardni glas troše standardne kredite; svaki drugi generator troši Pro. Ugrađivači troše standardne kredite. Transcription troši standardne kredite kada ga standardni saldo može pokriti, a Pro krediti na drugi način. Popis modela kaže koji balans svaki model troši. - Koliko toga. Zahtjev za razgovor se mjeri na žetone koje je model zapravo pročitao i napisao, na objavljenim stopama pružatelja usluga. Ta cijena ima 5% naknadu dodanu i zatim se pomnoži sa 1,5, tako da plaćate 1.575 puta cijenu popisa pružatelja usluga. Pretvara se na sats na živu Bitcoin cijenu i naplaćuje se u tisućama kredita. Pro slike, video i govor su cijenjeni po generaciji, po sekundi ili po znaku, i transkripcija po sekundi zvuka, uz istu naknadu i maržu. Standardna slika je ravna 5 standardnih kredita i standardni glas ravna 3.
- To je minimum. Svaki mjereni zahtjev koji radi košta najmanje 0,05 kredita: pola sjedi na standardnoj ravnoteži, 5 stopa na Pro.
- Držite, a zatim se smjestite. Prije nego što zahtjev pokrene, najviše što bi moglo koštati drži se iz vašeg salda, na temelju onoga što ste poslali i najviše žetona koje može napisati. Tekst izvan običnog ASCII-a veličina je od svojih UTF-8 bajtova, a ASCII brojevi i bodovi računaju kao žetoni, tako da se tekst u bilo kojem scenariju, kodu i brojevima drži u cijelosti. Drži se u cijelim kreditima, najmanje jednom, tako da svakoj zahtjevu treba najmanje 10 besplatnih stopa na standardnom saldu ili 100 stopa na Pro-u da bi se počeo. Samo se naplaćuje stvarni trošak; ostatak se oslobađa kada se završi. Dug zahtjev drži svoje držanje dok traje; ako se držani krediti uopće prestanu biti dostupni,
402insufficient_balanceAko je stvarni trošak veći nego što bilanca može platiti, cijela bilanca se uzima, ostatak je dužan (owed_satsU nanymbotobjekt, i negativna ravnoteža). Ono što je dužno isplaćuje se prvo iz sljedećih kredita koji dosegnu tu ravnotežu. Dok se ne isplati, ništa na toj ravnoteži ne može se potrošiti: ne od strane API-ja, odgovori u aplikaciji, prijenos ili dar. - Nema dovoljno kredita. Ako ravnoteža ne može pokriti držanje, zahtjev se odbija s
402prije nego što se nešto pokrene. pogreška govori koja je ravnoteža kratka, koliko stavki zahtjeva treba i koliko je besplatno.max_tokensTo znači manje držanje. - neuspjeha Zahtjev koji ne uspije ne košta ništa, osim ako je pružatelj računa za rad koji je učinio prije neuspjeha, ili web pretraživanje ili
nymbot/autoProvjera zadataka već je pokrenuta; onda to je ono što plaćate, najmanje 0.05 kredita. Potok koji odbijete naplaćuje se za žetone koje izvješćuje pružatelj: Nymbot čita protok pružatelja do 25 sekundi nakon što napustite da biste dobili taj broj. Ako ne stigne, naknada se procjenjuje iz onoga što ste poslali i što je napisano, a za model koji razlozi uključuje cijeli izlazni dopuštenje držanja. - Web pretraživanje Košta $ 0,008 pretraživanje, pretvoreno u sats, svaki put kada je pretraživanje pokrenuto, bez obzira na to da li model onda odgovara ili ne.
Svaki odgovor govori koliko košta.JSON odgovori nose nymbot objekta sa saldom iz kojeg je isplaćen, naknadom u kreditima i ratama i onim što je ostalo:
Cijena objekta
"nymbot": {
"balance": "pro",
"charged_credits": 0.162,
"charged_sats": 16.2,
"balance_credits": 412.425,
"balance_sats": 41242.5
}
Plaćeni odgovori također nose ove glave, što je mjesto gdje tražiti trošak odgovora koji nije JSON, kao što je govor:
| Header | Značenje |
|---|---|
X-Nymbot-Cost-Sats | Koja je cijena ovog zahtjeva, u sats. |
X-Nymbot-Balance-Sats | Što je ostalo na ravnoteži iz koje je isplaćeno, u ratama. |
X-Request-Id | ID zahtjeva, na svakom odgovoru. Citirajte ga ako kontaktirate podršku. |
Stope po milijun žetona, već uključujući naknadu i maržu, su u
Popis modela u dolarima i stotinama, i na
Cijenjeni listAko se cijena Bitcoina ne može čitati, plaćeni zahtjevi se vraćaju 503 price_unavailable s
Retry-After: 60 Umjesto da nagađamo.
pogreške
Svaka pogreška ima isti oblik, onaj koji OpenAI klijenti već razumiju. code je stabilno ime na koje se možete podudarati; message To je za ljude i može se promijeniti.
pogrešno tijelo
{
"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
}
}
| Status | Kada |
|---|---|
400 invalid_request_error | Tijelo nije valjan JSON (invalid_json), potrebno polje nedostaje (missing_required_parameter), vrijednost je pogrešna, ili zahtjev traži nešto što model ili krajnja točka ne rade, kao što su alati na nymbot/auto (unsupported_tool). param Naziv polja. također upstream_rejected kada je dobavljač odbio zahtjev. |
401 authentication_error | Ključ je nedostajao, nepoznat, opozvan ili je istekao, ili je potpisan zahtjev nevažeći ili ponovno korišten. |
402 insufficient_quota | Bilans ne može pokriti zahtjev.Kod insufficient_balance, s balance, required_sats i balance_sats. |
403 permission_error | Zahtjev se ne uklapa u ključ kapi (key_limit_reached, s limit_sats, used_sats i reset_at), ili račun ne može koristiti uslugu (account_denied). |
404 not_found_error | Nepoznati put (unknown_endpoint), model koji ne postoji (model_not_found), ili nepoznat ključ, račun ili video. |
405 | Postoji put, ali ne i s tom metodom (method_not_allowed) na Allow Header popisuje metode koje se koriste. |
413 | Tijelo ili datoteka su preveliki (payload_too_large, file_too_large), ili je snimak previše dugačak (audio_too_long) vidi se ograničenja. |
415 invalid_request_error | Tijelo se ne šalje kao application/json (Ili, za upisane krajnje točke, multipart/form-data): unsupported_media_type. |
422 | Govor i jezik koji ne idu zajedno u tekstu u govoru (voice_language_mismatch, unsupported_language). |
429 rate_limit_error | Previše zahtjeva na ovom ključu, s ove adrese ili s povjerljivim informacijama koje nisu provjerene (rate_limit_exceeded(npr. ako je isporučitelj ograničen na cijenu)upstream_rate_limitedČekajte na sekunde u Retry-After. |
500 api_error | Nešto nije u redu s Nymbotovom stranom (internal_error). |
502 api_error | Prodavatelj nije dao odgovor (upstream_error) ili se ne može napraviti svjetlosni račun (invoice_unavailable). |
503 api_error | Proizvođač je preopterećen (upstream_overloaded), cijena Bitcoina ne može se čitati (price_unavailable), ili dio usluge je ispod (service_unavailable, media_hosting_unavailable). Retry-After kaže kada ponovno pokušati, gdje je poznato. |
Dvije iznimke:
/api/v1/messagesodgovori u obliku pogreške Anthropica, budući da je to ono što Anthropic klijenti analiziraju:{"type": "error", "error": {"type": "authentication_error", "message": "…"}}Tip slijedi status:invalid_request_error,authentication_error,billing_error(402),permission_error,not_found_error,request_too_large,rate_limit_error,api_errorilioverloaded_error(503).- Zahtjev za prijenos koji ne uspije prije svog prvog bajta dobiva običnu JSON pogrešku s statusom iznad, a ne tok događaja.
Poruke o pogreškama nikada ne sadrže unutarnje detalje druge usluge.
ograničenja
| ograničenje | Vrijednost |
|---|---|
| Zahtjevi po ključu | 120 u minuti. više od toga, 429 s Retry-After. |
| Zahtjevi bez ključa | 120 po minuti po adresi, za model, audio i način plaćanja popise, povrat token provjere, i plaćene krajnje točke poziva bez ključa ili plaćanja. 429 s Retry-After. |
| Neuspješna autentikacija | 30 minuta po adresi za ključeve, potpise, povjerljivosti za plaćanje i tokene za povrat koji ne provjeravaju. 429 s Retry-After Potvrde se provjeravaju prije nego što se tijelo pročita. |
| Novi ključevi | 60 po satu po nimu i 120 po satu po adresi. |
| Top-up računi | 60 po satu po nimu i 120 po satu po adresi. |
| NWC novčanik poveznica | 10 po satu po nimu i 30 po satu po adresi. wss:// Na standardnom pristaništu. |
| Vraćanje tokena | 60 zahtjeva po minuti po tokenu. |
| adrese | IPv6 adresa se računa kao cijela /64 u svakom ograničenju po adresi, a IPv4 mapirana IPv6 adresa kao IPv4 adresa. |
| JSON tijelo zahtjeva | 4 MB; 64 KB za zahtjeve potpisane s vašim nimom. |
| Više dijelova tijela zahtjeva (uploads) | 32 MB. Slika za uređivanje može biti do 20 MB, audio datoteka do 25 MB. Na najviše 64 dijela, svaki s najviše 8 KB glava dijela, i granica od 1 do 70 znakova; inače 400 invalid_multipart. |
| Fotografije u jednom chat zahtjevu | Svaki od njih je jedan https:// ili http:// povezivanje s javnim domaćinom, ili data:image/… Na primjer URL. |
| Slike po generaciji zahtjeva | 1 do 4 (n) |
| Izlazni token | Ugradnja na vlastiti maksimum. veći max_tokens Smanjen je, a ne odbijen. |
| Govorni ulaz | 800 znakova za standardni glas, 2000 za Aura 2. |
| transkripcija | 30 minuta audio, 25 MB. Duže snimanje je zabranjeno s 413 i nije optužen, čak i kada je njegova duljina poznata samo kada je Šaputalo čulo. |
| Embeddings | 100 kuna po zahtjevu. |
| Video radovi | Čeka se 24 sata nakon što su podneseni; rendiranje se odustaje nakon sat vremena. |
| Želite povijest | Čeka se 90 dana. |
| Aktivni ključevi po nym | Čuvaju se samo posljednjih 50 povučenih ključa. |
Poveznica na sliku mora ukazati na javni host: adresa na privatnoj ili lokalnoj mreži, ili na Nymbotovim vlastitim stranicama, odbijena je.
Što vatra može vidjeti
API nije privatan na način na koji su aplikacije, i vrijedi biti točan o tome kako.
- To nije krajnje šifrirano. U aplikacijama, poruka je zapečaćena na vašem uređaju na ključeve samo Nymbot drži i putuje kao Donacija WrapAPI zahtjev je običan HTTPS: šifriran je na putu do Nymbota, a Nymbotov poslužitelj ga čita u jasnom kako bi ga upravljao.
- Prijave i odgovori se ne pohranjuju. Ono što se čuva je račun: za svaki zahtjev vrijeme, model, vrsta, broj žetona, trošak, ravnoteža, ključ i je li uspio, za 90 dana, što je ono što Htjeli povijest Zapis o korištenju istog zahtjeva (vrijeme, vrsta, model, broj žetona, trošak, trajanje i je li koristio web pretraživanje ili uspio) također se čuva 90 dana, uz aplikaciju.
- Sve ostalo držano za nym je malo i navedeno ovdje. Vatra ključeva se pohranjuju kao haš, nikada ključ, s imenom, kratkim naznakom, kapom za troškove, razdobljem ponovnog postavljanja, istekom i kada su napravljeni i posljednji put korišteni; zadržavaju se samo posljednjih 50 opozvanih ključa. Automatski top-up Poveznica novčanika se pohranjuje šifrirana, sa svojim pragom, iznosom i rezultatom posljednjeg popunjavanja. Video radovi se čuvaju 24 sata. Zahtjevi plaćeni po pozivu ostavljaju samo haš plaćanja Lightning za 7 dana i haširani povratni token za 30 dana, povezan s nijednim nimom. Naknade koje ravnoteža ne može pokriti zadržavaju se kao dužne dok ih top-up ne isplati.
- Uklanjanje aplikacije ga briše. A Uređaj Wipe povlači i briše svaki API ključ te briše povijest upita, zapise o korištenju, povezivanje novčanika i video poslove.
- Dobavljač modela vidi vaš zahtjevModeli kataloga pokreću se kod svojih proizvođača; standardne rute i ugrađivanja pokreću se na Cloudflare-u.
- Stvoreni mediji su javni. Slike i videozapisi isporučeni kao poveznice prenose se na javne Blossom datoteke, gdje je adresa datoteke njezin hash.
b64_jsoni generirana slika se vraća u odgovoru i nikada se ne postavlja. - To su slike koje dajete generatoru. Fotografije koje ste postavili na
Edit, ili poslati kao a
data:URL u generatoruimage_url, se prvo prenosi na javni Blossom host kako bi ga generator mogao preuzeti, a isto vrijedi i za njega.https://Slike u zahtjevu za razgovor idu na pružatelja modela, a ne na Blossom. - Ključ je povezan s vašim nimom. Sve što ključ troši dolazi iz bilance vašeg nimma, pa uporaba API-ja nije AnonimniAko želite da korištenje API-ja bude odvojeno od vašeg svakodnevnog nyma, napravite ključeve iz zasebnog nyma s vlastitom ravnotežom.
Ako trebate zaštitu aplikacija, koristite aplikacije. API je za kada trebate modele u vlastitim alatima.
Svaki kraj
| Krajnje mjesto | Što radi | auti |
|---|---|---|
GET /api/v1/models | Popis modelaUz cijene | nitko |
POST /api/v1/chat/completions | Chat završetak | ključ |
POST /api/v1/responses | Odgovori na API | ključ |
POST /api/v1/messages | Antropske poruke | ključ |
POST /api/v1/messages/count_tokens | Procjene ulaznih tokena | ključ |
POST /api/v1/images/generations | Generira slike | ključ ili munje |
POST /api/v1/images/edits | Editi sliku | ključ ili munje |
POST /api/v1/videos, GET /api/v1/videos, GET /api/v1/videos/{id} | Početak, popis i provjera videa | ključ, ili munje Za početak jedan |
POST /api/v1/audio/speech | Tekst za govor | ključ ili munje |
GET /api/v1/audio/models, GET /api/v1/audio/voices | Audio modeli i glasovi | nitko |
POST /api/v1/audio/transcriptions, POST /api/v1/audio/translations | Govor na tekst i na engleski | ključ ili munje |
POST /api/v1/embeddings | Embeddings | ključ ili munje |
GET /api/v1/credits/balance ( ili POST) | Obje ravnoteže | ključ |
GET /api/v1/topup/payment-methods | Načini plaćanja | nitko |
POST /api/v1/topup/create/btc-lightning | Račun za munje | ključ |
GET /api/v1/topup/status/{invoice_id} | Provjerite i kreditirajte ga | ključ |
GET /api/v1/queries/history | Koliko košta svaki zahtjev | Ključ ili nym |
GET /api/v1/account | Sažetak računa | Njemu |
/api/v1/keys | Stvara, mijenja i opoziva ključeve | Njemu |
/api/v1/nwc-auto-topup | Automatski top-ups | Njemu |
GET /api/v1/l402/refunds, POST /api/v1/l402/refunds/redeem | Provjerava ili otkupljuje token za povrat | Refund token; nym da redeem |
“Nym” znači zahtjev potpisan vašim Nostr ključem, opisan u Potpisivanje zahtjeva za računZa alate koji već govore o tim formatima, pogledajte Oprema i SDK, a za agente kodiranja kao što su Claude Code, Codex i Cline, vidjeti Kodiranje alata.