Preskočite na sadržaj
Povratak na Nymbot

Baza znanja Razvijači

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 promjenom baznog URL-a i ključa.

Šta je vatra

HTTP API za nymbot.ai koji odgovara na iste zahteve koje već šalje OpenAI ili Anthropic klijent.

Plaća se od istih dva Ravnoteže kao i aplikacija, po istim cenama.Nema pretplate i nema besplatne dozvole na API-ju: svaki zahtjev se plaća iz kredita koje ste kupili.

Ono što API ne radi je dodavanje bilo čega od Nymbot-ovog. Vaše poruke odlaze na model kako ste ih poslali: nema Nymbot sistemskog uputstva, nema memorije, nema datuma ili jezika. Ono što se vraća je modelov odgovor i bilješka o tome koliko košta.

Osnovni URL

KoristiteOsnovni URL
OpenAI SDK-ovi i OpenAI-kompatibilni alatihttps://nymbot.ai/api/v1
Antropski SDK i Knjiga Kodahttps://nymbot.ai/api (SDK dodaje /v1/messages samog sebe)

Svaka krajnja tačka živi pod /api/v1/Nepoznati put vraća se 404 i poznat put koji se zove pogrešnim metodom vraća se 405Obojica kao JSON.

Sve što pošaljete u pretraživač može pročitati svako ko ga otvori, pa to učinite samo s ključem koji ima malu vrijednost. glavaKrajnje tačke potpisane sa vašim nimom (ključevi, sažetak naloga, NWC auto-top-up i povrat otkupnine) su izuzetak: u pregledniku odgovaraju samo na Nymbot-ove vlastite stranice. Zahtjevi za potpisivanje računa.

Pošaljite svako JSON telo sa Content-Type: application/jsonSvaki drugi tip je odbijen 415, tako da običan HTML oblik ili text/plain zahtjev sa drugog sajta ne može doći do API-ja. sa cURL, proći -H "Content-Type: application/json" zajedno sa -d.

Vatra ključevi

Ključevi su napravljeni u aplikaciji.Open vatra u bočnoj traci web aplikacije, ili u meniju na Androidu i iOS-u, i dodirnite Kreirajte ključDajte mu ime i, ako želite, kap i datum isteka.

Ključ se prikazuje jednom. Kopirajte ga negde na sigurno pre nego što zatvorite list: Nymbot čuva samo otisak prsta, tako da vam ga ne može ponovo pokazati.

Ključ izgleda kao sk-nymbot- nakon čega slijedi 43 slova, cifre, podcene i podcene. Aplikacija navodi svaki ključ po imenu i kratkom nagoveštaju kao što su: sk-nymbot-Qm7x…c2Lw.

  • Ključ pripada vašem nimu. To troši svoj saldo, a samo vaš nim može napraviti, promeniti ili opozvati.Svako ko drži ključ može potrošiti s njim, pa ga tretirati kao lozinku.
  • Caps su u sats. Ključ može imati ograničenje troškova, a ograničenje se može ponoviti svaki dan, svaki tjedan (ponedeljak) ili svaki mesec (prvi), u 00:00 UTC. Broji oba salda, standardni kredit kao 10 sats i Pro kredit kao 100, tako da to znači isto bez obzira na to koji saldo zahteva troši. Prije nego što se zahteva pokrene, najviše što bi moglo koštati (zaokruženo na cijele kredite) postavlja se protiv onoga što je preostalo od ograničenja. 403 key_limit_reached, čak i ako bi odgovor došao ispod poklopca; greška kaže koliko je ostalo i kada se poklopac resetira. max_tokens Zahtjev se naplaćuje ono što stvarno košta i to se računa u odnosu na kap, tako da ako pružatelj izvještava više žetona nego što je stavljeno na stranu, poslednji zahtjev koji odgovara može uzeti ključ malo duže od njegove kapije; sledeć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 istoriju, listati modele, brojati žetone, nadograditi i provjeriti video koji je već počeo.
  • Expiry je opcionalno. Nakon datuma koji ste postavili, ključ prestaje da radi.
  • Povlačenje je neposredno i konačno. Povučen ključ ne uspijeva svoj sledeći zahtev. On ostaje na listi, označen povučen, tako da je njegova povijest troškova i dalje ima smisla.
  • Možete imati do 25 aktivnih ključeva, svaki sa svojim imenom. Promjena perioda ponovnog postavljanja ključa započinje novi period od nule.

