Jya ku bikubiyemo
Kongera muri Nymbot

Ubumenyi shingiro Abakora porogaramu

Ibiganiro, Ibisubizo n'Ubutumwa

Uburyo bubiri bwo kubaza ikibazo imashini (model), mu buryo bubiri abakiriya bamenyereye, byose bikoresha imashini zimwe kandi bikuburirwa mu buryo bumwe.

Kuzuza ibiganiro

Imiterere y'ibiganiro ya OpenAI, n'iy'ibindi bikoresho bvisa n'ibyo bose bishobora gukoresha. Kohereza ibiganiro byageze hano hanyuma ugahabwa ubutumwa bukurikira.

POST https://nymbot.ai/api/v1/chat/completions — ikenera urufunguzo rwa API.

Gusa model na messages bisabwa. Paramekere yo gupima (sampling parameter) imodeli yahisijwe itakoresha ihagarara nta kosa ryamamajwe, bityo umubano w'ubutumwa (request body) umwe ukora kuri mmodeli zose. Urutonde rw'imodeli ruzaha imodeli ya buri wese supported_parametersIcyakwirwa aho kurekwa ni icyo model itashobora gukora na busa: amashusho kuri model itashobora kubona, ibikoresho kuri model itashobora kubikoresha.

UruhandeAndikaBisabwaIbisobanuro
modelumushyikiranoYegonymbot/auto (cyangwa auto) ku ishusho y'uburyo Nymbot itunganya ibintu ku mwanya usanzwe, cyangwa ideni ry'icyiciro cy'ibicuruzwa nk'ukuri anthropic/claude-sonnet-5 ku inguzanyo ya Pro. Amazina ngufi n'amazina y'inyongezo y'icyegeranyo na byo birabyemezwa. Birashobora kurangira na a inyongeramuso.
messagesurutondeYegoIkiganiro. Inshingano system, developer (twaruwanywe nk'uburyo bwa sisitemu), user, assistant na toolIbirimo ni interuro cyangwa urutonde rwa text na image_url ibice; amafoto gusa mu butumwa bw'umukoresha. input_audio kandi ibice by'ifayili biraganwa.
streambooleanOyaYohereze igisubizo nk'uko cyanditswe. Reba Gusohora kuri interineti.
stream_optionsikintuOya{"include_usage": true} yongera igice cyateganyijwe ku mpera kigaragaza umubare w'amagambo (tokens) n'igiciro.
max_tokens
max_completion_tokens
integereOyaImiterere ikoreshwa mu kwandika iba ari menshi cyane. Irasubizwa ku kigero cyo hejuru cyane cyo muri model niba ari kinini. Ibi kandi bigena ingano y'amafaranga akurwa kuri konti yawe, bityo igice gito cyerekana ko bikeneye amafaranga make kugira ngo bitangire.
temperature
top_p
imibareOyaIgenzura ry'uburyo bwo gupima: temperature kuva kuri 0 kugeza kuri 2, top_p kuva kuri 0 kugeza kuri 1.
stopstring cyangwa arrayOyaInyandiko irangiza igisubizo: inyandiko imwe cyangwa inyandiko enye atari izirenze, buri imwe itarenze inyuguti 256. Ntabwo ikoreshwa na nymbot/auto.
seedintegereOyaKu bw'ubuguzi bw'izindikira bushobora kwisubirwamo, aho igishushanyo mbonera kigishyigikiye.
presence_penalty
frequency_penalty
imibareOyaImihigo itunganyije, buri imwe iturutse kuri -2 kugeza kuri 2.
response_formatikintuOya{"type": "json_object"} cyangwa {"type": "json_schema", "json_schema": {…}}, aho igihe icyiciro (model) cyemera kubikora. Ntabwo bikoreshwa na nymbot/auto.
tools
tool_choice
parallel_tool_calls
array, string cyangwa object, booleanOyaGuhamagara igikorwa. Reba. gusaba ibikoresho. A web_search igikoresho kiyakira urushakashaka kuri interineti. Ibikoresho bitarenze 128 na 512 KB zo gusobanura, bishobora kwimikanywa kugeza kuri amayira 64; ibirenze ni a 400.
reasoning_effort
reasoning
muryo, igikoreshoOya"minimal", "low", "medium" cyangwa "high", cyangwa {"effort": "high"}. "none" cyangwa {"enabled": false} bigira bicye. Reba ubushishozi.
pluginsurutondeOya[{"id": "web", "max_results": 5}] kwiga buri gihe ku mbuga nkoranyambaga mbere. Kugeza ku mfunganyirizo 10.
nintegereOyaNi 1 gusa. Ibindi byose bigaruka. 400.
logit_bias
user
metadata
object, string, objectOyaYemewe ariko ntiyoherezwe imbere. logit_bias ihindura amakuru ya token ids nk'imibare itari irenga 300 ikava kuri -100 kugeza kuri 100; user ni nibura akanyuguti 256; metadata bikubiyemo amagambo atarenze 16, amazina y'ibintu (keys) ari kugeza kuri 54, n'ibyo ari byo (values) kugeza kuri 512.

Igisubizo ni icy'uburyo busanzwe chat.completion, hamwe n'igiciro mu usage.cost (mu madolari) kandi mu nymbot igikoresho model ni ID y'icyegeranyo yagenwe, bityo izina rito rivuya nk'izina ryuzuye. Niba icyegeranyo cyatekereje mbere yo gusubiza, imitekerereze yacyo iri muri message.reasoning_content, utandukanye n'igisubizo.

Igisubizo

{
  "id": "chatcmpl-5f1c0a9e27d84b3c",
  "object": "chat.completion",
  "created": 1790726400,
  "model": "anthropic/claude-sonnet-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "A Lightning invoice is a one-time payment request..."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1240,
    "completion_tokens": 380,
    "total_tokens": 1620,
    "prompt_tokens_details": { "cached_tokens": 0 },
    "completion_tokens_details": { "reasoning_tokens": 0 },
    "cost": 0.01895
  },
  "nymbot": {
    "balance": "pro",
    "charged_credits": 0.162,
    "charged_sats": 16.2,
    "balance_credits": 412.425,
    "balance_sats": 41242.5
  }
}

