Isisekelo solwazi Izinzuzo
Chat, Imibuzo futhi Imibuzo
Three ways to ask a model something, in the three formats amakhasimende already spoke, zonke isebenza on the same models and billed the same way.
Leli khasi lihunyushwe ngomshini ukuze kube lula. IsiNgisi sangempela inguqulo esebenzayo.
Ukusebenza kwe-Chat
I-OpenAI i-chat format, ne-one eyenza cishe zonke izixhobo. Thumela i-conversation kuze kube manje futhi ufike i-message elilandelayo.
POST https://nymbot.ai/api/v1/chat/completions — Ufuna API key.
Waze model futhi messages I-parameter ye-sampling eyenza i-model eyenziwe akuyona ngaphandle kwe-error, ngakho-ke i-body ye-request isebenza phakathi kwe-models. I-model list inikeza i-model ye-models. supported_parametersOkuchazwa kuncike kuncike iyiphi into yama-model ayikwazi ukwenza: izithombe yama-model ayikwazi ukubona, izixhobo yama-model ayikwazi ukubiza.
| isikhunta | Uhlobo | Ukubalwa | Ukucaciswa |
|---|---|---|---|
model | Ukuhlobisa | Yebo | nymbot/auto (Uma auto) ukusuka ku-Nymbot ku-standard balance, noma id model ye-catalogue njenge- anthropic/claude-sonnet-5 ku Pro isilinganiso. Izithombe ezincinane nezilinganiso ze-app ziye zithatholakala. Kuncike ekupheleni Ukulungele. |
messages | Waze | Yebo | Imininingwane system, developer (Ukuhlukaniswa njengoba uhlelo), user, assistant futhi toolI-Content yi-string noma isithombe se- text futhi image_url izingxenye; izithombe kuphela emakhasini abasebenzisi. input_audio izigaba ze-file ziye zithintela. |
stream | Ukuhlobisa | Ngaphandle | Thola impendulo njengoko kulandwa. Thola Ukuhlobisa. |
stream_options | Umphumela | Ngaphandle | {"include_usage": true} Ukongeza isikhwama lokugqibela ne-token count kanye nemali. |
max_tokensmax_completion_tokens | Ngena ngemvume | Ngaphandle | I-Token engaphansi kuya ku-maximum ye-model uma engaphezulu. Kwakhona ibeka inani elithathwe kwebhizinisi lakho, ngakho-ke inani elincinane akudingeka i-credit engaphansi ekuqaleni. |
temperaturetop_p | Inombolo | Ngaphandle | Ukuhlolwa kwe-sampling temperature ukusuka 0 kuya ku-2, top_p ukusuka 0 kuya 1. |
stop | String noma array | Ngaphandle | Umbhalo owodwa: umbhalo owodwa noma okungenani we-4 ama-strings, ngamunye okungenani kwe-256 ama-character. nymbot/auto. |
seed | Ngena ngemvume | Ngaphandle | Ukuze ukuguqulwa kwe-sampling, lapho imodeli inikeza. |
presence_penaltyfrequency_penalty | Inombolo | Ngaphandle | Ukulawula okuqhubekayo, ngamunye kusuka -2 kuya 2. |
response_format | Umphumela | Ngaphandle | {"type": "json_object"} noma {"type": "json_schema", "json_schema": {…}}, lapho imodeli inikeza. Akukho kusetshenziselwa nymbot/auto. |
toolstool_choiceparallel_tool_calls | array, String noma Object, boolean | Ngaphandle | Ukusebenza ukubuyekeza. See ImikhiqizoU-A web_search I-Tool Turns On Ukubuyekezwa. Ngaphezulu kwe-128 izixhobo kanye ne-512 KB iziqinisekiso, zihlanganisa ku-maximum ye-64 izinga eliphezulu; ngaphezulu 400. |
reasoning_effortreasoning | isikhunta, isikhunta | Ngaphandle | "minimal", "low", "medium" noma "high", noma {"effort": "high"}. "none" noma {"enabled": false} Ngena ngemvume Ukubuyekezwa. |
plugins | Waze | Ngaphandle | [{"id": "web", "max_results": 5}] ukufuna kuqala web. Up to 10 imiphumela. |
n | Ngena ngemvume | Ngaphandle | I-1 kuphela: Yonke okufakiwe 400. |
logit_biasusermetadata | Object, String, Umphumela | Ngaphandle | Kutholwe futhi akufanele. logit_bias amaphepha ku-max 300 ids token kuya izibalo kusuka ku -100 kuya ku-100; user kuyinto ephakeme ku-256 imibala; metadata Imininingwane ezingu-16 ye-string, ama-keys angama-64 futhi ama-values angama-512. |
Ukusabela okuhlobene chat.completionNge-cost in usage.cost
(ngama-dollars) futhi ku nymbot Umphumela model is a resolved model id, ngakho-ke a short name is a return as the full one. Uma model is a reasoned before answering, is a reasoning message.reasoning_contentNgaphandle kokuphendula.
Ukuphendula
{
"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 Ukusebenza kusuka ku-received, njengoba ama-providers zithunyelwe ngokufanayo: tool_calls Uma imodeli wabhala izixhobo, length lapho isibuyekezo usebenzisa zonke ama-token eyenziwe (noma umzila wahlanganyela konke futhi wahlanganyele akukho isibuyekezo), content_filter Uma umphakeli wahlala, futhi stop
Ngaphandle usage.completion_tokens_details.reasoning_tokens is always 0: i-token ye-reasoning ebonakalayo ibekwe, futhi ibekwe, ku completion_tokens.
| Ukubuyekezwa | Kwangathi |
|---|---|
400 | Ngaphandle model noma messages (missing_required_parameter); i-audio noma ifayela ingxenye, noma imifanekiso ye-model okuyinto ayikwazi ukubona (unsupported_content); ezingaphezu kwama-20 izithombe (too_many_images); isampula parameter of the wrong type noma out of range (invalid_value); umbhalo okuqukethwe okungaziwa (invalid_image_url); izixhobo ku-model okuyinto ayikwazi ukudlala (unsupported_tool); n Ngaphandle 1; A :thinking suffix on a model that can't reason (model_not_found); noma umphakeli wabhala isicelo (upstream_rejected). |
402 | I-balance eyenziwe yi-model ayikwazi ukucubungula ukucubungula. |
403 | Ukuphakama kwe-key's cap (key_limit_reached(Imininingwane Lower max_tokens noma ukwandisa cap. |
404 | (Hhayi isibonelo esithakazelisayo)model_not_found). |
429 | I-key's rate limit, noma umphakeli we-providers (upstream_rate_limited). |
502, 503 | Umphakeli wahlala (upstream_error) noma kulinganiswa (upstream_overloadedNge Retry-AfterNokho akubhalwe ngaphandle kwe-provider ifakwe ngenxa yokusabela. |
I-state codes zonke i-endpoint shares zihlanganisa ngaphansi Izinzuzo.
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);
Ukuhlobisa
Nge "stream": true Ukuphendula ku-server-send events lapho imodeli ithi. chat.completion.chunk U-A data: umugqa, futhi umugqa uqala nge data: [DONE]I-Reasoning ikhona ku
delta.reasoning_contentUkuphendula ku delta.content.
Stream konke okungenani engaphezu kuka-100 imizuzu, njenge-response eside,
max_tokens noma imodeli yokuxhumana. Isicelo esithathwa ayithumela lokho kuze kube lokuphendula, futhi inethiwekhi phakathi kwethu no-Nymbot kungenzeka ukujabulela ukuxhuma okungenani ngemizuzu angu-100; imodeli akufinyelela futhi into esithathwe iyahlawulwe, kodwa impendulo iyahlawulwe. Umthombo ivumela i-ke-alive, ngakho-ke ivuliwe ngenkathi imodeli ivuliwe.
Ukuhlobisa
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]
- Lines ekuqaleni nge
:izibuyekezo ze-ke-ke-living, zithunyelwe ngamunye amaminithi angu-15 lapho imodeli isithunyelwe. I-SSE amakhasimende akuyona. - Waze
"stream_options": {"include_usage": true}ukufumana inkinobho lokugqibela emaphaketheni, nge-empathychoices, i-token ibekwe, i-cost kanye ne-nymbotUmphumela - I-charge ifakwe ngemuva kokuphuma kwe-stream. Uma uxhumane ukuxhumanisa ngokushesha, imodeli akuyona asekelwe: I-Nymbot ibheka i-stream ye-providers, ngexesha elide angu-25, ukuze uthole inani yayo ye-token, futhi uxhumane okuhlolwa kwe-providers. Ngaphandle kokufaka okuhlolwa i-charge ifakwe kusuka ku-input yakho ne-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke-ke.
- I-Error Before the First Chunk, njenge
401noma402, ivela njenge-JSON ebonakalayo ne-status code yayo, akuyona njenge-stream. I-error emva kokufaka i-stream ivela njenge-ultimatedata: {"error": {…}}umkhosi, futhi umkhosi wahlala ngaphandle[DONE]. - I-Requests nge-tools, ne-models ku-OpenAI's Responses transport, ayitholukile kusuka ku-provider. Bhalisa ngokuphendula nge-flow elifanelekayo, eziholwe ngemuva kokuphendula.
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);
}
Izithombe
Ukubonisa umsebenzi in tools futhi imodeli ungayibiza ukuba omunye ukhangela kunokuphendula. Ungasebenza umsebenzi, ukongeza imiphumela yayo njenge tool Imininingwane esifanayo
tool_call_idI-Nymbot ayidlulele imisebenzi zakho; ithi isithumela isicelo se-model ngokuvumelana nawe.
tool_choice Waze "auto", "none",
"required" noma {"type": "function", "function": {"name": "…"}}. Umhlahlandlela umhlahlandlela umhlahlandlela ukuthi amamodeli ungazithombe izixhobo (capabilities.tools) Izinsiza zithintela 400 unsupported_tool Yini nymbot/auto futhi kuma-catalogue amamodeli amancane asebenza ku-OpenAI's Responses transport, lapho i-Nymbot ayikwazi ukunikezela izixhobo.
Nge "stream": true, isixazululo se-tools isebenza esisodwa futhi sithunyelwe njenge-chunk ngokuvamile: isixazululo, isixazululo esisodwa esihlanganisa wonke isixazululo se-tool nge-index, id, igama kanye ne-arguments, futhi isixazululo se-finish. I-Clients abalandeli isixazululo se-streamed isixazululo se-tool zihlanganisa njenge-usuku.
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);
Izithombe ku-request
Imodeli nge capabilities.vision Ngaba ungayifaka izithombe. Ngena ngemvume image_url
part ukuba umbhali umbhali, nge noma umbhali https:// Link noma A
data:image/…;base64, I-URL. I-up to 20 images per request. Izithombe ze-SVG zihlanganisa, futhi i-link engaphezu kwama-4.096 ama-character noma enye nge-user name noma password ku- (400 invalid_image_url(Imininingwane Imininingwane) detail Yini
auto, low noma high.
Nge nymbot/auto, isixazululo se-image ku-it is a standard model that can see. A catalog model without capabilities.vision Ukukhangisa izithombe nge
400 unsupported_content. Izithombe zingatholakala kuphela kumadokhumenti we-user. I-links kufanele ibonise ku-host ye-publish; I-Nymbot ibonise i-image kumadokhumenti ye-model futhi akuyona.
I-image iyahlaziywa njengama-input tokens owenziwe ngu-provider, 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);
Ukuphendula
Imodeli nge capabilities.reasoning ungathanda ngaphambi kokuphendula. Qinisekisa ngaphezulu noma ngaphezulu reasoning_effort ("minimal", "low",
"medium" noma "high"(Uma "reasoning": {"effort": "high"}, noma ukongeza :thinking ukuze imodeli igama, okuyinto inikeza ukucindezeleka okusezingeni eliphezulu. On a model without reasoning the setting is ignored. With nymbot/auto, :thinking Ukulandelela isicelo ku-standard reasoning route.
Ngama-Anthropic amamodeli, isixazululo se-thinking isixazululo se-1,000, 2,000, 8,000 noma 16,000 tokens, akuyona ngaphezulu kwe-1,000. max_tokens isixazululo. Thought is left off when
tool_choice I-Anthropic inesibophelela isixhobo, futhi lapho isicelo ivela isilinganiso se-tool loop (i-message yayo lokugqibela iyisisombululo se-tool), ngoba i-Anthropic inesibophelela ukufundisa okuqala. I-Anthropic inesibophelele isilinganiso se-Response kanye ne-Messages.
I-Reasoning iyahluka ku message.reasoning_content, noma
delta.reasoning_content lapho ukuhambisa, akukwazi ukuxubana ku-response. I-Reasoning iyona-output futhi ibhekwa njenge-output, ngaphakathi completion_tokensAbanye abaphakeli akuyona inguqulo inguqulo ngokugcwele, futhi iyatholakala.
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);
Model Ukuhlobisa
Umphumela we-model name ukuguqulwa indlela yokusebenza kwe-request, ngaphandle kwesigaba esinye. Zisebenza ku-id ephelele kanye nama-short names, njenge- anthropic/claude-sonnet-5:online.
| Ukuphumelela | Umphumela |
|---|---|
:online | Thola ku-web yokuqala, njenge plugins: [{"id": "web"}]Ngena ngemvume Ukubuyekezwa. |
:thinking | Ukuphakama okuphakeme; on nymbot/auto, indlela yokuxhumana. On a model that cannot reason, 400 model_not_found with “no endpoints found”. |
:nitro, :floor, :exacto, :extended | Yonke imodeli ye-catalogue ine-route eyodwa, ngakho-ke akuyona elula, elula noma elide yokukhetha; ama-suffixes zithunyelwe ngakho-ke ama-model namasevisi ezivela kuma-services ezingaphezu zokusebenza. |
Zonke ezinye iziphuzo zihlanganiswa. Umbhalo oluphelele isishintshwe kuqala, ngakho umbhalo owawo id efanelekayo i-colon iyasebenza; ngaphandle kwalokho, iziphuzo zithintshwe ekupheleni eyodwa ngexesha elinye kuze kube umbhalo uxhumane. Umbhalo we-model ingaba ku-maximum 200 ama-character elide nge-maximum 4 iziphuzo; eyodwa elide ikhiwa 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);
Ukubuyekezwa
Yonke imodeli ye-chat angakwazi ukujabulela kusuka ku-live web. I-Nymbot ibheka ngemvume yokuqala ye-user (ama-2000 yokuqala yayo), ibheka amaphepha ezinhle futhi ibheka kwama-model nge-question, ebizwa njengezinto ezingenalutho ukuthi imodeli akufanele ukuthatha imiyalezo kusuka. Kukhona izimo ezimbili:
- Ukubuyekeza:
"plugins": [{"id": "web", "max_results": 5}], noma a:onlinesuffix ku imodeli. - Thola lapho kusiza:
"tools": [{"type": "web_search", "parameters": {"max_results": 5}}]Ngaphezu kwalokho, i-accepted asweb_search_previewnomaopenrouter:web_search. I-Nymbot ibhizinisi kuphela lapho isibuyekezo kubalulekile ulwazi se-akhawunti, elifanayo isizinda esebenzisa isicelo.
max_results is 5 ngokuvamile futhi ku-maximum 10. Izithombe ezivela ku
nymbot.web_search.sourcesNokho, wonke umntu a title, snippet futhi
url, futhi as url_citation Izincazelo ezivela ku-message.
Konke ukubuyekeza ukuthi kusebenza izindleko $0.008, iye yakhelwe i-sats, phezulu kwe-token, futhi ingxenye yokubuyekeza. Amaphepha okuyinto zithole ama-token yokufinyelela, ngakho-ke impendulo kusuka ku-web enikezela ngaphezulu kuka-same imibuzo efanelekayo, izikhathi eziningi 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 ye-format entsha, isetshenziselwa i-OpenAI Agents SDK kanye ne-Codex. I-OpenAI isebenza nge-models efanayo, ukucubungula kanye ne-functions njenge-Chat Completions.
POST https://nymbot.ai/api/v1/responses — Ufuna API key.
| isikhunta | Uhlobo | Ukubalwa | Ukucaciswa |
|---|---|---|---|
model | Ukuhlobisa | Yebo | Ukuze Ukusebenza kwe-ChatIziqu ze-suffixes zihlanganisa. |
input | String noma array | Yebo | I-string, noma i-list ye-elements: izindaba (ama-rolls) user, assistant, system, developer(NgoLwesithathu input_text, input_image futhi output_text izingxenye, futhi function_call futhi function_call_output Imikhiqizo ye-Instruments input_image Thola image_url isixhumanisi noma data URL, akuyona id ifayela. reasoning futhi web_search_call Izinto zihlanganisa; item_reference Ukukhangisa |
instructions | Ukuhlobisa | Ngaphandle | Isicelo se-System |
max_output_tokens | Ngena ngemvume | Ngaphandle | I-Token ye-Token ye-Token ye-Writing |
temperaturetop_p | Inombolo | Ngaphandle | Sampling ukulawula, lapho imodeli ukuthatha. |
toolstool_choiceparallel_tool_calls | array, String noma Object, boolean | Ngaphandle | Izixhobo ze-Functional Tools, ku-Response Shape ({"type": "function", "name": …, "parameters": …}(I) A web_search noma web_search_preview I-Tool Turns On Ukubuyekezwa lapho inikeza. Ezinye izixhobo ezimbonini zihambiswa. |
reasoning | Umphumela | Ngaphandle | {"effort": "minimal" | "low" | "medium" | "high"}. xhigh futhi max Waze high; none Ngena ngemvume |
text.formatresponse_format | Umphumela | Ngaphandle | Ukukhiqizwa kwe-output, njenge-schema ye-JSON noma json_object. |
metadata | Umphumela | Ngaphandle | I-Return unchanged ku-response. Ngaphezulu kwe-16 ama-string values, ama-key angaphezu kwe-64 ama-character ne-512 ama-values. |
stream | Ukuhlobisa | Ngaphandle | Stream iziganeko njengezifundo ngezansi. |
store | Ukuhlobisa | Ngaphandle | Ignored. Nothing is stored, futhi impendulo uvame "store": false. |
previous_response_idconversationbackground | String, Izinto, Boolean | Ngaphandle | Ngaphandle kokusekela: 400 unsupported_parameter. Izimpendulo ziye zithunyelwe, ngakho-ke ushiye inkxaso ephelele ku input Ngamunye. |
Ukuphendula
{
"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 ku- output Ngiya function_call Umphumela With
call_id, name futhi arguments; Thumela imiphumela ngokuvumelana a
function_call_output Isigaba esifanayo call_idI-Reasoning, lapho isampula ivumela, kuyinto a reasoning Umphumela With reasoning_text Imininingwane, ifakiwe kuqala. status Yini incomplete Uma umphumela wahlala
max_output_tokens noma umphakeli wahlala, nge
incomplete_details.reason Waze max_output_tokens noma
content_filterUkusabela kwakhona izakhiwo ye-request (i-temperature, i-tools, i-tool choice njll) njengoba i-OpenAI yenza, futhi ivumela i-OpenAI nymbot Imininingwane Imininingwane
Streamed, zonke iziganeko kuyinto event: Line futhi a data: Line nge a
sequence_numberNgokusho okuhle: response.created,
response.in_progress, response.output_item.added,
response.content_part.addedNoma inani le response.output_text.delta,
response.output_text.done, response.content_part.done,
response.output_item.doneNgemuva kwalokho response.completed nge ukusetshenziswa kanye ne-cost. A answer cut short ends with response.incomplete noma, futhi isizukulwane ngemuva kokuqala stream nge response.failedI-Rasoning Streams njengoba item yayo yayo response.reasoning_text.delta futhi .doneI-Tool Calls ifika ngemvume, ngamunye njenge-elements response.function_call_arguments.delta
futhi .done.
| Ukubuyekezwa | Kwangathi |
|---|---|
400 | Ngaphandle model noma input; previous_response_id, conversation, background noma item_reference (unsupported_parameter); isixhobo esidumile noma uhlobo se-content. |
402, 403, 404, 429, 502, 503 | mayelana ne-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);
Izindaba ze-Anthropic
I-Anthropic ye-format, ye-Anthropic SDKs ne-Claude Code. Isebenza nge-modeli wonke e-catalogue, ngaphandle kwe-Claude kuphela: isicelo ifakwe, isebenza nge-pipeline efanayo, futhi ifakwe phansi.
POST https://nymbot.ai/api/v1/messages — kufuneka i-API key, njenge x-api-key noma Authorization: Bearer.
Waze anthropic-version futhi anthropic-beta Izinhlelo zokusebenza ze-Anthropic models zihlanganiswa ne-catalogue, ngakho-ke i-Claude Code ne-SDKs isebenza nezinhlelo ezisebenzayo:
- Umbhalo owaziwa, njenge
claude-sonnet-5nomaanthropic/claude-opus-5Ukusetyenziswa njengokuba. - Okunye isikhathi (
-20260514),-latest, inguqulo tag ezifana-v1, i-bracketed tag njenge[1m]Ngiyaanthropic/nomaanthropic.I-prefix ifakwe, futhi ama-dot kanye ne-dashes e-version zihlanganisa ngezinye izindlela (claude-haiku-4-5Wazeclaude-haiku-4.5). - Uma lokho akufanele akufanele, isakhiwo (Opus, Sonnet noma Haiku) isetshenziselwa, uma inguqulo ye-catalogue kuyinto elifanayo noma elisha kunazo.
- A name that matches nothing iyahamba
404not_found_error.
| isikhunta | Uhlobo | Ukubalwa | Ukucaciswa |
|---|---|---|---|
model | Ukuhlobisa | Yebo | I-catalogue model id, noma i-Anthropic model name. |
max_tokens | Ngena ngemvume | Yebo | I-Token ye-Token ye-Token ye-Writing |
messages | Waze | Yebo | user futhi assistant Ukusuka, nge text, image (i-base64 noma isilinganiso se-URL) tool_use futhi tool_result Ukuhlobisa thinking izibambo ezidlulayo ezivela ezivela futhi zithunyelwe. |
system | String noma array | Ngaphandle | I-System prompt, njenge-string noma ama-text blocks. |
temperaturetop_p | Inombolo | Ngaphandle | Sampling ukulawula, lapho imodeli ukuthatha. top_k Kutholwe futhi wahlukaniswa. |
stop_sequences | I-Array ye-Strings | Ngaphandle | Umbhalo owodwa okugcina umbhalo. I-maximum ye-strings ye-4, i-maximum ye-256 characters ngamunye. |
toolstool_choice | Ukubuyekezwa, Object | Ngaphandle | Izinsiza nge name, description futhi input_schemaU-A web_search I-Server Tool isebenza Ukubuyekezwa; Ezinye izixhobo ze-Anthropic ezikhongozwayo (i-bash, i-text editor, ukusetshenziswa kwekhompyutha) zihlanganiswa unsupported_tool. tool_choice Waze auto, any, tool noma none, futhi disable_parallel_tool_use. |
thinking | Umphumela | Ngaphandle | {"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} noma {"type": "disabled"}. I-budget ukhethe izinga lokusebenza: ngaphansi kwe-2 048 ephakeme, kusukela ku-2 048 ephakeme, kusukela ku-8 192 ephakeme, kusukela ku-16 384 ephakeme. output_config.effortnoma eliphezulu |
stream | Ukuhlobisa | Ngaphandle | Stream ku-Anthropic ye-event format. |
metadata | Umphumela | Ngaphandle | Ukubuyekezwa futhi ukuncintisana. |
Ukuphendula
{
"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 Kutholwe futhi tool_use izibambo kanye a thinking
block, okuyinto signature Yini emihle? stop_reason Yini
end_turn, max_tokens, tool_use noma refusalUkusebenza ngokufanayo finish_reason Yini
Ukusebenza kwe-Chat; stop_sequence Ukulungele
null, ngisho lapho umlinganiselo we-stop wahlala impendulo. input_tokens Imininingwane ezintsha kuphela; Imininingwane e-cache iqukethe ezimbini ze-cache. I-cost iqukethe
nymbot Object futhi X-Nymbot-Cost-Sats ikhaya
I-Streamed, iziganeko ze-Anthropic: message_start,
content_block_start, ping, content_block_delta
(text_delta, input_json_delta noma thinking_delta),
content_block_stop, message_delta Nge-stop reason, ukusetshenziswa kanye ne- nymbot Cost Object, futhi message_stopU-A ping isithunyelwe ngalinye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye amaminye.
tool_use block nge inguqulo yayo yonke ku-one input_json_delta.
I-Errors on this endpoint isebenzisa ifomu ye-Anthropic:
{"type": "error", "error": {"type": "not_found_error", "message": "…"}}I-Balance ye-Short Is 402 billing_error, umphakeli overloaded
503 overloaded_error. Ukukhangisa ngemuva kokuphuma kuqala i-stream ifakwe njenge error Ukungena ngemvume
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
Ukubuyekezwa inani le-input tokens isicelo se-Messages ngeke isetshenziswe, ngakho-ke i-client ingathola ngaphambi kokuthumela. Kuyinto mahhala, kodwa kufuneka ikhoyili.
POST https://nymbot.ai/api/v1/messages/count_tokens — Ufuna API key. Mahhala.
I-body is the same as for ImibuzoNgaphandle max_tokens; igama le model kufuneka ukuguqulwa. Ukubala kuyinto ukuguqulwa: ama-characters ye-system prompt, ama-messages, i-tool calls kanye ne-tool definitions ezahlukile nge-four, plus 1,600 ngalinye imifanekiso. It is not the provider's own tokenizer, ngakho-ke ukuguqulwa ngokwenene kungahlukile. A key that has reached its cap can still use it.
Ukuphendula
{ "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);
Ukuhlolwa Model
Konke imodeli kanye nomkhiqizi i-API ibhalisele, ne-cost. I-list ibhaliswe kusuka ku-catalogue elifanayo njenge-picker ye-app, ngakho-ke kuyinto ukuthi i-server iyahambisana.
GET https://nymbot.ai/api/v1/models — no key needed. Imininingwane ezingu-5.
GET /api/v1/models/{id} Yenza inguqulelo 1
| isikhunta | Uhlobo | Ukubalwa | Ukucaciswa |
|---|---|---|---|
type | isikhunta (Query) | Ngaphandle | chat (Ukuhlukaniswa okuqhubekayo) image, video, audio, embedding noma all. Abaningi kungatholakala, njenge image,video. |
Izindleko zibonisa, ne-fee ne-margin eyenziwe, e-dollars kanye ne-sats ngentengo se-Bitcoin. balance Ukubonisa ukuthi isilinganiso imodeli uthatha.
nymbot_key Imininingwane ye-imeyili ye-model e-app. created is always 0, njengoba i-catalogue ayifake lapho isampula ifakwe. A model without published token rates is priced per_request esikhundleni salokho.
nymbot/auto is always first, izindleko njengoba variableNge a
routes isifinyezo enikeza izinga le-route esisodwa. It isifinyezo ukubukeka kanye nokuxhumana, kodwa akuyona izixhobo.
GET /api/v1/models/{id} Kutholwe ama-imeyili kanye nama-aliases efanayo njenge-request, futhi i-returns inguqulo ye-model eyenza.
Ukuphendula
{
"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 izinhlobo:
- Umbala Izincazelo ze
capabilities(accepts_image_url,requires_image_url,edit) futhi intengoper_generation. - Ividiyo Izincazelo ze
max_duration_secondsfuthiresolutions, futhi intengoper_secondUkuze yonke isixazululo - ekhaya Izincazelo ze
audio_typespeechnomatranscriptionImininingwaneper_1k_charsnomaper_minute. - Ukuhlobisa Izincazelo ze
dimensions,context_length,max_inputsfuthi intengo ngamilioni tokens input.
Imikhiqizo "estimated": true Imininingwane ye-app ye-generator enesixhumanisi enesixhumanisi. Imininingwane enesixhumanisi type Waze 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);