Isti list prikazuje potrošnju svakog ključa u ovom periodu i ukupno, kada je poslednji put korišćen, kako vaše bilance, tako i vaše nedavne API zahteve. Upravljanje ključima.

Autentifikacija zahteva

Pošaljite ključ u bilo kojem od ovih naslova. Oni su ekvivalentni, pa koristite ono što vaš klijent šalje podrazumevano:

GlavniPoslanici
Authorization: Bearer sk-nymbot-…OpenAI SDK, većina alata, Claude Code sa ANTHROPIC_AUTH_TOKEN
x-api-key: sk-nymbot-…Antropski SDK
api-key: sk-nymbot-…Azure-style klijenti

Nedostaje, nepoznat, opozvan ili istekao ključ vraća 401Uz ovaj kod missing_api_key, invalid_api_key, revoked_api_key ili expired_api_keyPopis modela, audio modela i glasova, kao i načina plaćanja ne treba ključ.

Slike, video, govor, transkripcija 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 fakturu u 402 Odgovor: Pogledaj Plaćanje po zahtevu bez ključa.

Upravljanje ključima, sažetak naloga i automatski top-upovi su izuzetak: uzimaju potpis iz vašeg nyma umjesto ključa, tako da ispušten ključ ne može napraviti više ključa. Zahtjevi za potpisivanje računa.

Vaš prvi zahtev

Stavite ključ u promjenjivu okruženja, a zatim zatražite nešto 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 Nymbotov vlastiti usmjeravanje, plaćen od standardnog salda. Umesto toga stavite ID modela kataloga, kao što su: anthropic/claude-sonnet-5, da biste koristili taj model iz Pro ravnoteže. Popis modela Daje svaki ID.

Koliko košta zahtjev

API računi točno onako kako aplikacija radi.

  • Kakva ravnoteža nymbot/auto Trošite na Standardni balans (10 sats a kredit). Svaki drugi model ćaskanja troši Za balans (100 sats jedan kredit). Standardni generator slike i standardni glas troše standardne kredite; svaki drugi generator troši Pro. Embeddings troše standardne kredite. Transcription troši standardne kredite kada standardni balans može da ga pokrije, a Pro krediti na drugi način. Popis modela kaže koji balans svaki model troši.
  • Koliko Zahtjev za razgovor se mjeri na žetone koje je model zapravo pročitao i napisao, po 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 listu cijena pružatelja usluga. Pretvara se u sats na live Bitcoin cijenu i naplaćuje se u hiljadama 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 je ravna 3.
  • To je minimum. Svaki izmjereni zahtev koji radi košta najmanje 0,05 kredita: pola sedela na standardnom saldu, 5 stotina 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 osnovu onoga što ste poslali i najviše žetona koje može napisati. Tekst izvan običnog ASCII veličina je od svojih UTF-8 bajtova, a ASCII brojevi i tačke računaju kao žetone svaki, tako da se tekst u bilo kom skriptu, kodu i brojevima drži u potpunosti. Držanje je u cjelokupnim kreditima, najmanje jedan, tako da bilo kojem zahtjevu treba najmanje 10 stotina besplatnih stotina na standardnom saldu ili 100 stotina na Pro za početak. Samo se naplaćuje stvarni trošak; ostatak se oslobađa kada se završi. 402 insufficient_balance Ukoliko je stvarna cijena veća od iznosa koji se može isplatiti, uzima se cela bilanca, a ostatak duguje (owed_sats U ovom nymbot objekt, i negativan saldo). Ono što je duguje se isplaćuje prvo iz narednih kredita koji dostignu taj saldo. Dok se ne isplati, ništa na tom saldu ne može biti potrošeno: ne od strane API-ja, odgovori u aplikaciji, transfer ili dar.
  • Nema dovoljno kredita. Ako ravnoteža ne može pokriti držanje, zahtjev se odbija sa 402 prije nego što se nešto pokrene. greška kaže koji je saldo kratak, koliko je zahteva potrebna i koliko je besplatno. max_tokens Znači manji držač.
  • Neuspeh Zahtjev koji ne uspije ništa ne košta, osim ako pružatelj usluga nije naplaćivao za rad koji je radio prije neuspeha, ili za pretragu na mreži ili pretraživanje. nymbot/auto provjera zadataka već je pokrenuta; onda to je ono što plaćate, najmanje 0.05 kredita. Potok koji izrezate naplaćuje se za žetone koje izvješćuje pružatelj: Nymbot čita tok pružatelja do 25 sekundi nakon što napustite da biste dobili taj broj. Ako ne stigne, naplaćivanje se procjenjuje od onoga što ste poslali i što je napisano, a za model koji razlozi uključuje cijeli izlazni dozvolu držanja.
  • Web pretraživanje košta $ 0.008 pretraživanje, pretvoreno u sats, svaki put kada je pretraživanje pokrenuto, bez obzira 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 stopama 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đe nose ove naslove, što je mjesto za pretraživanje troškova odgovora koji nisu JSON, kao što je govor:

GlavniZnačenje
X-Nymbot-Cost-SatsKoliko ovaj zahtjev košta, u sats.
X-Nymbot-Balance-SatsOno što je ostalo na ravnoteži iz koje je isplaćeno, u sats.
X-Request-IdID za zahtev, na svakom odgovoru. Citirajte ga ako kontaktirate podršku.

Stope po milion žetona, već uključujući naknadu i maržu, su u Popis modela U dolarima i sats, i na Cijene karticeAko se cena Bitcoina ne može pročitati, plaćeni zahtjevi se vraćaju 503 price_unavailable sa Retry-After: 60 Umjesto da nagađamo.

greške

Svaka greška ima isti oblik, onaj koji OpenAI klijenti već razumeju. code je stabilno ime na koje se možete podudarati; message To je za ljude i može se promeniti.

pogrešno telo

{
  "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
  }
}
StatusKada
400 invalid_request_errorTelo nije valjan JSON (invalid_json), potrebno polje nedostaje (missing_required_parameter), vrednost je pogrešna, ili upit traži nešto što model ili krajnja tačka ne radi, kao što su alati na nymbot/auto (unsupported_tool). param ime polja. takođe upstream_rejected kada je dobavljač odbio zahtjev.
401 authentication_errorKljuč je nedostajao, nepoznat, opozvan ili je istekao, ili je potpisan zahtjev nevažeći ili ponovljen.
402 insufficient_quotaBilanca ne može pokriti zahtjev.Kod insufficient_balance, sa balance, required_sats i balance_sats.
403 permission_errorZahtjev se ne uklapa u ključ kapi (key_limit_reached, sa limit_sats, used_sats i reset_at), ili račun ne može koristiti uslugu (account_denied).
404 not_found_errorNepoznati put (unknown_endpoint), model koji ne postoji (model_not_found), ili nepoznat ključ, faktura ili video.
405Put postoji, ali ne i sa tom metodom (method_not_allowed) na Allow Header popisuje metode koje koristi.
413Tijelo ili datoteka je prevelika (payload_too_large, file_too_large), ili je snimak suviše dugačak (audio_too_long) vidi se ograničenja.
415 invalid_request_errorTijelo se ne šalje kao application/json (ili, za upisane krajnje tačke, multipart/form-data): unsupported_media_type.
422Glas i jezik koji ne idu zajedno u tekstu u govoru (voice_language_mismatch, unsupported_language).
429 rate_limit_errorPreviše upita na ovom ključu, sa ove adrese, ili s povjerljivim podacima koji nisu mogli provjeriti (rate_limit_exceeded) ili da je pružatelj usluga ograničio stopu (upstream_rate_limited) Sačekajte sekunde u Retry-After.
500 api_errorNešto nije u redu sa Nymbotovom stranom (internal_error).
502 api_errorPoslodavac nije odgovorio na pitanje (upstream_error), ili se ne može napraviti račun za munje (invoice_unavailable).
503 api_errorProizvođač je preopterećen (upstream_overloaded), cena Bitcoina ne može se čitati (price_unavailable), ili deo usluge je ispod (service_unavailable, media_hosting_unavailable). Retry-After kaže kada da pokuša ponovo, gde je poznato.