finish_reason byerekanyijwe bishingiye ku byagezeho, kubera ko abatanga babibika mu buryo butandukanye: tool_calls igihe imashini yasabye ibikoresho, length iyo igisubizo cyakoresheje amagambo (tokens) yose yemewe (cyangwa igihe icyiciro cy'ubwenge cyakoresheje byose ntigishobore kwandika igisubizo), content_filter igihe uwubaha yemye, na stop bishobora kubaho mu bundi buryo. usage.completion_tokens_details.reasoning_tokens buri gihe ari 0: ibanga ibitekerezo bishakashutse biraburwa, kandi bishyurwa, muri completion_tokens.

ImiterereRyari
400Oya model cyangwa messages (missing_required_parameter); igice cy'amajwi cyangwa ifayili, cyangwa amafoto ku miterere idashobora kuyabona (unsupported_content); birenze amafoto 20 (too_many_images); ihame ryo gufata ingero riri mu bwoko butari bwo cyangwa riri hanze y'aho ryari riri hagati (invalid_value); ikuneti y'ishusho itari igaragara kuri bose (invalid_image_url); ibikoresho kuri model itashobora kubitumira (unsupported_tool); n bitari 1; a :thinking inyuguti z'inyuma ku muryango w'imikorere itashobora gutekereza (model_not_found); cyangwa umuheza yanze ubusabe (upstream_rejected).
402Umubare w'amafaranga model ishisha ntushobora kwishyura amafaranga yafashweho (hold).
403Imiterere ibihe bikomeye ntihura n'umukandara w'ikiyi (key_limit_reached). Hasi max_tokens cyangwa urugahusa rurushaho kuzamurwa.
404Nta masezerano afite iryo zina (model_not_found).
429Ingano y'icyerekezo y'urugero rwa kureti, cyangwa iy'uwatanga (upstream_rate_limited).
502, 503Uwayatanga yaratsinzwe (upstream_error) cyangwa byuzuye (upstream_overloaded, hamwe na Retry-After). Nta kintu kirimo kwishyurwa keretse niba uwatanga serivisi yishyuwe ku bw'umugeragezo.

Amakode y'imiterere (status codes) buri nshuro aho ugeze (endpoint) asangiye ari mu nzego zikurikira ibibazo.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "messages": [
      {"role": "system", "content": "Answer in one short paragraph."},
      {"role": "user", "content": "What is a Lightning invoice?"}
    ],
    "max_tokens": 400
  }'

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="anthropic/claude-sonnet-5",
    messages=[
        {"role": "system", "content": "Answer in one short paragraph."},
        {"role": "user", "content": "What is a Lightning invoice?"},
    ],
    max_tokens=400,
)
print(reply.choices[0].message.content)
print(reply.usage.cost)

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: "anthropic/claude-sonnet-5",
  messages: [
    { role: "system", content: "Answer in one short paragraph." },
    { role: "user", content: "What is a Lightning invoice?" },
  ],
  max_tokens: 400,
});
console.log(reply.choices[0].message.content);
console.log(reply.usage.cost);

Itegurirwa mu buryo bwa streaming

Na "stream": true igisubizo kigera nk'ibintu bivuze bituruka kuri serivere (server-sent events) mu gihe ikoranabuhanga (model) kirimo kigikora. Buri kintu (event) ni chat.completion.chunk kuri a data: umurongo, hanyuma uruvurugo rurangira na data: [DONE]. Ubwenge buza muri delta.reasoning_content, igisubizo mu delta.content.

Yohereze ibintu byose bishobora gufata ibirenze amasegonda 100, nk'igisubizo kirekire, ikintu kinini max_tokens cyangwa imodeli ifatwa nk'iyerekana imitekerereze. Ubwandikisho butari bwo kuremba (streamed) ntubona na busa kugeza igisubizo kirangiye, kandi imiyoboro hagati yawe na Nymbot ishobora gufunga ikoneksi itari ikora nyuma y'amasegonda 100; imodeli ikomeza kwandika kandi ibyo yanditse biragurwa, ariko igisubizo kirahomba. Ubwandikisho bwo kuremba (stream) butuma habaho ubutumwa bw'uburyo bwo gukomeza ikoneksi, bityo ikomeza kuba ifunguye igihe cyose imodeli irimo kwandika.

Iherekezo

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{"content":"A Lightning invoice"},"finish_reason":null}]}

: keep-alive

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[],"usage":{"prompt_tokens":1240,"completion_tokens":380,"total_tokens":1620,"cost":0.01895},"nymbot":{"balance":"pro","charged_credits":0.162,"charged_sats":16.2,"balance_credits":412.425,"balance_sats":41242.5}}

