Пређи на садржај
Nazad na Nymbot

База знања Развијачи

API преглед

Модели, генератори и баланси које користите у апликацији, из сопственог кода. АПИ говори ОпенАИ и Антхропиц формате, тако да већина алата и СДК-ова раде променом основног УРЛ-а и кључа.

Šta je vatra

HTTP API је nymbot.ai који одговара на исте захтеве које већ шаље OpenAI или Anthropic клијент.

Плаћа се од исте две равнотеже као апликација, по истим ценама.Нема претплате и нема бесплатне дозволе на АПИ: сваки захтев се плаћа из кредита које сте купили.

Оно што АПИ не ради је додавање било чега из Нимбот-а. Ваше поруке иду у модел док сте их послали: нема Нимбот системског позива, нема меморије, нема датума или наговештаја о језику.

База URL

КоришћењеБаза URL
ОпенАИ СДК и ОпенАИ компатибилни алатиhttps://nymbot.ai/api/v1
Антрополошки СДК и Клод Кодhttps://nymbot.ai/api (СДК додаје /v1/messages самим собом)

Свака крајња тачка живи под /api/v1/Непознати пут се враћа 404 и познати пут који се зове погрешним методом се враћа 405И обоје као Јсон.

API одговара на унакрсне захтеве са било ког сајта, тако да страница претраживача може да га позове.Све што пошаљете претраживачу може да прочита свако ко га отвара, међутим, тако да то радите само са кључем који има малу ГлаваKrajnje tačke potpisane sa vašim nimom (ključevi, sažetak naloga, NWC auto-top-up i povrat otkupnine) su izuzetak: u pretraživaču odgovaraju samo na Nymbot-ove sopstvene sajtove. Потписивање захтева за рачун.

Пошаљите свако ЈСОН тело са Content-Type: application/jsonСваки други тип је одбијен са 415, тако да је обичан ХТМЛ облик или text/plain захтев са другог сајта не може доћи до АПИ. Са цУРЛ-ом, -H "Content-Type: application/json" zajedno sa -d.

Ватра кључеви

Кључеви су направљени у апликацији.Отворено Огње у бочној траци веб апликације, или у менију на Андроиду и иОС-у, и Креирајте кључДајте му име и, ако желите, поклопац и датум истека.

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

Ključ izgleda kao sk-nymbot- Затим 43 слова, цифре, тастере и потцене.Апп листа сваки кључ по имену и кратком наговештају као што су: sk-nymbot-Qm7x…c2Lw.

  • Ključ pripada vašem nimu. Он троши ваш баланс, а само ваш ним може да га направи, промени или повуче.Свако ко држи кључ може да га троши, па га третира као лозинку.
  • Капи су у стопи. Кључ може имати ограничење трошкова, а ограничење се може ресетовати сваког дана, сваке недеље (понедељак) или сваког месеца (први), у 00:00 УТЦ. Броји оба салда, стандардни кредит као 10 sats и Про кредит као 100, тако да то значи исти без обзира на баланс који захтев троши. Пре него што се захтев покрене, највише што може коштати (заобљено до читавих кредита) се поставља против онога што је преостало од ограничења. 403 key_limit_reached, чак и ако би одговор дошао испод капице; грешка каже колико је остало и када се капица ресетује. max_tokens Захтев се наплаћује оно што заправо кошта и то се рачуна против капе, тако да ако провајдер пријављује више токена него што је одбачено, последњи захтев који одговара може узети кључ мало изнад њене капе; следећи се онда одбија.
  • Потрошена капа само зауставља трошење. Кључ на својој капи још увек може да провери биланс, прочита своју историју, наброји моделе, броји токене, настави и провери видео који је већ започео.
  • Искључење је опционално. Након датума који сте поставили, кључ престаје да ради.
  • Укидање је непосредно и коначно. Повратак кључа не успева са следећим захтевом.Он остаје на листи, означен повратак, тако да његова историја трошкова и даље има смисла.
  • Можете имати до 25 активних кључева, сваки са својим именом. Промена периода ресетовања кључа почиње нови период од нуле.

Исти лист приказује трошкове сваког кључа у овом периоду и укупно, када је последњи пут коришћен, како ваше салдо, тако и ваше недавне АПИ захтеве. Управљање кључевима.

Аутентификација захтева

Пошаљите кључ у било који од ових наслова. Они су еквивалентни, тако да користите оно што ваш клијент шаље подразумевано:

хејдерПошаљи
Authorization: Bearer sk-nymbot-…ОпенАИ СДК, већина алата, Клод Цоде са ANTHROPIC_AUTH_TOKEN
x-api-key: sk-nymbot-…Антрополошки СДК
api-key: sk-nymbot-…Azure-style клијенти