Dva izuzetka:

  • /api/v1/messages odgovori u Anthropic greškom formatu, budući da je to ono što Anthropic klijenti analiziraju: {"type": "error", "error": {"type": "authentication_error", "message": "…"}}Tip prati status: invalid_request_error, authentication_error, billing_error (402), permission_error, not_found_error, request_too_large, rate_limit_error, api_error ili overloaded_error (503).
  • Zahtjev za streaming koji ne uspe prije svog prvog bajta dobija običnu JSON grešku sa statusom iznad, a ne tok događaja.

Poruke o greškama nikada ne sadrže unutrašnje detalje druge usluge.

Granice

LimitiVrednost
Zahtjevi po ključu120 na minutu. više od toga, 429 sa Retry-After.
Zahtjevi bez ključa120 po minuti po adresi, za model, audio i način plaćanja popise, povrat token provjere, i plaćenih krajnjih tačaka poziva bez ključa ili plaćanja. 429 sa Retry-After.
Neuspela autentifikacija30 po minuti po adresi za ključeve, potpise, poverilnice za plaćanje i tokene za vraćanje novca koji ne potvrđuju. 429 sa Retry-After dok se minuta ne završi. Potvrde se provjeravaju prije nego što se tijelo pročita.
Novi ključevi60 po satu po nimu i 120 po satu po adresi.
Top-up računi60 po satu po nimu i 120 po satu po adresi.
NWC novčanik veze10 po satu po nimu i 30 po satu po adresi. wss:// Na standardnom pristaništu.
Vraćanje tokena60 zahteva po minuti po tokenu.
AdresaIPv6 adresa se računa kao cijela /64 u svakom ograničenju po adresi, a IPv4 mapirana IPv6 adresa kao IPv4 adresa.
JSON zahtev tela4 MB; 64 KB za zahtjeve potpisane sa vašim nimom.
Višenamjensko tijelo zahteva (uploads)32 MB. Slika za uređivanje može biti do 20 MB, audio datoteka do 25 MB. Na najviše 64 dijela, svaka sa najviše 8 KB glava dijela, i granica od 1 do 70 znakova; inače 400 invalid_multipart.
Slike u jednom chat zahtevu20. svaka je jedna https:// ili http:// povezivanje sa javnim domaćinom, ili data:image/… Uređaj
Slike po generaciji zahteva1 od 4 (n)
Izlazni tokenCapped na modelu sopstvenog maksimuma. veći max_tokens Smanjen je na njega, a ne odbijen.
Uvod u govor800 znakova za standardni glas, 2000 za Aura 2.
transkripcija30 minuta audio, 25 MB. Duže snimanje je zabranjeno sa 413 i nije optužen, čak i kada je njegova dužina poznata samo kada je Šaputalo čulo.
Uključivanje100 ulazaka po zahtevu.
Video posloviČeka se 24 sata nakon što se podnesu; rendiranje se odustaje nakon sat vremena.
Želite istorijuČeka se 90 dana.
Aktivni ključevi po nymSamo najnovijih 50 opozvanih ključeva se čuvaju.

Link na sliku mora ukazati na javni host: adresa na privatnoj ili lokalnoj mreži, ili na Nymbot-ovim vlastitim stranicama, odbijena je.

Šta vatra može vidjeti