data: [DONE]
  • Imirongo itangira na : ibitambo bya keep-alive, bitumwa buri segonda 15 mu gihe imodeli irimo gutekereza. Abakoresha SSE baribwiriza.
  • Saba "stream_options": {"include_usage": true} kugira ngo ubone igice cyasigaye hejuru, icyo ari cyo cyaba ari ubusa choices, ingano y'amagambo (tokens), igiciro n'ibindi nymbot igikoresho
  • Ikiguzi kishyurwa nyuma y'uko imyanya y'amajwi (stream) irangiye. Niba uhaze umubano kare, imodeli ntihagarara: Nymbot isoma ibindi bishobora kuba biri gutanga, kugeza iminota 25, kugira ngo ibone umubare w'amagambo (token count), maze ukishyura ibyo ubufatanye (provider) butangaje. Utayoboye uwo mubare, ikiguzi kigaterwa ibyo wanditse n'ibyo wahaye, ndetse n'urubuga rwose rw'ibyo imodeli ishobora gusohora mu gihe irimo gusesengura.
  • Ikosa mbere y'igice cya mbere, nk'uko biba: 401 cyangwa 402, biza kuva nk' JSON isanzwe irimo code y'imiterere yayo, si nk'amashusho (stream). Ikosa rishobora kuza nyuma y'uko stream yatangiye rikaza nk'ikubita rya nyuma data: {"error": {…}} ibyerekeye ibirori, hanyuma imyanya y'itumanaho ikavamo nta ntege kuzongera [DONE].
  • Ibisabwa bifite ibikoresho, ndetse n'amodeling kuri OpenAI's Responses transport, ntibitanga amakuru mu buryo bw'imigendekere (stream) ku rwego rw'uwabigize. Nyamara bagikomeza gusubiza binyuze mu miterere y'imigendekere (stream) ifite agaciro, itangwa iyo igisubizo cyuzuye.

cURL

curl -N https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nymbot/auto",
    "stream": true,
    "stream_options": {"include_usage": true},
    "messages": [{"role": "user", "content": "Write a haiku about sats."}]
  }'

Python

import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

stream = client.chat.completions.create(
    model="nymbot/auto",
    stream=True,
    stream_options={"include_usage": True},
    messages=[{"role": "user", "content": "Write a haiku about sats."}],
)
for chunk in stream:
    if chunk.choices:
        print(chunk.choices[0].delta.content or "", end="", flush=True)
    elif chunk.usage:
        print("\ncost:", chunk.usage.cost)

JavaScript

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const stream = await client.chat.completions.create({
  model: "nymbot/auto",
  stream: true,
  stream_options: { include_usage: true },
  messages: [{ role: "user", content: "Write a haiku about sats." }],
});
for await (const chunk of stream) {
  if (chunk.choices.length) process.stdout.write(chunk.choices[0].delta.content || "");
  else if (chunk.usage) console.log("\ncost:", chunk.usage.cost);
}

Gukoresha ibikoresho

Sobanura imikorere muri tools kandi imodeli ishobora gusaba ko hari uwayitambika aho gusubiza. Urirangiza imikorere yayo, ugashyira umusaruro wayo nk' tool ubutumwa buri n’ubundi bumwe na bwo tool_call_id, hanyuma ugaruye ikiganiro. Nymbot ntigena imikorere ya functions zawe; ihindurira ubusabe bwa model uwo ari we.

tool_choice afata "auto", "none", "required" cyangwa {"type": "function", "function": {"name": "…"}}. Urutonde rw'imimodeli rugaragaza imimodeli ishobora gukoresha ibikoresho (capabilities.tools). Ibikoresho biratwarwa n' 400 unsupported_tool ku nymbot/auto kandi kuri модели nshingiro nkeya zikoresha OpenAI's Responses transport, aho Nymbot itashobora kohereza ibikoresho (tools) kuri zo.

Na "stream": true, ubusabe bufite ibikoresho bukorana mu gice kimwe, hanyuma bukoherezwa nk'urukurikirane rw'ibice (chunks) busanzwe: icyegerezo (role), igice kimwe kigizwe n'ubutumwa bw'ikoresho (tool call) bwose bukubiyemo index, id, izina n'ibyo bimusaba (arguments), n'igice cyo gusoza. Abakiriya (clients) basoma uburyo ibikoresho bikoreshwa mu buryo bw'imiyoboro (streamed tool calls) babikora nk'uko bisanzwe.

Igisubizo, mu gice

"choices": [
  {
    "index": 0,
    "message": {
      "role": "assistant",
      "content": null,
      "tool_calls": [
        {
          "id": "call_7d2e",
          "type": "function",
          "function": { "name": "get_invoice_status", "arguments": "{\"invoice_id\":\"a41f\"}" }
        }
      ]
    },
    "finish_reason": "tool_calls"
  }
]

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "messages": [{"role": "user", "content": "Has invoice a41f been paid?"}],
    "tools": [{
      "type": "function",
      "function": {
        "name": "get_invoice_status",
        "description": "Look up whether an invoice is paid.",
        "parameters": {
          "type": "object",
          "properties": {"invoice_id": {"type": "string"}},
          "required": ["invoice_id"]
        }
      }
    }]
  }'

Python

import json, os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

tools = [{
    "type": "function",
    "function": {
        "name": "get_invoice_status",
        "description": "Look up whether an invoice is paid.",
        "parameters": {
            "type": "object",
            "properties": {"invoice_id": {"type": "string"}},
            "required": ["invoice_id"],
        },
    },
}]
messages = [{"role": "user", "content": "Has invoice a41f been paid?"}]

reply = client.chat.completions.create(model="anthropic/claude-sonnet-5", messages=messages, tools=tools)
call = reply.choices[0].message.tool_calls[0]
args = json.loads(call.function.arguments)

messages.append(reply.choices[0].message)
messages.append({"role": "tool", "tool_call_id": call.id, "content": json.dumps({"paid": True})})