Недостајућа, непозната, поништена или истекла кључна враћања 401Уз код missing_api_key, invalid_api_key, revoked_api_key или expired_api_keyЛиста модела, аудио модела и гласова, као и методе плаћања не треба кључ.

Слике, видео, говор, транскрипција и уграђивање такође могу бити плаћени за један захтев у једном тренутку преко Ласхнинг без кључа уопште: пошаљите захтев без једног и платите рачун у 402 Odgovori - vidi Плаћање по захтеву без кључа.

Управљање кључевима, резиме налога и аутоматски врхови су изузетак: они узимају потпис из вашег нима уместо кључа, тако да цурење кључа не може направити више кључева. Потписивање захтева за рачун.

Ваш први захтев

Ставите кључ у променљиву окружења, а затим питајте модел нешто. 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 је Нимбот-ово рутирање, плаћено из стандардног биланса. Ставите идентификатор каталог модела тамо уместо тога, као што су: anthropic/claude-sonnet-5, да бисте користили тај модел из Про баланса. Листа модела Даје сваки ИД.

Koliko košta zahtev

API fakturira baš onako kako aplikacija radi.

  • Kakva ravnoteža nymbot/auto Potrošite ga Стандарди баланс (10 sats a credit). Сваки други модел ћаскања троши Про баланс (100 стопа кредита). Стандардни генератор слика и стандардни глас троше стандардне кредите; сваки други генератор троши Про. Уграђени троше стандардне кредите. Транскрипција троши стандардне кредите када стандардни баланс може да га покрије, а Про кредити на други начин. Листа модела каже који баланс сваки модел троши.
  • Колико је Захтев за ћаскање се мери на токене које је модел заправо прочитао и написао, по објављеним стопама провајдера. Та цена има 5% накнаду додату и затим се помножава са 1.5, тако да плаћате 1.575 пута на листу цене провајдера. Претвара се у ставку по живој цени Битцоин и наплаћује се у хиљадама кредита. Про слике, видео и говор се цене по генерацији, по секунди или по карактеру, и транскрипцију по секунди звука, са истом накнадом и маргином. Стандардна слика је равна 5 стандардних кредита и стандардни глас је равна 3.
  • To je minimum. Сваки мерни захтев који ради кошта најмање 0.05 кредита: пола седи на стандардном балансу, 5 ставки на Про.
  • Држите, а затим седите. Пре него што захтев покрене, највише што може коштати се држи из вашег биланса, на основу онога што сте послали и највише токена који може да напише. Текст изван обичног АСЦИИ-а је величина од његових УТФ-8 бајтова, а АСЦИИ цифре и тачка се рачунају као сваки токен, тако да се текст у било ком скрипту, коду и бројевима држи у потпуности. Држење је у читавим кредитима, најмање једном, тако да сваки захтев треба најмање 10 бесплатних стопа на стандардном билансу или 100 стопа на Про-у да би започео. Само се наплаћује стварни трошак; остатак се ослобађа када се заврши. 402 insufficient_balance грешка догађај, а оно што је генерисано се наплаћује. ако је стварни трошак већи од биланса може да плати, цео биланс се узима, остатак се дугује (owed_sats У о nymbot објект, и негативан баланс). Оно што је дужно прво се исплати из следећих кредита који достижу тај баланс. Док се не исплати, ништа на том балансу не може се потрошити: не од стране АПИ-а, одговора у апликацији, трансфера или поклона.
  • Nema dovoljno kredita. Ако биланс не може да покрије држање, захтев се одбија са 402 пре него што се нешто покрене. Грешка каже који је баланс кратак, колико је захтева потребно и колико је бесплатно. max_tokens То значи мање држање.
  • neuspeh Неуспешан захтев не кошта ништа, осим ако провајдер није наплатио посао који је урадио пре неуспеха, или веб претрагу или nymbot/auto Провера задатака је већ покренута; онда је то оно што плаћате, најмање 0.05 кредита. Поток који исечете се наплаћује за токене које провајдер извештава: Нимбот наставља да чита провајдерски ток до 25 секунди након што изађете да бисте добили тај број. ако не стигне, накнада се процењује од онога што сте послали и шта је написано, а за модел који разлога укључује целу излазну дозволу држања.
  • WEB претраживање Цена $ 0.008 претрага, конвертована у sats, сваки пут када је претрага покренута, без обзира да ли модел онда одговара или не успева.

Сваки одговор каже колико кошта. JSON одговори носе nymbot објекат са салдом из којег је исплаћен, накнада у кредитима и стопама, и шта је остало:

Цена објекта

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

Плаћени одговори такође носе ове наслове, што је место где треба тражити трошкове одговора који није ЈСОН, као што је говор:

хејдерZnačenje
X-Nymbot-Cost-SatsKoliko košta ovaj zahtev, u sats.
X-Nymbot-Balance-SatsШта је остало на билансу из којег је плаћено, у стопама.
X-Request-IdИД за захтев, на сваком одговору. цитирајте га ако контактирате подршку.

Стопе по милиону токена, већ укључујући накнаду и маргину, су у Листа модела у доларима и стопама, и на Ценовни листАко се цена Битцоин-а не може прочитати, плаћени захтеви се враћају 503 price_unavailable са Retry-After: 60 Umesto da nagađamo.

Грешке

Svaka greška ima isti oblik, onaj koji OpenAI klijenti već razumeju. 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_errorТело није валидно ЈСОН (invalid_json), потребно поље недостаје (missing_required_parameter), вредност је погрешна, или захтев тражи нешто што модел или крајња тачка не ради, као што су алати на nymbot/auto (unsupported_tool). param Назовите поље. такође upstream_rejected kada je dobavljač odbio zahtev.
401 authentication_errorКључ је нестао, непознат, поништен или истекао, или је потписани захтев неважећи или поново коришћен.
402 insufficient_quotaBilanca ne može da pokrije zahtev.Kod insufficient_balance, са balance, required_sats и balance_sats.
403 permission_errorЗахтев се не уклапа у кључни кључ (key_limit_reached, са 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) Сачекајте секунде у Retry-After.
500 api_errorНешто није било у реду са Нимботом (internal_error).
502 api_errorПонуђач није вратио одговор (upstream_error), или се не може направити муњевит рачун (invoice_unavailable).
503 api_errorПонуђач је преоптерећен (upstream_overloaded), цена Битцоин се не може прочитати (price_unavailable), или део услуге је доле (service_unavailable, media_hosting_unavailable). Retry-After kaže kada da pokuša ponovo, gde je poznato.

Dva izuzetka:

  • /api/v1/messages одговори у формату грешке Антхропиц-а, јер је то оно што антхропиц клијенти анализирају: {"type": "error", "error": {"type": "authentication_error", "message": "…"}}Тип прати статус: invalid_request_error, authentication_error, billing_error (402), permission_error, not_found_error, request_too_large, rate_limit_error, api_error или overloaded_error (503).
  • Захтев за стреаминг који не успе пре свог првог бајта добија обичну ЈСОН грешку са статусом изнад, а не ток догађаја.

Поруке о грешци никада не садрже интерне детаље друге услуге.

ограничења

лимитаВредност
Захтеви по кључу120 по минуту.Осим тога, 429 са Retry-After.
Захтеви без кључа120 минута по адреси, за модел, аудио и начин плаћања листе, повраћај токен провере, и плаћене крајње тачке позива без кључа или плаћања. 429 са Retry-After.
Neuspešna autentifikacija30 минута по адреси за кључеве, потписи, поверења за плаћање и токене за повраћај који не верификују. 429 са Retry-After Док се минута не заврши.Кредити се проверавају пре читања тела.
Нови кључеви60 по сату по ниму и 120 по сату по адреси.
Top-up računi60 по сату по ниму и 120 по сату по адреси.
NWC новчаник конекције10 по сату по ниму и 30 по сату по адреси. wss:// у стандардном порту.
Повратак токена60 захтева у минути по токену.
АдресаIPv6 адреса се рачуна као његова цела /64 у сваком ограничењу по адреси, а IPv4 мапирана IPv6 адреса као његова IPv4 адреса.
JSON захтев тело4 МБ; 64 КБ за захтеве потписане помоћу вашег нима.
Вишедељни захтев тело (уплоадс)32 МБ. Слика за уређивање може бити до 20 МБ, аудио датотека до 25 МБ. На највише 64 дела, сваки са највише 8 КБ наслова делова, и граница од 1 до 70 знакова; иначе 400 invalid_multipart.
Слике у једном цхат захтеву20 Сваки је један https:// или http:// линк до јавног домаћина, или data:image/… УРЛ је
Слике по генерацији захтева1 до 4 (n)
Излаз ТокенсУклоњен на сопствени максимум модела. већи max_tokens Smanjen je, a ne odbijen.
Говорни улаз800 карактера за стандардни глас, 2.000 за Аура 2.
транскрипција30 минута аудио, 25 МБ. Дужи снимак је одбијен са 413 i nije optužen, čak i kada je njegova dužina poznata samo kada je Šaputalo čulo.
Embeddings100 улаза по захтеву.
Video posloviЗадржите 24 сата након подношења; рендеринг се одустаје након сат времена.
Желимо историјуСачекајте 90 дана.
Активни кључеви по нимСамо најновијих 50 поништених кључева се чувају.

Линк на слику мора указивати на јавни домаћин: адреса на приватној или локалној мрежи, или на Нимбот-овим властитим сајтовима, одбијена је.