API nije privatna na način na koji su aplikacije, i vrijedi biti tač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 Pokloni WrapAPI zahtjev je običan HTTPS: on je šifrovan na putu do Nymbota, a Nymbotov server ga čita u jasnom kako bi ga upravljao.
  • Upozorenja i odgovori se ne čuvaju. Ono što se čuva je faktura: za svaki zahtjev vrijeme, model, vrsta, broj žetona, trošak, ravnoteža, ključ i da li je uspio, za 90 dana, što je ono što želja za istorijom Zapis o korišćenju istog zahteva (vreme, vrste, modela, broja žetona, troškova, trajanja i da li je koristio web pretragu ili uspio) takođe se čuva 90 dana, uz aplikaciju.
  • Sve ostalo držano za nym je malo i navedeno ovdje. Vatra ključevi se pohranjuju kao haš, nikada ključ, sa svojim imenom, kratkim nagovještajem, kapom za troškove, razdobljem ponovnog postavljanja, istekom i kada su napravljeni i poslednji put korišteni; zadržavaju se samo najnovijih 50 opozvanih ključeva. Automatski top-up povezivanje novčanika se pohranjuje šifrirano, sa svojim pragom, iznosom i rezultatom posljednjeg nadogradnje. Video radovi se čuvaju 24 sata. Zahtjevi plaćeni po pozivu ostavljaju samo haš plaćanja Lightning za 7 dana i haširani token za vraćanje za 30 dana, povezan s nijednim nimom. Troškovi koje ravnoteža ne može pokriti zadržavaju se kao dužni dok ih top-up ne isplati.
  • Uklanjanje aplikacije briše ga. A Uređaj Wipe opoziva i briše svaki API ključ i briše istoriju upita, zapise o korišćenju, vezu novčanika i video poslove.
  • Dobavljač modela vidi vaš zahtevModeli kataloga pokreću se kod svojih kreatora; standardne rute i ugrađivanja pokreću se na Cloudflare-u.
  • Stvoreni mediji su javni. Slike i videozapisi isporučeni kao veze se učitavaju na javne Blossom datoteke domaćini, gde je adresa datoteke je njegov hash. Svako s vezom može da ga otvori, a Nymbot ne može da ga ponovo skine. b64_json i stvorena slika se vraća u odgovoru i nikada se ne postavlja.
  • Tako su slike koje dajete generatoru. Fotografije koje ste preuzeli Izdvajanje, ili pošaljite kao a data: URL u generatoru image_url, se prvo prenosi na javni Blossom host tako da ga generator može preuzeti, a isto vrijedi i za njega. https:// Slika u zahtevu za razgovor ide na model pružatelja usluga, a ne Blossom.
  • Ključ je povezan sa vašim nimom. Sve što ključ troši dolazi iz bilance vašeg nimma, tako da upotreba API-ja nije AnonimniAko želite da upotreba API-ja bude odvojena od vašeg svakodnevnog nyma, napravite ključeve iz zasebnog nyma sa sopstvenom ravnotežom.

Ako vam je potrebna zaštita aplikacija, koristite aplikacije. API je za kada vam su potrebni modeli u vlastitim alatima.

Svaki kraj

Krajnja tačkaŠta radiAutoput
GET /api/v1/modelsSpisak modelaUz cijeneNiko
POST /api/v1/chat/completionsChat kompletiključ
POST /api/v1/responsesOdgovori APIključ
POST /api/v1/messagesAntropske porukeključ
POST /api/v1/messages/count_tokensProcjene ulaznih tokenaključ
POST /api/v1/images/generationsGeneriranje slikaKljuč ili munje
POST /api/v1/images/editsIzdvojite slikuKljuč ili munje
POST /api/v1/videos, GET /api/v1/videos, GET /api/v1/videos/{id}Početak, liste i provjere video zapisaključ, ili munje Za početak jedan
POST /api/v1/audio/speechTekst za govorKljuč ili munje
GET /api/v1/audio/models, GET /api/v1/audio/voicesAudio modeli i glasoviNiko
POST /api/v1/audio/transcriptions, POST /api/v1/audio/translationsGovor na tekst, i na engleskiKljuč ili munje
POST /api/v1/embeddingsUključivanjeKljuč ili munje
GET /api/v1/credits/balance ili POST)Obje ravnotežeključ
GET /api/v1/topup/payment-methodsNačini plaćanjaNiko
POST /api/v1/topup/create/btc-lightningRačun za munjeključ
GET /api/v1/topup/status/{invoice_id}Čekanje i krediti toključ
GET /api/v1/queries/historyKoliko košta svaki zahtevKljuč ili nym
GET /api/v1/accountSažetak računaNjemu
/api/v1/keysKreira, menja i opoziva ključeveNjemu
/api/v1/nwc-auto-topupAutomatski top-upsNjemu
GET /api/v1/l402/refunds, POST /api/v1/l402/refunds/redeemProvjerava ili otkupljuje token za vraćanjeRefund token; nym da redeem

“Nym” znači zahtjev potpisan vašim Nostr ključem, opisan u Zahtjevi za potpisivanje računaZa alate koji već govore o ovim formatima, pogledajte Oprema i SDK, a za agente kodiranja kao što su Claude Code, Codex i Cline, pogledajte Oprema za kodiranje.