final = client.chat.completions.create(model="anthropic/claude-sonnet-5", messages=messages, tools=tools)
print(final.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 tools = [{
  type: "function",
  function: {
    name: "get_invoice_status",
    description: "Look up whether an invoice is paid.",
    parameters: {
      type: "object",
      properties: { invoice_id: { type: "string" } },
      required: ["invoice_id"],
    },
  },
}];
const messages = [{ role: "user", content: "Has invoice a41f been paid?" }];

const reply = await client.chat.completions.create({ model: "anthropic/claude-sonnet-5", messages, tools });
const call = reply.choices[0].message.tool_calls[0];
const args = JSON.parse(call.function.arguments);

messages.push(reply.choices[0].message);
messages.push({ role: "tool", tool_call_id: call.id, content: JSON.stringify({ paid: true }) });

const final = await client.chat.completions.create({ model: "anthropic/claude-sonnet-5", messages, tools });
console.log(final.choices[0].message.content);

Amafoto mu gusaba

Imodeli zifite capabilities.vision bishobora gusoma amafoto. Ongera... image_url igice cy'ubutumwa bw'umukoresha, haba mu rwego rw'abantu bose https:// urusobe cyangwa a data:image/…;base64, URL. Amafoto kugeza kuri 20 kuri buri gusaba. Amafoto ya SVG aramburwa, ndetse n'isano iri kuri 4,096 ferasente cyangwa iyifite izina ry'umukoresha cyangwa ijambo ry'ibanga (400 invalid_image_url). Icyifuzo detail ni auto, low cyangwa high.

Na nymbot/auto, ubusabe burimo ifoto ruriwe ku mishinga isanzwe ishobora kubona. Imishinga ya katalog itari yo capabilities.vision aranka amafoto arimo 400 unsupported_contentIfoto zishobora kuba mu butumwa bw'umukoresha gusa. A link igomba kwerekeza kuri host isobanutse; Nymbot ihindurira ifoto ku mukozi w'icyiciro cy'imitekerereze (model's provider) kandi ntayigumana.

Ifoto ishakiwe nk'amakuru y'imiterere (input tokens) umuhejwe amakuru (provider) aterera, nk'uko abandi makuru y'ubusabe akorerwa.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "What is in this picture?"},
        {"type": "image_url", "image_url": {"url": "https://example.com/receipt.jpg"}}
      ]
    }]
  }'

Python

import base64, os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

with open("receipt.jpg", "rb") as f:
    data_url = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()

reply = client.chat.completions.create(
    model="anthropic/claude-sonnet-5",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "What is in this picture?"},
            {"type": "image_url", "image_url": {"url": data_url}},
        ],
    }],
)
print(reply.choices[0].message.content)

JavaScript

import { readFile } from "node:fs/promises";
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const dataUrl = "data:image/jpeg;base64," + (await readFile("receipt.jpg")).toString("base64");

const reply = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5",
  messages: [{
    role: "user",
    content: [
      { type: "text", text: "What is in this picture?" },
      { type: "image_url", image_url: { url: dataUrl } },
    ],
  }],
});
console.log(reply.choices[0].message.content);

Gushaka imyumvire

Imodeli zifite capabilities.reasoning bashobora gutekereza mbere yo gusubiza. Basaba byinshi cyangwa bike kuri yo hamwe na reasoning_effort ("minimal", "low", "medium" cyangwa "high") cyangwa "reasoning": {"effort": "high"}, cyangwa ongera :thinking ku izina ry'imodeli, bishatse kuvuga imbaraga nyinshi. Ku modeli itagira ubushobozi bwo gutekereza, ibyo biteganyijwe ntibitwarwa imbere. Na nymbot/auto, :thinking yohereza ubusabe kuri rwa rwego rw'ubwenge rwasanzwe.

Ku miterere ya Anthropic, imbaraga zigera ku bwego bwo kubitekerezaho busa na 1,000, 2,000, 8,000 cyangwa 16,000 tokens, idigera ku birenze max_tokens byemera. Gutekereza birahagarara igihe tool_choice bituma igikoresho gikoreshwa, kandi iyo ubusabe bukomeje uruziga rw'igikoresho (ubutumwa bwawo bwa nyuma ni umusaruro w'igikoresho), kubera ko Anthropic ikenera ibitekerezo byashyizeho umukono byasanzwe kugira ngo byongere kubikomeza. Ibi na byo bishyirwa mu bikorwa kuri Responses na Messages endpoints.

Imyumvire igaruka muri message.reasoning_content, cyangwa delta.reasoning_content iyo uri ku streaming, ntibigomba guhuzwa n'igisubizo. Reasoning ni umusaruro kandi bishyurwa nk'ubwo, imbere completion_tokensRimwe na rimwe abatanga serivisi ntibashubije inyandiko y'ifuza, ariko bikaba bikaba bikagurwa.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "reasoning_effort": "high",
    "messages": [{"role": "user", "content": "Is 2^61 - 1 prime? Show why."}]
  }'

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="anthropic/claude-sonnet-5",
    reasoning_effort="high",
    messages=[{"role": "user", "content": "Is 2^61 - 1 prime? Show why."}],
)
message = reply.choices[0].message
print(getattr(message, "reasoning_content", None))
print(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: "anthropic/claude-sonnet-5",
  reasoning_effort: "high",
  messages: [{ role: "user", content: "Is 2^61 - 1 prime? Show why." }],
});
console.log(reply.choices[0].message.reasoning_content);
console.log(reply.choices[0].message.content);

Inyongezo z'ibice by'icyiciro

Inyongeragambo ku izina ry'imodeli ihindura uburyo ubusabe bwakorerwa, hatabayeho ikindi kigero. Zikora ku mibare yuzuye n'amazina magufi mu buryo bumwe, nk'uko bimeze muri anthropic/claude-sonnet-5:online.

