База знања Развијачи
API преглед
Модели, генератори и баланси које користите у апликацији, из сопственог кода. АПИ говори ОпенАИ и Антхропиц формате, тако да већина алата и СДК-ова раде променом основног УРЛ-а и кључа.
Ова страница је машински преведена ради практичности. Енглески оригинал је верзија која се примењује.
Šta je vatra
HTTP API је nymbot.ai који одговара на исте захтеве које већ шаље OpenAI или Anthropic клијент.
- Цхат завршетак, о Odgovori API и Антрополошке поруке, са стреаминг, алати, слике, размишљање и веб претрагу, за сваки модел у Каталог и за сопствено ауто-управљање Нимбота.
- слике, Видео, говор, транскрипција и Embeddings.
- Твоје Баланс, Светлосни топ-уп, Automatski top-up iz vašeg novčanika и а Историја koliko košta svaki zahtev.
Плаћа се од исте две равнотеже као апликација, по истим ценама.Нема претплате и нема бесплатне дозволе на АПИ: сваки захтев се плаћа из кредита које сте купили.
Оно што АПИ не ради је додавање било чега из Нимбот-а. Ваше поруке иду у модел док сте их послали: нема Нимбот системског позива, нема меморије, нема датума или наговештаја о језику.
База 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, тако да то значи исти без обзира на баланс који захтев троши. Пре него што се захтев покрене, највише што може коштати (заобљено до читавих кредита) се поставља против онога што је преостало од ограничења.
403key_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/autoPotrošite ga Стандарди баланс (10 sats a credit). Сваки други модел ћаскања троши Про баланс (100 стопа кредита). Стандардни генератор слика и стандардни глас троше стандардне кредите; сваки други генератор троши Про. Уграђени троше стандардне кредите. Транскрипција троши стандардне кредите када стандардни баланс може да га покрије, а Про кредити на други начин. Листа модела каже који баланс сваки модел троши. - Колико је Захтев за ћаскање се мери на токене које је модел заправо прочитао и написао, по објављеним стопама провајдера. Та цена има 5% накнаду додату и затим се помножава са 1.5, тако да плаћате 1.575 пута на листу цене провајдера. Претвара се у ставку по живој цени Битцоин и наплаћује се у хиљадама кредита. Про слике, видео и говор се цене по генерацији, по секунди или по карактеру, и транскрипцију по секунди звука, са истом накнадом и маргином. Стандардна слика је равна 5 стандардних кредита и стандардни глас је равна 3.
- To je minimum. Сваки мерни захтев који ради кошта најмање 0.05 кредита: пола седи на стандардном балансу, 5 ставки на Про.
- Држите, а затим седите. Пре него што захтев покрене, највише што може коштати се држи из вашег биланса, на основу онога што сте послали и највише токена који може да напише. Текст изван обичног АСЦИИ-а је величина од његових УТФ-8 бајтова, а АСЦИИ цифре и тачка се рачунају као сваки токен, тако да се текст у било ком скрипту, коду и бројевима држи у потпуности. Држење је у читавим кредитима, најмање једном, тако да сваки захтев треба најмање 10 бесплатних стопа на стандардном билансу или 100 стопа на Про-у да би започео. Само се наплаћује стварни трошак; остатак се ослобађа када се заврши.
402insufficient_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-Sats | Koliko 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_quota | Bilanca 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 autentifikacija | 30 минута по адреси за кључеве, потписи, поверења за плаћање и токене за повраћај који не верификују. 429 са Retry-After Док се минута не заврши.Кредити се проверавају пре читања тела. |
| Нови кључеви | 60 по сату по ниму и 120 по сату по адреси. |
| Top-up računi | 60 по сату по ниму и 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. |
| Embeddings | 100 улаза по захтеву. |
| 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/responses | Odgovori API | кључ |
POST /api/v1/messages | Антрополошке поруке | кључ |
POST /api/v1/messages/count_tokens | Процена улазних токена | кључ |
POST /api/v1/images/generations | генерише слике | кључ или светлости |
POST /api/v1/images/edits | Editi sliku | кључ или светлости |
POST /api/v1/videos, GET /api/v1/videos, GET /api/v1/videos/{id} | Почиње, листе и провери видео | кључ, или светлости Da počnemo jedan |
POST /api/v1/audio/speech | Tekst 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/embeddings | Embeddings | кључ или светлости |
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/history | Koliko košta svaki zahtev | Кључ или ним |
GET /api/v1/account | Резиме рачуна | Ним |
/api/v1/keys | Kreira, menja i opoziva ključeve | Ним |
/api/v1/nwc-auto-topup | Аутоматски врхови | Ним |
GET /api/v1/l402/refunds, POST /api/v1/l402/refunds/redeem | Проверите или откупите токен за повраћај | Повратак токена; ним да откупи |
“Nym” значи захтев потписан вашим Nostr кључем, описан у Потписивање захтева за рачунЗа алате који већ говоре о овим форматима, погледајте Алати и СДК, а за кодирајуће агенсе као што су Клод Цоде, Цодекс и Цлине, погледајте Кодирање алата.