Okubelelwe elwazini Iimveliso
I-Chat, Imibuzo kunye ne-Messages
Iintlobo ezintathu ukufumana iimodeli into, kwiintlobo ezintathu iinkcukacha kubathengi ziye zixazulule, zonke ziye zithunyelwa kwiimodeli efanayo kwaye zithunyelwe ngexesha elifanayo.
Eli phepha liguqulelwe ngoomatshini ukuze kube lula. Uqobo lwesiNgesi yinguqulelo esebenzayo.
Ukugqibela Chat
I-OpenAI i-chat format, kunye neyile enokuxhomekeke kwi-tool. Send the conversation so far and get the next message back.
POST https://nymbot.ai/api/v1/chat/completions - kufuneka i-API key.
Ukucinga model kwaye messages A sampling parameter the chosen model does not take is dropped without an error, ngoko umzimba isicelo isebenza kwiimodeli. I-model list inikeza imodeli yeenkcukacha supported_parametersYintoni i-refused kunokuba i-drop-down iyiphi na ingxaki ye-model: iifoto ye-model eyenza, izixhobo ze-model eyenza ukufumana.
| Ukucaciswa | Uhlobo | Ukucinga | Ukucaciswa |
|---|---|---|---|
model | Ukucinga | Ewe | nymbot/auto (Ukuba auto) ukusuka kwi-Nymbot kwi-standard balance, okanye i-catalogue model id efana ne-Nymbot anthropic/claude-sonnet-5 kwi-Balance Pro. Iimpawu ezincinane kunye ne-aliases ze-app ziye ziye ziye ziye ziye ziye ziye ziye ziye ziye ziye ziye ziye ziye ziye ziye ziye zibe Ukucinga. |
messages | Ukucinga | Ewe | Iingxoxo. Iingxoxo system, developer (Setyenziswa njenge System), user, assistant kwaye toolI-Content yi-string okanye i-list of text kwaye image_url iindawo; iifoto kuphela kwiingxelo ze-user. input_audio iifayile iifayile iifayile zeefayile. |
stream | Ukucinga | Ngaba | Thumela impendulo njengoko ilaphi. Shiya Ukucinga. |
stream_options | Ukucinga | Ngaba | {"include_usage": true} inikeza ingxubevange lokugqibela kunye ne-token count kunye ne-cost. |
max_tokensmax_completion_tokens | Ukucinga | Ngaba | I-Token ezininzi yokubhaliweyo. Ukunciphisa kwi-maximum ye-model ukuba aphezulu. Kwakhona ibekwe i-mali esithathwe kwi-balance yakho, ngoko inani elincinci kufuneka i-credit engaphansi ekuqaleni. |
temperaturetop_p | Inombolo | Ngaba | Ukulawula isampula: temperature ukusuka 0 ukuya 2 top_p ukusuka 0 ukuya 1. |
stop | String okanye array | Ngaba | Umxholo owodwa: umnxeba okanye ubuninzi we-4 umnxeba, ngalinye ubuninzi we-256 amaxabiso. Amasetyenziswa nymbot/auto. |
seed | Ukucinga | Ngaba | Ukusetyenziswa kwama-sampling, apho i-model ibonelela. |
presence_penaltyfrequency_penalty | Inombolo | Ngaba | Iingcingo ze-repetition, zonke kwi-2 ukuya kwi-2. |
response_format | Ukucinga | Ngaba | {"type": "json_object"} okanye {"type": "json_schema", "json_schema": {…}}, apho imodeli ibonelela. Akukho kusetyenziswa nymbot/auto. |
toolstool_choiceparallel_tool_calls | i-array, i-string okanye i-object, boolean | Ngaba | Function yokuzonwabisa. See Izixhobo Callsi-A web_search Izixhobo zihlala Ukucinga web. Kwakhona 128 izixhobo kunye 512 KB imibuzo, zihlanganisa kwakhona 64 amazinga ububanzi; ngaphezulu 400. |
reasoning_effortreasoning | umnxeba, umnxeba | Ngaba | "minimal", "low", "medium" okanye "high"okanye {"effort": "high"}. "none" okanye {"enabled": false} Ukusuka kwakhona. See Ukucinga. |
plugins | Ukucinga | Ngaba | [{"id": "web", "max_results": 5}] Zonke iziphumo ziquka kwi-web yokuqala. Up to 10 results. |
n | Ukucinga | Ngaba | I-1 kuphela: Yonke into eyahlukileyo 400. |
logit_biasusermetadata | Object, String, Isixhobo | Ngaba | Ukusetyenziswa kunye nokulandwa. logit_bias iinkcukacha kwi 300 ids token ukuya kwinombolo -100 ukuya ku-100; user ubungakanani obungaphezulu kwe-256 iimpawu; metadata inqaku ukuya ku-16 iingxaki, iingxaki ukuya ku-64 iingxaki kunye neengxaki ukuya ku-512. |
Ukusabela ngokuvamile chat.completionNgexabiso kwi usage.cost
(kwimali) kwaye kwi nymbot Iimpawu model umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo message.reasoning_contentUkusuka ukusuka ku-response.
Qhagamshelana
{
"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 Ukusetyenziswa kwimveliso, njengoko abaphakeli zithunyelwe ngokufanayo: tool_calls Xa umzila wabhala izixhobo, length Xa isibuyekezo usebenzisa zonke i-token efunyenwe (okanye i-model usetyenzise zonke iingxaki kwaye ayifunda isibuyekezo), content_filter Xa umncedisi waya, kwaye stop
Ngaphandle usage.completion_tokens_details.reasoning_tokens i-always is 0: i-token ye-reasoning ebonakalayo ibekwe, kwaye ibekwe, completion_tokens.
| Umgangatho | Ngaba |
|---|---|
400 | Ngaba model okanye messages (missing_required_parameter); i-audio okanye ifayile i-part, okanye iifoto ye-model enokukwazi ukubona (unsupported_content); ngaphezu kwe-20 iifoto (too_many_images); i-sampling i-parameter ye-type efanelekileyo okanye ngaphandle kwe-range (invalid_value); umfanekiso okuzenzakalelayo okuzenzakalelayo (invalid_image_url); izixhobo kwi-model okuyinto ayikho (unsupported_tool); n Ngaphandle kwe-1; A :thinking I-Supplement on a Model That Can't Realize (model_not_found); okanye umthengisi wafumana isicelo (upstream_rejected). |
402 | I-Balance eyenziwa kwimodeli ayikwazi ukufumana i-hold. |
403 | Ixesha lokugqibela (key_limit_reached(Imininingwane ezantsi) max_tokens okanye ukwandisa i-cap. |
404 | (Khona isibonelo esithile esithile)model_not_found). |
429 | I-key's rate limit, okanye i-provider's (upstream_rate_limited). |
502, 503 | Umthengisi wahlala (upstream_error) okanye i-overload (upstream_overloadedUkutya Retry-After). Akukho ingxelo ngaphandle kwe-provider ifayile ngenxa yokusabela. |
I-state codes zonke i-endpoint shares ziquka phantsi Ukucinga.
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);
Ukucinga
Ukucinga "stream": true Ukusabela umxokozelo umxokozelo umxokozelo umxokozelo umxokozelo umxokozelo umxokozelo umxokozelo umxokozelo umxokozelo umxokozelo umxokozelo chat.completion.chunk i-A data: line, kwaye umlilo ukugcina nge data: [DONE]I-Reasoning ifumaneka ku
delta.reasoning_contentUkusabela kwi delta.content.
Stream into engaphezulu kweeminyaka engaphezulu kwe-100 iiveki, njenge-response elide,
max_tokens okanye iimodeli yokuzonwabisa. Isicelo esithathwa ayithumela engaphi ngexesha lokuphendula impendulo, kwaye inethiwekhi phakathi kwakhona kunye neNymbot inokugqiba ukuxhumanisa ukuxhumanisa emva kweeyure ezili-100; iimodeli ibekwe kwaye into esithathwe ibekwe, kodwa impendulo ibekwe. Iimodeli ibekwe i-ke-ke-alive, ngoko ibekwe ebekwe ngexesha elide xa iimodeli ibekwe.
Ukucinga
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]
- Iinkcukacha ezidlulileyo nge
:iingcebiso ze-ke-ke-living, zithunyelwa ngexesha le-15 ngexesha xa i-model isithembisa. Iingcebiso ze-SSE zihlale. - Nceda
"stream_options": {"include_usage": true}ukufumana i-ultimate chunk phezulu, kunye ne-emptychoices, i-token ibala, i-cost kunye ne-nymbotIimpawu - I-charge ifumaneka emva kokugqiba kwe-stream. Ukuba uqhagamshelane ngexesha elandelayo, i-model ayizange: I-Nymbot ibonisa i-stream ye-providers, ngexesha elide ka-25 iiveki, ukuze ufumane i-token count yayo, kwaye uxokelela ukuba i-providers ibhalisele. Ngaphandle kwakhona, i-charge ibhaliswe kwi-input yakho kunye ne-written, kunye ne-output allowance epheleleyo ye-model yaye izizathu.
- I-error phambi kwe-chunk yokuqala, njenge
401okanye402, kuza njenge-JSON epheleleyo kunye ne-status code yayo, ayikho njenge-stream. I-error emva kokufumana i-stream ifumaneka njenge-stream epheleleyodata: {"error": {…}}umdla, kwaye umdla ivuliwe ngaphandle[DONE]. - Iingcebiso kunye nezixhobo, kunye neengcebiso kwi-OpenAI's Responses transport, ayinxalenye kwi-providers. Zizibophelela kunye ne-flow efanelekileyo, ziye zithunyelwa emva kokuphumelela.
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);
}
Izixhobo Calls
Ukubonisa umsebenzi kwi tools kwaye imodeli inokufuneka ukuba omnye uqhagamshelane ngaphandle kokufumana. Uqhagamshelane ne-function, ukongeza imiphumo yayo njenge tool Umxholo we-Same
tool_call_idI-Nymbot ayikwazi ukuqhuba i-functions yakho; inikeza i-request ye-model kwakhona kwakhona.
tool_choice Ukucinga "auto", "none",
"required" okanye {"type": "function", "function": {"name": "…"}}. I-model list ibonisa ukuba iimodeli ziquka izixhobo (capabilities.tools) Izixhobo ziquka 400 unsupported_tool Yintoni nymbot/auto kwaye kwiimodeli ezincinane ze-catalog ezisebenza kwi-OpenAI's Responses transport, apho i-Nymbot ayikwazi ukuxhaswa izixhobo.
Ukucinga "stream": true, i-request kunye ne-tools ifumaneka kwi-piece eyodwa kwaye ifumaneka njenge-chunk yesikhathi esemgangathweni: i-roll, i-chunk enikeza zonke i-tool call kunye ne-index, i-id, i-name kunye ne-arguments, kunye ne-finish chunk.
Ukusabela, ingxenye
"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);
Iifoto kwi-request
Imodeli kunye capabilities.vision Uyakwazi ukuyifaka iifoto. Add a image_url
umxholo we-user, kunye ne-public https:// link okanye a
data:image/…;base64, I-URL. I-up to 20 images per request. Iifoto ze-SVG ziquka, ngoko ke i-link engaphezulu kwe-4.096 iimpawu okanye i-imeyile ye-username okanye i-password (400 invalid_image_urlI-Optional I-Optional detail Yintoni
auto, low okanye high.
Ukucinga nymbot/auto, i-request kunye ne-picture kufuneka ifakwe kwimodeli ye-standard enokufumana. I-catalogue model ngaphandle capabilities.vision Ukukhusela iifoto kunye
400 unsupported_content. Iifoto kunokwenzeka kuphela kwiingxelo ze-user. I-link kufuneka ibonise kwi-host ye-publish; i-Nymbot ibonise i-image kwi-provider ye-model yaye akuyona.
I-image ifayilishwe njengoko i-token ye-input ye-provider ibekwe, njenge-resume ye-request.
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);
Ukucinga
Imodeli kunye capabilities.reasoning Uyakwazi ukufikelela ngaphambi kokufumana. Qhagamshelana ngexesha elide okanye elide reasoning_effort ("minimal", "low",
"medium" okanye "high"(i) okanye "reasoning": {"effort": "high"}, okanye Ukongeza :thinking umnxeba umnxeba umnxeba, nto leyo inokuthi umnxeba kakhulu. Kwi-model ngaphandle kokucinga, ukucaciswa kubhalwe. Nge nymbot/auto, :thinking inikeza isicelo kwi-route ye-reasoning ye-standard.
Kwiimodeli ye-Anthropic, isixeko se-think ye-1000, i-2000, i-8000 okanye i-16000 tokens, ayikho ngaphezu kwe-1000. max_tokens ukufikelela. Ukufikelela kunokwenzeka xa
tool_choice umnikelo umnikelo, kwaye xa umnikelo uqhubeka umnikelo umnikelo (umnikelo wayo lokugqibela yi umnikelo umnikelo), ngenxa Anthropic kufuneka umnikelo wabanjwa ngexesha elandelayo ukuqalisa. Yinto efanayo kusebenza kwi-Response kunye ne-Messages endpoints.
Iingxaki ziye ziye ziye kwakhona message.reasoning_contentokanye
delta.reasoning_content Xa uqhagamshelane, akukwazi ukuxhaswa kwi-response. I-Reasoning yi-output kwaye ifakwe njenge-output, ngaphakathi completion_tokensIinkonzo ezininzi ziyavumela i-texto yokuzonwabisa nangona, kwaye ibhaliswe.
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);
Iimveliso ze-Suffixes
I-Suffix ye-model name ikuguqula indlela yokusebenza kwe-request, ngaphandle kwexesha elinye. Zisebenza kwi-id epheleleyo kunye neentsimbi ezincinane, njengoko ku anthropic/claude-sonnet-5:online.
| Ukucinga | Ukusabela |
|---|---|
:online | Ukucinga kwi-web yokuqala, njenge plugins: [{"id": "web"}]Molo Ukucinga web. |
:thinking | Ukucaciswa okuphambili; on nymbot/auto, umzila wokufunda. Ngokuqhelekanga umzila, 400 model_not_found kunye “no endpoints found”. |
:nitro, :floor, :exacto, :extended | Zonke iimveliso ye-catalogue iye yindlela eyodwa, ngoko akukho iindlela ezininzi, ezininzi okanye ezininzi yokukhetha; iimveliso ezidlulileyo zithunyelwe ukuze iimveliso zeemveliso ezivela kwiinkonzo ezininzi ziyafumaneka. |
Zonke i-suffix eyayithintwa. I-name epheleleyo ifumaneka kuqala, ngoko i-model eyona i-id efanelekileyo ibandakanya i-colon ibandakanya; ngaphandle kokuba, i-suffixes zithunyelwe ekugqibeleni enye ngexesha ngexesha xa i-model ibandakanya. Umnxeba we-model ingaba ngexabiso engaphezulu kwe-200 ngexabiso ngexabiso engaphezulu kwe-4; i-suffix elide ibandakanya 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);
WEB Ukucinga
Yonke imodeli ye-chat inokufunda kwi-live web. I-Nymbot ithatha imiyalezo yokuqala yabasebenzisi (i-2,000 iimpawu zayo zokuqala), ibonisa iiphepha ezifanelekileyo kwaye ibonelela kwimodeli kunye neengxaki, ebizwa ngokuba yi-content eyenziwe ngexesha elandelayo. Kukho iindlela ezimbini:
- Ukucinga njalo:
"plugins": [{"id": "web", "max_results": 5}], okanye a:onlineUkubalwa kwimodeli. - Ukucinga xa kukunceda:
"tools": [{"type": "web_search", "parameters": {"max_results": 5}}]Kwakhona kwakhona asweb_search_previewokanyeopenrouter:web_search. I-Nymbot ihamba kuphela xa ingxaki kufuneka ungenza ulwazi olutsha, le nkqubo efana ne-app isetyenziselwa.
max_results is 5 ngokufanelekileyo kwaye ngexesha elide 10. Izixhobo ziya ku
nymbot.web_search.sourcesYonke umntu a title, snippet kwaye
url, kwaye as url_citation Ukucaciswa kwi-message.
Zonke iingxaki ezisebenza iindleko $0.008, iye yabhalwe kwi-sats, phezu kwe-token, kwaye ingxenye ye-hold. Iingxaki ezaziwayo ziquka i-token yokufinyelela, ngoko imibuzo ye-web ngaphezulu kwexabiso efanayo ebonakalayo, nganye amaxabiso ezininzi ngaphezulu.
Ukusabela, ingxenye
"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);
Ukusabela API
I-OpenAI ifomati esitsha, esetyenziswa yi-OpenAI Agents SDK kunye ne-Codex. I-OpenAI isebenza kwiimodeli efanayo, ukuxhaswa kunye neefomati ezifana ne-Chat Completions.
POST https://nymbot.ai/api/v1/responses - kufuneka i-API key.
| Ukucaciswa | Uhlobo | Ukucinga | Ukucaciswa |
|---|---|---|---|
model | Ukucinga | Ewe | Njengoko Ukugqibela ChatIingxaki zihlanganisa. |
input | String okanye array | Ewe | I-string, okanye i-list of items: iingxelo (iingxelo user, assistant, system, developer(Ukuba input_text, input_image kwaye output_text iindawo, kunye function_call kwaye function_call_output Iimveliso ze-Instruments input_image Nceda image_url link okanye data URL, akukho id ifayile. reasoning kwaye web_search_call iimveliso zihlala; item_reference Ukukhuselwa |
instructions | Ukucinga | Ngaba | Imiyalezo System. |
max_output_tokens | Ukucinga | Ngaba | Iingxowa ezininzi ziye zithunyelwe. |
temperaturetop_p | Inombolo | Ngaba | Sampling controls, apho imodeli ukuthatha kwabo. |
toolstool_choiceparallel_tool_calls | i-array, i-string okanye i-object, boolean | Ngaba | Izixhobo zokusebenza, kwi-Forms Response ({"type": "function", "name": …, "parameters": …}c) A web_search okanye web_search_preview Izixhobo zihlala Ukucinga web xa kukunceda. Ezinye izixhobo ezihlangene. |
reasoning | Ukucinga | Ngaba | {"effort": "minimal" | "low" | "medium" | "high"}. xhigh kwaye max Ukucinga high; none Yenza it off. |
text.formatresponse_format | Ukucinga | Ngaba | I-output eyenziwe, njenge-schema ye-JSON okanye json_object. |
metadata | Ukucinga | Ngaba | I-Return unchanged kwi-response. Ngaphezulu kwe-16 i-string values, i-keys ukuya kwi-64 iimpawu kunye ne-values ukuya kwi-512. |
stream | Ukucinga | Ngaba | Stream iziganeko njengoko ezaziwayo phantsi. |
store | Ukucinga | Ngaba | Ignored. Akukho ibhaliswe, kwaye impendulo ivele "store": false. |
previous_response_idconversationbackground | String, i-object, i-boolean | Ngaba | Ukusetyenziswa: 400 unsupported_parameter. Imibuzo ayithunyelwe, ngoko uqhagamshelane inkxaso yonke input Zonke izikhathi. |
Qhagamshelana
{
"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 }
}
I-Tool Request ifumaneka kwi output Njengoko a function_call Umzekelo nge
call_id, name kwaye arguments; Wabelane imiphumo njenge a
function_call_output Umzekelo we-Same call_idUkulungiselela, xa imodeli ivumela, kuyinto a reasoning Umzekelo nge reasoning_text iinkcukacha, ezidlulileyo kuqala. status Yintoni incomplete Xa impendulo ifumaneka
max_output_tokens okanye umnqweno waya, kunye
incomplete_details.reason Ukucinga max_output_tokens okanye
content_filterUkusabela kwakhona iimeko yeemfuno (i-temperature, izixhobo, ukhetho lwezixhobo njl) njengoko i-OpenAI yenza, kwaye ibonisa i-OpenAI. nymbot I-object ye-cost
Streamed, zonke iziganeko event: Line kunye a data: Line nge-a
sequence_numberNgokutsho oku: response.created,
response.in_progress, response.output_item.added,
response.content_part.addedKwiminyaka emininzi response.output_text.delta,
response.output_text.done, response.content_part.done,
response.output_item.doneKwaye lokugqibela response.completed kunye ne-usage kunye ne-cost. A answer cuts short ends with response.incomplete kwimeko, kwaye isisombululo emva kokuqala stream response.failed. Ukuphendula Streams njenge item yayo response.reasoning_text.delta kwaye .doneI-Tool Calls ifumaneka emva kwe-message, ngalinye njenge-elements kunye response.function_call_arguments.delta
kwaye .done.
| Umgangatho | Ngaba |
|---|---|
400 | Ngaba model okanye input; previous_response_id, conversation, background okanye item_reference (unsupported_parameter); isixhobo esidumileyo okanye i-content type. |
402, 403, 404, 429, 502, 503 | Xa i-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);
Imibuzo ye-Anthropic
I-Anthropic ye-format, ye-Anthropic SDKs kunye neCode ye-Claude. Isebenza kunye neemodeli ezininzi kwi-catalogue, ngaphandle kwe-Claude kuphela: isicelo ifumaneka, isebenza nge-pipeline efanayo, kwaye ifumaneka kwakhona.
POST https://nymbot.ai/api/v1/messages — kufuneka i-API key, njenge x-api-key okanye Authorization: Bearer.
Yintoni anthropic-version kwaye anthropic-beta Iimveliso ze-anthropic zihlanganiswa kunye ne-catalogue, ngoko i-Claude Code kunye ne-SDK zokusebenza kunye neemveliso ezisetyenziselwa:
- I-catalogue yaziwa, njenge
claude-sonnet-5okanyeanthropic/claude-opus-5Ukusetyenziswa njengoko. - Okungenani umhla (
-20260514),-latest, inguqulelo tag ezifana-v1, i-bracketed tag efana ne[1m]Yintonianthropic/okanyeanthropic.I-prefix ifumaneka, kwaye i-dots kunye ne-dashes kwi-version zibonakalisa kwiintlobo ezimbini (claude-haiku-4-5Ukucingaclaude-haiku-4.5). - Ukuba akukho nto, isetyenziswa i-family (i-Opus, i-Sonnet okanye i-Haiku), nangona inguqulo ye-catalogue yintoni okanye engaphezulu kwe-version efunyenwe.
- Umnqweno olungagqibekanga nge-Name that matches nothing returns
404not_found_error.
| Ukucaciswa | Uhlobo | Ukucinga | Ukucaciswa |
|---|---|---|---|
model | Ukucinga | Ewe | I-catalogue model id, okanye i-Anthropic model name. |
max_tokens | Ukucinga | Ewe | Iingxowa ezininzi ziye zithunyelwe. |
messages | Ukucinga | Ewe | user kwaye assistant Ukusuka, nge text, image (i-base64 okanye i-URL yokuqala) tool_use kwaye tool_result iimveliso thinking iiblokhi ezidlulileyo ezidlulileyo ziyavumelana kwaye zithunyelwe. |
system | String okanye array | Ngaba | I-System prompt, njenge-string okanye i-text blocks. |
temperaturetop_p | Inombolo | Ngaba | Sampling controls, apho imodeli ukuthatha kwabo. top_k Yintoni i-accepted kunye ne-drop. |
stop_sequences | I-Array ye-Strings | Ngaba | Umzekelo we-text. Ngaphezulu kwe-4 strings, ngalinye ngaphezulu kwe-256 iimpawu. |
toolstool_choice | iimveliso, iimveliso | Ngaba | Izixhobo nge name, description kwaye input_schemai-A web_search Izixhobo ze-Server Turn On Ukucinga web; Ezinye izixhobo ezihlangeneyo ze-Anthropic (i-bash, i-editor ye-text, ukusetyenziswa kwe-computer) ziye zithintela unsupported_tool. tool_choice Ukucinga auto, any, tool okanye noneYaye disable_parallel_tool_use. |
thinking | Ukucinga | Ngaba | {"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} okanye {"type": "disabled"}. I-budget ihamba isantya: phantsi kwe-2048 ephantsi, ukusuka kwi-2048 ephantsi, ukusuka kwi-8192 ephakathi, ukusuka kwi-16384 ephezulu. output_config.effortokanye eliphezulu. |
stream | Ukucinga | Ngaba | Stream kwi-event format ye-Anthropic. |
metadata | Ukucinga | Ngaba | Ukusetyenziswa kunye nokugqiba. |
Qhagamshelana
{
"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 Kwakhona ungenza tool_use iintlobo kunye ne-a thinking
I-block yeyona signature Yintoni embalwa. stop_reason Yintoni
end_turn, max_tokens, tool_use okanye refusalUkusebenza ngexesha elifanayo finish_reason Yintoni
Ukugqibela Chat; stop_sequence Yintoni
null, ngelixa xa i-stop sequence iye yandipha umxholo. input_tokens iingxaki ezintsha kuphela; ingxaki ze-cache ziyafumaneka kwiifomethi ezimbini ze-cache. Iindleko ziyafumaneka kwi-cache
nymbot Object kunye ne X-Nymbot-Cost-Sats iimveliso
Ukusetyenziswa, iziganeko ziyi-Anthropic: message_start,
content_block_start, ping, content_block_delta
(text_delta, input_json_delta okanye thinking_delta),
content_block_stop, message_delta nge-stop reason, ukusetyenziswa kunye ne- nymbot ixabiso Object, kunye message_stopi-A ping isithunyelwe kwakhona ngexesha le-15 ngexesha xa imodeli isebenza. Imiyalelo ye-Tool isithunyelwe emva kwe-text, ngalinye njenge-
tool_use i-block nge-input yayo yonke kwi-one input_json_delta.
Imibuzo kule endpoint usebenzisa ifomati ye-Anthropic:
{"type": "error", "error": {"type": "not_found_error", "message": "…"}}I-Balance ye-Short 402 billing_errorUmthengisi we-Overloaded
503 overloaded_error. Ukukhangisa emva kokufika umdla kubhalwe njenge error Ukusebenza
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);
Ukubalwa tokens
Ukubalwa inani le-input tokens isicelo se-Messages, ngoko i-client inokukwazi ukuyifaka ngaphambi kokuthumela. I-Token ye-Input ye-Token ye-Token ye-Token ye-Token ye-Token ye-Token ye-Token ye-Messages.
POST https://nymbot.ai/api/v1/messages/count_tokens — kufuneka i-API key. Free.
I-body yinto efanayo kunye ne- ImibuzoNgaphandle max_tokens; igama lwezimveliso kufuneka ifumaneke. Ukubala kubaluleke: iimpawu ze-system prompt, iingxelo, iingxelo ze-tool kunye neefayile ze-tool zihlanganiswa ngama-4, kunye ne-1600 ngalinye imifanekiso. Akukho tokenizer ye-providers yayo, ngoko ukwahlukanisa kwakhona kunokufumaneka. I-key eyenza i-cap yaye ingasebenzisa.
Qhagamshelana
{ "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);
Iimodeli zeLista
Wonke iimodeli kunye ne-generator i-API ibonelela, kunye nexabiso. I-list ifumaneka kwi-catalogue elifanayo kunye ne-picker ye-app, ngoko kuxhomekeke ukuba i-server iyasebenza.
GET https://nymbot.ai/api/v1/models — no key needed. Hlola iiyure ezini.
GET /api/v1/models/{id} Yenza inguqulelo 1
| Ukucaciswa | Uhlobo | Ukucinga | Ukucaciswa |
|---|---|---|---|
type | umnikelo (Query) | Ngaba | chat (Wagqibela ukuhlaziywa) image, video, audio, embedding okanye all. iindidi ezininzi ziyafumaneka, njenge image,video. |
Izixhobo zibonisa, kunye neengxabiso kunye neengxabiso ezidlulileyo, kwi-dollars kunye ne-sats kwi-Current Bitcoin price. balance Ukubonisa ukuba i-balance ye-model ibhalisele.
nymbot_key i-model ye-name encinane kwi-app. created i-0 ngenxa yokubhalisa ukuba i-catalogue ayikwazi ukufikelela kwimodeli. A model without published token rates is priced per_request endaweni yoko.
nymbot/auto Uluhlu lokuqala, ixabiso njengoko variableNge a
routes Uluhlu leyo enikeza iimali yeenkcukacha zokusetyenziswa ngalinye. Uluhlu lihlanganisa ividiyo kunye neengxaki, kodwa ayikho izixhobo.
GET /api/v1/models/{id} iingoma kunye ne-aliases efanayo njenge-request, kwaye ivumela iingoma ye-model eyenza.
Qhagamshelana
{
"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"
}
]
}
Zonke iindidi:
- Ukucinga Inguqulelo
capabilities(accepts_image_url,requires_image_url,edit) kwaye ixabisoper_generation. - Ividiyo Inguqulelo
max_duration_secondskwayeresolutionsNgexabisoper_secondNgokutsho zonke iingxelo. - I-Audio Inguqulelo
audio_typespeechokanyetranscriptioniimaliper_1k_charsokanyeper_minute. - Ukucinga Inguqulelo
dimensions,context_length,max_inputskunye nexabiso ngalinye ye-input tokens.
Iindleko zeMarked "estimated": true iimveliso ye-app ye-generator ebonakalayo. I-Unknown type Ukuguqulwa 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);