UmubajimiroIngaruka
:onlineArashakisha kuri internet mbere, nk'uko plugins: [{"id": "web"}]Reba urushakashaka kuri interineti.
:thinkingUmuryozybuhembwe mwinshi; kuri nymbot/auto, inzira yo gutekereza. Ku muryango utabasha gutekereza, 400 model_not_found na “nta madosi yakunze kuzwi”.
:nitro, :floor, :exacto, :extendedYemewe kandi ntiyitwarweho. Buri moko w'ibitabo (catalog model) ufite inzira imwe, bityo ntihari indi yihuta, iba igura bike cyangwa ndende yo guhitamo; ibikoresho byo ku mpera (suffixes) zirayoborwa kugira ngo amazina y'imiko yakozwe ku yindi serivisi akomeze akora.

Umushyondo wundi wose ubanwa. Izina ryose rigeragezwa mbere, bityo igisubizo cy'imashini (model) igira idirondoshye biba bikora; iyo ibyo bitagenze, imishyo (suffixes) ikurwa ku mpera rimwe ku rimwe kugeza igihe imashini ihuye n'iryo zina. Izina ry'imashini rishobora kuba rifite imirongo 200 kugeza kuri suffixes 4; iriremereye na ryo ririndwa na 400 invalid_value.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5:thinking",
    "messages": [{"role": "user", "content": "Plan a three-day trip to Lisbon."}]
  }'

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="anthropic/claude-sonnet-5:thinking",
    messages=[{"role": "user", "content": "Plan a three-day trip to Lisbon."}],
)
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: "anthropic/claude-sonnet-5:thinking",
  messages: [{ role: "user", content: "Plan a three-day trip to Lisbon." }],
});
console.log(reply.choices[0].message.content);

Buri mategura ya chat ashobora gusubiza akoresheje imbuga za interineti ziriho. Nymbot ishakisha ubutumwa bwa nyuma bw'umukoresha (ibice bya mbere 2,000), isoma amapaji meza kandi ayaha mategura akaba ari kumwe n'icyibazo, iyashyira mu rwego rwo kugaragaza ko ari amakuru atari amabwiriza umutegura agomba gukurikiza. Hari uburyo bubiri:

  • Shaka buri gihe: "plugins": [{"id": "web", "max_results": 5}], cyangwa a :online inyongeragaciro ku miterere y'icyo kintu.
  • Shaka igihe biteye kuko bivuze ko bifasha: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}], kandi yakwemewe nka web_search_preview cyangwa openrouter:web_search. Nymbot shaka gusa igihe ikibazo kigaragaza ko gikenera amakuru ya none, igerageza nk'icyo uburyo (app) bukoresha.

max_results ni 5 mu buryo bw'imibanire kandi ni 10 atari byo. Inkomoko zigaruka muri nymbot.web_search.sources, buri rimwe rifite title, snippet na url, kandi nk'uko url_citation ibimenyetso ku butumwa.

Ubushakashatsi bwose bukora burahenze $0.008, buhinduwe mu sats, kuza kurenga ku ntekerezo (tokens), kandi ni igice cy'ibyo hafite. Amapaji yasomye na yo ni intekerezo zinput, bityo igisubizo ku mbuga nkoranyambaga kurahenze kurusha ikibazo kimwe kibajijwe nta bushakashatsi, rimwe na rimwe kurahenza inshuro nyinshi.

Igisubizo, mu gice

"nymbot": {
  "balance": "pro",
  "charged_credits": 0.431,
  "charged_sats": 43.1,
  "balance_credits": 411.994,
  "balance_sats": 41199.4,
  "web_search": {
    "sources": [
      { "title": "Lightning Network - Wikipedia", "snippet": "The Lightning Network is a payment protocol...", "url": "https://en.wikipedia.org/wiki/Lightning_Network" }
    ]
  }
}

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "plugins": [{"id": "web", "max_results": 5}],
    "messages": [{"role": "user", "content": "What changed in the latest Bitcoin Core release?"}]
  }'

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="anthropic/claude-sonnet-5",
    messages=[{"role": "user", "content": "What changed in the latest Bitcoin Core release?"}],
    extra_body={"plugins": [{"id": "web", "max_results": 5}]},
)
print(reply.choices[0].message.content)
for source in reply.model_extra["nymbot"]["web_search"]["sources"]:
    print(source["url"])

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: "anthropic/claude-sonnet-5",
  plugins: [{ id: "web", max_results: 5 }],
  messages: [{ role: "user", content: "What changed in the latest Bitcoin Core release?" }],
});
console.log(reply.choices[0].message.content);
for (const source of reply.nymbot.web_search.sources) console.log(source.url);

API z'Ibisubizo

Imiterere nshya ya OpenAI, ikoreshwa na OpenAI Agents SDK na Codex. Ikora ku mishinga (models), ibiciro n'ibikorwa nk'ibyo bikoreshwa muri Chat Completions.

POST https://nymbot.ai/api/v1/responses — ikenera urufunguzo rwa API.

UruhandeAndikaBisabwaIbisobanuro
modelumushyikiranoYegoKu bijyanye na Kuzuza ibiganiro, harimo n'inyongeragambo.
inputstring cyangwa arrayYegoIhitamo rya interuro, cyangwa urutonde rw'ibintu: ubutumwa (inshingano user, assistant, system, developer) na input_text, input_image na output_text ibice, na function_call na function_call_output ibikoresho by'imirimo. input_image iyifatanya na image_url ihuriro cyangwa URL ya data, si id ya dosiye. reasoning na web_search_call ibintu byakuswe; item_reference byakorewe imyanzuro yo kuyirinda.
instructionsumushyikiranoOyaAmabwiriza ya sisitemu.
max_output_tokensintegereOyaIbitoniko byinshi kurusha ibindi kwandika.
temperature
top_p
imibareOyaImiyoborere y'uburyo bwo gufata ibice, aho imodeli ibitwara.
tools
tool_choice
parallel_tool_calls
array, string cyangwa object, booleanOyaIbikoresho bya funkshoni, mu imiterere y'Ibisubizo ({"type": "function", "name": …, "parameters": …}). A web_search cyangwa web_search_preview igikoresho kiyakira urushakashaka kuri interineti iyo bifashije. Ibindi bikoresho byashyizwe imbere biraganwa.
reasoningikintuOya{"effort": "minimal" | "low" | "medium" | "high"}. xhigh na max bisobanura high; none bicyesha.
text.format
response_format
ikintuOyaIbizamini byateguwe, nk'aho ari JSON schema cyangwa json_object.
metadataikintuOyaHasubijwe nta nshingano nshya mu gisubizo. Inshuro nyinshi ni 16 za string values, amazina (keys) kugeza kuri 64 characters na values kugeza kuri 512.
streambooleanOyaGahyisha ibintu nk'uko bishyizwe mu gaciro hasi.
storebooleanOyaByitezwe. Nta kintu cyahifuwe, kandi igisubizo gisubiza buri gihe "store": false.
previous_response_id
conversation
background
string, object, booleanOyaNtabwo bishoboka: 400 unsupported_parameter. Ibisubizo ntibibikwa, nuko utume ikiganiro cyose mu input buri gihe.