Šta vatra može da vidi

API није приватан на начин на који су апликације, и вреди бити тачан о томе како.

  • То није коначно шифровано. У апликацијама, порука је запечаћена на вашем уређају на кључеве само Нимбот држи и путује као Поклон WrapAPI zahtev je običan HTTPS: on je šifrovan na putu do Nymbota, a Nymbotov server ga čita u jasnom da bi ga upravljao.
  • Odgovori i odgovori se ne čuvaju. Оно што се чува је рачун: за сваки захтев време, модел, тип, токен бројеви, трошкови, биланс, кључ и да ли је успео, за 90 дана, што је оно што Жеља за историјом Запис употребе истог захтева (време, врста, модел, број токена, трошкови, трајање и да ли је користио веб претрагу или успео) такође се чува 90 дана, заједно са апликацијом.
  • Све остало одржано за ним је мало и наведено овде. Ватра кључеви се чувају као хасх, никада кључ, са њиховим именом, кратким наговештајем, трошковима, периодом ресетовања, истеком и када су направљени и последњи пут коришћени; задржавају се само најновији 50 повучених кључева. Automatski top-up Захтеви плаћени по позиву остављају само хасх плаћања за 7 дана и хасх повраћај токен за 30 дана, повезан са нема ним. Накнаде које би баланс не могао покрити се чувају као дужни док их не плати.
  • Избришите апликацију да бисте је избрисали. A Уређај Wipe opoziva i briše svaki API ključ i briše istoriju upita, zapise o korišćenju, vezu za novčanik i video poslove.
  • Провајдер модела види ваш захтевКаталог модели се покрећу на њиховим произвођачима; стандардне руте и уграђења се покрећу на Цлоудфларе-у.
  • Произведени медији су јавни. Слике и видео снимци испоручени као линкови се учитавају у јавне Blossom фајлове, где је адреса датотеке његов хасх. b64_json и генерисана слика се враћа у одговору и никада се не учитава.
  • Тако су слике које дајете генератору. Слика коју уплоад на Edit, или пошаљите као а data: URL у генератору image_url, се прво учитава на јавни Блосом хост тако да га генератор може преузети, а исто важи и за њега. https:// слике у захтјеву за ћаскање иду на провајдера модела, а не на Блоссом.
  • Ključ je povezan sa vašim nimom. Све што кључ троши долази из равнотеже вашег нима, тако да употреба АПИ-а није АнонимноАко желите да се употреба АПИ-а чува одвојено од вашег свакодневног нима, направите кључеве из одвојеног нима са сопственом равнотежом.

Ако вам је потребна заштита апликација, користите апликације. API је за када вам су потребни модели у својим алатима.

Сваки крајњи

крајњиШта радиаут
GET /api/v1/modelsЛиста модела, са ценамаniko
POST /api/v1/chat/completionsЦхат завршетаккључ
POST /api/v1/responsesOdgovori APIкључ
POST /api/v1/messagesАнтрополошке порукекључ
POST /api/v1/messages/count_tokensПроцена улазних токенакључ
POST /api/v1/images/generationsгенерише сликекључ или светлости
POST /api/v1/images/editsEditi slikuкључ или светлости
POST /api/v1/videos, GET /api/v1/videos, GET /api/v1/videos/{id}Почиње, листе и провери видеокључ, или светлости Da počnemo jedan
POST /api/v1/audio/speechTekst za govorкључ или светлости
GET /api/v1/audio/models, GET /api/v1/audio/voicesАудио модели и гласовиniko
POST /api/v1/audio/transcriptions, POST /api/v1/audio/translationsГовор на текст, и на енглескикључ или светлости
POST /api/v1/embeddingsEmbeddingsкључ или светлости
GET /api/v1/credits/balance (или POST)Обе равнотежекључ
GET /api/v1/topup/payment-methodsНачини плаћањаniko
POST /api/v1/topup/create/btc-lightningСветлосни рачункључ
GET /api/v1/topup/status/{invoice_id}Провери и кредити токључ
GET /api/v1/queries/historyKoliko košta svaki zahtevКључ или ним
GET /api/v1/accountРезиме рачунаНим
/api/v1/keysKreira, menja i opoziva ključeveНим
/api/v1/nwc-auto-topupАутоматски врховиНим
GET /api/v1/l402/refunds, POST /api/v1/l402/refunds/redeemПроверите или откупите токен за повраћајПовратак токена; ним да откупи

“Nym” значи захтев потписан вашим Nostr кључем, описан у Потписивање захтева за рачунЗа алате који већ говоре о овим форматима, погледајте Алати и СДК, а за кодирајуће агенсе као што су Клод Цоде, Цодекс и Цлине, погледајте Кодирање алата.