Igisubizo

{
  "id": "resp_8c1e4b0f9a2d4e61",
  "object": "response",
  "created_at": 1790726400,
  "status": "completed",
  "model": "anthropic/claude-sonnet-5",
  "output": [
    {
      "type": "message",
      "id": "msg_2b7f",
      "role": "assistant",
      "status": "completed",
      "content": [{ "type": "output_text", "text": "A Lightning invoice is...", "annotations": [] }]
    }
  ],
  "output_text": "A Lightning invoice is...",
  "usage": {
    "input_tokens": 1240,
    "input_tokens_details": { "cached_tokens": 0 },
    "output_tokens": 380,
    "output_tokens_details": { "reasoning_tokens": 0 },
    "total_tokens": 1620
  },
  "incomplete_details": null,
  "error": null,
  "instructions": null,
  "store": false,
  "previous_response_id": null,
  "metadata": {},
  "nymbot": { "balance": "pro", "charged_credits": 0.162, "charged_sats": 16.2, "balance_credits": 412.425, "balance_sats": 41242.5 }
}

Ubusabe bw'igikoresho bwagaragaye muri output nk' function_call igikoresho kirimo call_id, name na arguments; kohereza umusaruro ugaruka nk'a function_call_output ikintu kimwe na call_id. Ubwenge, igihe modeli ibinyuranye byayo ibyerekana, ni reasoning igikoresho kirimo reasoning_text ibitandukanye, byibereye imbere. status ni incomplete igihe igisubizo cyagezeho max_output_tokens cyangwa uwatanga yanze, hamwe na incomplete_details.reason shira kuri max_output_tokens cyangwa content_filterIgisubizo kandi kigaragaza ibitekerezo by'imikorere y'ubusabe (temperature, ibikoresho, ihitamo ry'ikoresho n'ibindi) nk'uko OpenAI ibikora, kandi kigira nymbot igiciro ikintu.

Yatanzwe mu buryo bw'imiyoboro, buri ibirori ni ilyo event: umurongo na a data: urongo urimo a sequence_number, muri uru buryo: response.created, response.in_progress, response.output_item.added, response.content_part.added, umubare wose wa response.output_text.delta, response.output_text.done, response.content_part.done, response.output_item.done, kandi mu gusoza response.completed hamwe n' ukoresha n'igiciro. Igisubizo kigabanije kirangira n' response.incomplete aho, n' ifakazi nyuma y'uko isoko ryamaze gutangira na response.failed. Imiterere y'imitekerereze ikora nk'ikintu cyihariye na response.reasoning_text.delta na .done. Imihamagaro y'ibikoresho biza nyuma y'ubutumwa, buri kimwe nk'ikintu gifite response.function_call_arguments.delta na .done.

ImiterereRyari
400Oya model cyangwa input; previous_response_id, conversation, background cyangwa item_reference (unsupported_parameter); igikoresho cyangwa ubwoko bw'ibintu bitavugwa.
402, 403, 404, 429, 502, 503Ku bijyanye na Chat Completions.

cURL

curl https://nymbot.ai/api/v1/responses \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "instructions": "Answer in one short paragraph.",
    "input": "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"])

response = client.responses.create(
    model="anthropic/claude-sonnet-5",
    instructions="Answer in one short paragraph.",
    input="What is a Lightning invoice?",
)
print(response.output_text)

JavaScript

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const response = await client.responses.create({
  model: "anthropic/claude-sonnet-5",
  instructions: "Answer in one short paragraph.",
  input: "What is a Lightning invoice?",
});
console.log(response.output_text);

Ubutumwa bwa Anthropic

Imiterere ya Anthropic, ku bw' SDK za Anthropic na Claude Code. Ikora kuri buri miterere y'imashini (model) iri muri katalo, si Claude gusa: ubusabe buhindurwa, bukanyura mu nzego zimwe na zimwe, hanyuma bukongera buhindurwa.

POST https://nymbot.ai/api/v1/messages — bisaba API key, kuko x-api-key cyangwa Authorization: Bearer.

The anthropic-version na anthropic-beta utugambi twemewe kandi twirengagizwa. Amazina ya model ya Anthropic agereranywa n'ibitabo by'amazina, bityo Claude Code na SDKs bikora hakoreshejwe amazina akoresha kare:

  • Izina rizi ikatalogi, nk'uko... claude-sonnet-5 cyangwa anthropic/claude-opus-5, bikoreshwa nk'uko bimeze.
  • Hanzanye itariki (-20260514), -latest, icyatagira version nka -v1, ikimenyetso cy'isanduku nk'urugero [1m] na um- anthropic/ cyangwa anthropic. ibitangirizo birakurwa, kandi amadosi n'imikandagaro mu miterere ibyariho bigeragezwa mu buryo bwose (claude-haiku-4-5 ibishaka claude-haiku-4.5).
  • Niba bitari bihuza na busa, umuryango (Opus, Sonnet cyangwa Haiku) ukoreshwa, igihe version y'ibitabo (catalog) ari imwe cyangwa nshya kurusha iyasabwe.
  • Izina ritahura na kimwe rihinduka 404 not_found_error.
UruhandeAndikaBisabwaIbisobanuro
modelumushyikiranoYegoIdentiweti ya katalo, cyangwa izina ry'icyiciro cya Anthropic.
max_tokensintegereYegoIbitoniko byinshi kurusha ibindi kwandika.
messagesurutondeYegouser na assistant izindi, hamwe na text, image (base64 cyangwa URL isoko), tool_use na tool_result amabanga. thinking imirongo yo mu bihe byashize yemewe kandi ikirindwe.
systemstring cyangwa arrayOyaInyandiko y'itangiriro rya sisitemu, nk'inyandiko imwe cyangwa ibice by'inyandiko.
temperature
top_p
imibareOyaImiyoborere y'uburyo bwo gufata ibice, aho imodeli ibitwara. top_k yemewe kandi akagwirwa.
stop_sequencesurutonde rw'amajamboOyaInyandiko isoza igisubizo. Nibura amagambo 4, buri rimwe rifite imbuga 256 z'inyuguti.
tools
tool_choice
array, objectOyaIbikoresho bifite name, description na input_schema. A web_search igikoresho cy'iserivure kiyongera urushakashaka kuri interineti; Ibindi bikoresho bya Anthropic biri imbere (bash, text editor, computer use) biranze n' unsupported_tool. tool_choice afata auto, any, tool cyangwa none, kandi disable_parallel_tool_use.
thinkingikintuOya{"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} cyangwa {"type": "disabled"}Ingengo y'imari ihitamo urwego rw'umurimo: munsi ya 2,048 ni muto cyane, guhera kuri 2,048 ni muto, guhera kuri 8,192 ni hagati, guhera kuri 16,384 ni mwinshi. Adaptive ikoresha output_config.effort, cyangwa ari hejuru.
streambooleanOyaStream mu buryo bw'ibintu by'Anthropic.
metadataikintuOyaYakiriwe kandi ikarengagurwa.

Igisubizo

{
  "id": "msg_01c7a2f93e5b4d08",
  "type": "message",
  "role": "assistant",
  "model": "anthropic/claude-sonnet-5",
  "content": [{ "type": "text", "text": "A Lightning invoice is..." }],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 1240,
    "output_tokens": 380,
    "cache_read_input_tokens": 0,
    "cache_creation_input_tokens": 0
  },
  "nymbot": { "balance": "pro", "charged_credits": 0.162, "charged_sats": 16.2, "balance_credits": 412.425, "balance_sats": 41242.5 }
}

content bishobora no kubika tool_use amabati na umwe thinking igice, uwayo signature ni ubusa. stop_reason ni end_turn, max_tokens, tool_use cyangwa refusal, byakozwe mu buryo bumwe n'ubwo finish_reason ku Kuzuza ibiganiro; stop_sequence bihora null, ndetse no igihe uruvanganzo rw'ihagarikabanza rwagarukije igisubizo. input_tokens imibare ibintu bishya gusa; ibintu byari byarashyizwe mu ntekerezo (cache) biri mu mambere ya kabiri ya cache. Igiciro kiri muri nymbot ikintu n'icyo X-Nymbot-Cost-Sats umutwe.

Iyamamazabikorwa yose yo kuri stream, ni aya Anthropic: message_start, content_block_start, ping, content_block_delta (text_delta, input_json_delta cyangwa thinking_delta), content_block_stop, message_delta hamwe n'impamvu ituma bitamara, imikoreshereze n' iyo nymbot igiciro kigerwaho, na message_stop. A ping nahererekwa buri sekunde 15 igihe imashini ikora. Ibyiciro byo gukoresha ibikoresho biza nyuma y'inyandiko, buri kimwe nka tool_use blok ijyanye n'ibyo yahawe byose mu kuri imwe input_json_delta.

Amakosa kuri uyu endpoint akoresha imiterere ya Anthropic: {"type": "error", "error": {"type": "not_found_error", "message": "…"}}. A uburyo bugufi bwo kugira umubare w'amafaranga asigaye ni 402 billing_error, umuhemuza ufite umutwaro mwinshi 503 overloaded_errorIcyigerranyo kigahubaye nyuma y'uko imiyoboro yatangiye kwinjiza amakuru, kigahabwa isubizo nk' error igikorwa.

cURL

curl https://nymbot.ai/api/v1/messages \
  -H "x-api-key: $NYMBOT_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "What is a Lightning invoice?"}]
  }'

Python

import os
import anthropic

client = anthropic.Anthropic(base_url="https://nymbot.ai/api", api_key=os.environ["NYMBOT_API_KEY"])

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "What is a Lightning invoice?"}],
)
print(message.content[0].text)

JavaScript

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({ baseURL: "https://nymbot.ai/api", apiKey: process.env.NYMBOT_API_KEY });

const message = await client.messages.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "What is a Lightning invoice?" }],
});
console.log(message.content[0].text);

Kubara amagambo (tokens)

Icyerekezo cy'ingana y'amagambo (input tokens) ubutumwa (Messages request) bwaba bukoresha, kugira ngo umukiriya ashobore kubisuzuma mbere yo kubitumira. Ni ubuntu, ariko bikenera urufunguzo.

POST https://nymbot.ai/api/v1/messages/count_tokens — bisaba API key. Ku buntu.

Umubiri ni uwo kuri Ubutumwa, nta max_tokens; izina ry'icyiciro (model) rigomba kwemezwa. Inomero ni isuzuma: imyandikire y'ubutumwa bw'urubuga (system prompt), ubutumwa, uburyo bwo guhamagara ibikoresho (tool calls) n'ibisobanuro by'ibikoresho (tool definitions) igabanyijwe na kane, hanyuma hagashyirwamo 1,600 kuri buri ifoto. Si uburyo bw'ubushakashatsi (tokenizer) bw'uwabigize, bityo inomero y'ukuri ishobora guhinduka. Ikanya (key) yageze ku mupaka ishobora gukomeza gukoreshwa.

Igisubizo

{ "input_tokens": 318 }

cURL

curl https://nymbot.ai/api/v1/messages/count_tokens \
  -H "x-api-key: $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "What is a Lightning invoice?"}]
  }'

Python

import os
import anthropic

client = anthropic.Anthropic(base_url="https://nymbot.ai/api", api_key=os.environ["NYMBOT_API_KEY"])

count = client.messages.count_tokens(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "What is a Lightning invoice?"}],
)
print(count.input_tokens)

JavaScript

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({ baseURL: "https://nymbot.ai/api", apiKey: process.env.NYMBOT_API_KEY });

const count = await client.messages.countTokens({
  model: "claude-sonnet-5",
  messages: [{ role: "user", content: "What is a Lightning invoice?" }],
});
console.log(count.input_tokens);

Kugaragaza amamodeli

Buri moko n'ibyaremereza API ikira, hamwe n'ibiciro byabyo. Urutonde rusomwa mu ikatalo ririho ruri mu gihe nyacyo nk'iry'iyerekanirwa n'uburyo bwo guhitamo mu kintu gikoreshwa (app), bityo buri gihe biba ibyo serivure izakoresha.

GET https://nymbot.ai/api/v1/models — nta kintu gikenewe. Bikozwe mu ntekerezo mu minota itanu.

GET /api/v1/models/{id} gusubiza inyandiko imwe.

UruhandeAndikaBisabwaIbisobanuro
typestring (ubushakashatsi)Oyachat (uburyo busanzwe), image, video, audio, embedding cyangwa all. Hashobora gutangwa izindi, nk'uko image,video.

Ibiciro ni ibyo wishyura, birimo n'agaciro k'ubuhinzi n'inyungu, mu madolari n'amaguru ya Bitcoin (sats) hashingi igiciro cya Bitcoin kigezweho. balance vuga ko ari ubuhe bucuruzi model ikoresha. nymbot_key ese izina ry'akajambo k'icyiciro kiri muri porogaramu. created buri gihe 0, kubera ko ikatalo ritandika igihe icyiciro cyashyizweho. Icyiciro kitagira amagiciro y'uburyo bwo kwishyura (token rates) cyanditswe per_request Ahubwo.

nymbot/auto buri gihe bwa mbere, bishyurwa nk' variable, hamwe na routes urutonde rugaragaza ibiciro bya buri nzira isanzwe. Rugaragaza ubumenyi bwo kubona no gutekereza, ariko ntibugaragaze ibikoresho.

GET /api/v1/models/{id} yakira amazina n'amazina y'izina nk'ayo usaba, kandi akagarura imbonezamubano y'icyiciro bigarukira.

Igisubizo

{
  "object": "list",
  "data": [
    {
      "id": "anthropic/claude-sonnet-5",
      "object": "model",
      "type": "chat",
      "owned_by": "anthropic",
      "name": "Claude Sonnet 5",
      "created": 0,
      "context_length": 1000000,
      "max_output_tokens": 64000,
      "architecture": { "input_modalities": ["text", "image"], "output_modalities": ["text"] },
      "supported_parameters": ["max_tokens", "temperature", "tools", "tool_choice", "reasoning", "response_format", "stop"],
      "capabilities": { "vision": true, "video": false, "tools": true, "reasoning": true, "web_search": true },
      "balance": "pro",
      "pricing": {
        "type": "per_token",
        "currency": "USD",
        "input_per_1M_tokens": 4.725,
        "output_per_1M_tokens": 23.625,
        "cache_read_per_1M_tokens": 0.4725,
        "sats_input_per_1M_tokens": 4038,
        "sats_output_per_1M_tokens": 20192
      },
      "description": "...",
      "nymbot_key": "claude-sonnet"
    }
  ]
}

Ubundi bwoko:

  • Ishusho inyandiko zirimo capabilities (accepts_image_url, requires_image_url, edit) na igiciro per_generation.
  • Video inyandiko zirimo max_duration_seconds na resolutions, na igiciro per_second kuri buri miterere y'amashusho.
  • Ijwi inyandiko zirimo audio_type speech cyangwa transcription, igiciro per_1k_chars cyangwa per_minute.
  • Ihuriro inyandiko zirimo dimensions, context_length, max_inputs n'igiciro kuri miliyoni imwe y'amajambo akoreshejwe (input tokens).

Ibiciro byerekanywe "estimated": true ni ibitekerezo by'urubuga ku bijyanye n'imashini y'amashanyarazi (generator) igiciro cayayo kitarashyizweho. Icyitwa kitamennye type gusubizwa 400.

cURL

curl "https://nymbot.ai/api/v1/models?type=chat"

Python

import requests

models = requests.get("https://nymbot.ai/api/v1/models", params={"type": "chat"}).json()["data"]
for m in models:
    print(m["id"], m["balance"], m["pricing"].get("input_per_1M_tokens"))

JavaScript

const res = await fetch("https://nymbot.ai/api/v1/models?type=chat");
const { data } = await res.json();
for (const m of data) console.log(m.id, m.balance, m.pricing.input_per_1M_tokens);