Ezagutza oinarria Garapitzaileak
Txat, Erantzunak eta Mezuak
Tres modulu bati zerbait galdetzeko bide, bezeroek jada erabiltzen dituzten hiru formatuetan, modelo berdinetan oinarrituta eta modu berean koblatuta.
Orrialde hau automatikoki itzuli da erosotasunerako. Ingelesezko jatorrizkoa da aplikatzen den bertsioa.
Txataren betiketak
OpenAI txat formatua, eta tresna gehienek baten onartzenatzen dutena. Bidali arteko elkarrizketa bidali eta hurrengo mezuari erantzuna jaso.
POST https://nymbot.ai/api/v1/chat/completions — API gako bat behar du.
Soilik model eta messages beharrezkoak dira. Aukeratutako modeloak ez duen laguntasun parametru bat errore gabe ezdatzen da, beraz, eskaera-gorru bat modelo guztietan funtzionatzen du.
modeloen zerrendak bakoitzaren supported_parametersEz den uzten, baizaldik menurtzen dena, modeloak ezin duen guztia da: ikusten ezin duen modelo baten irudiak, ez inautzi ablean dituen modelo baten tresnak.
| Kalea | Idatzi | Beharrezkoa | Deskribapena |
|---|---|---|---|
model | saria | Bai | nymbot/auto (edo auto) Nymboten ibilbide trinko standardean bideratzeko, edo katalogo modelo id baten bezala, adibidez anthropic/claude-sonnet-5 Pro saldoan. Aplikazioaren izen laburrak eta izen-bereziak ere onartzen dira. 'a' zein letra agurtzean amaitu daitezke suffixo. |
messages | taldea | Bai | Elkarrizketa. Paperak system, developer (sistema bezala tratatua), user, assistant eta tool. Edukia testu-saila bat edo zerrenda bat da text eta image_url zatiak; argazkiak soilik erabiltzailearen mezuetan. input_audio eta fitxategi zatiak rejected egiten dira. |
stream | boolean | Ez | Bidali erantzuna idatzita dagoen bezala. Ikusi streaming. |
stream_options | objektua | Ez | {"include_usage": true} token kopuruekin eta kostuarekin azken atal bat gehitzen du. |
max_tokensmax_completion_tokens | entegeroa | Ez | Idaz ditzakeen token gehienak. Gogoigarriena bada, modeloaren maximo batera jaisten da. Zure saldotik gordetzen den kantitatea ere ezartzen du, beraz, zenbaki txikiagoak hasierako kreditu gutxiago behar du. |
temperaturetop_p | zenbakia | Ez | Orezketaren kontrolak: temperature 0 eta 2 arteko, top_p 0-etik 1era. |
stop | estruna edo taldea | Ez | Erantzuna amaitzen duen testua: esteka bat edo lau esteka gehien, bakoitza 256 karakter gehien. Ez da erabiltzen nymbot/auto. |
seed | entegeroa | Ez | Neurretan ala nora, modeloak bidea laguntzen duen tokietan, osagarrietan berdetzeko. |
presence_penaltyfrequency_penalty | zenbakia | Ez | Errepakzio kontrolak, bakoitza -2 eta 2 artean. |
response_format | objektua | Ez | {"type": "json_object"} edo {"type": "json_schema", "json_schema": {…}}, non modeloak laguntzen duen. Ez da ... erabiltzen nymbot/auto. |
toolstool_choiceparallel_tool_calls | array, string edo object, boolean | Ez | Funzioi deiak. Ikusi tresna deiak. A web_search tresna켜진다 web bilaketaGutxienez tresna 128 eta definizioen 512 KB, gehienbeste 64 mailako sakonera; gehiago da 400. |
reasoning_effortreasoning | testu-doia, objektua | Ez | "minimal", "low", "medium" edo "high", edo {"effort": "high"}. "none" edo {"enabled": false} desaktibatzen du. Ikusi arrazoamena. |
plugins | taldea | Ez | [{"id": "web", "max_results": 5}] beti weba bilatzen du lehenik. 10 emaitza arte. |
n | entegeroa | Ez | Soilik 1. Beste guztia itzultzen da 400. |
logit_biasusermetadata | objektu, estranga, objektu | Ez | Onartu eta ez da aurrera bidali. logit_bias token id gehienez 300 -100 eta 100 arteko zenbakietara mapatzen ditu; user zuk beharraenez 256 karakterera arte da; metadata elabidez 16 ari-testuinguru zenbaki maximo du, giltzak 64 karakter artekoak eta balioak 512 artekoak. |
Erantzuna arrunko bat da chat.completion, kostua barne usage.cost
(dolaretan) eta nymbot objektua. model resolbiltutako modelo IDa da,
beraz izen laburra izen oso gisa itzultzen da. Erantzut baino lehen modeloak pentsatu bada, bere
arrazoibidea dago message.reasoning_content, erantzunetik bereizita.
Erantzuna
{
"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 etorriaren arabera kalkulatuta da, bidezkaileaek modu desberdinean raportatzen dutelako: tool_calls eredkia tresnak eskatu zituenenean, length erantzunak onartutako token guztiak erabili zituenenean (edo modeloak arrazoitzean guztiak gastatu zituen eta ez zuen erantzun bat idatzi), content_filter hornikatza bazitu zenean, eta stop
beste ala eta. usage.completion_tokens_details.reasoning_tokens beti 0 da: ezkutuko
arrazoibide tokenak kontatzen dira, eta kobratzen, completion_tokens.
| Estatusa | Noiz |
|---|---|
400 | Ez model edo messages (missing_required_parameter); audio edo fitxategi parte bat, edo irudiak modeloak ezin ditu ikusi ez dituenentzako (unsupported_content); 20 baino gehiago irudi (too_many_images); lagunarpen parametrua mota okerra edo barne-tarte kanterikoa (invalid_value); irudi-esteka ez publikua da (invalid_image_url); ezin dituukan tresnak modelo baten gainean (unsupported_tool); n 1 izan ez den beste; a :thinking arrazoi ezin duen modelo baten sufixua (model_not_found); edo hornitzaileak eskaera ukoitu zuen (upstream_rejected). |
402 | Modeloak gastatzen duen saldoa ezin du erreserba estali. |
403 | Kasualtasun txarronek ez dira tasten estalduraetan egokitzen (key_limit_reached). Txikiago max_tokens edo gehitu gehieneko muga. |
404 | Ez duzu izen horretako modeloa (model_not_found). |
429 | Gakoaren rate limitua, edo hornitzailearenaren (upstream_rate_limited). |
502, 503 | Hornitzailea ez zuen funtzionatu (upstream_error) edo sobrekargatuta dago (upstream_overloaded, ,rekin Retry-After). Ez da ezer kargatzen hornitzaileak saiategi horretarako fakturatu ez bada. |
Endpoint bakoitzak partekatzen dituen status kodeak honako hauetan zerrendatzen dira: erroreak.
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);
Streaming
Erekin "stream": true erantzuna server-sent events bezala iristen da modeloak
idazten duen bitartean. Prozesu bakoitza da chat.completion.chunk baten""" data: lerra, eta
fluxua hemen amaitzen da data: [DONE]. Pentsamenduak iristen da
delta.reasoning_content, erantzuna delta.content.
Eskemendu 100 segundu baino gehiago behar dituzten guztia, erantzun luze bat edo erantzun handi bat bezalakoak.
max_tokens edo razonamendu modelo bat. Ez fluxualdo (streamed) egiten den eskaierak ez du ezer bidaltzen erantzuna amaitu arte, eta zure eta Nymbot arteko sarea itzali bisaileak 100 segundutik baino gehiago pasatzean konekzio inaktiboa itzali dezake; modeloak lana amaitzen du eta idatzitakoa kobratzen da, baina erantzuna galtzen da. Fluxualdo batek keep-alivesak bidaltzen ditu, beraz, modeloak idazten duen bitartean irekita mantentzen da.
Fluxua
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]
- Hasiera egiten duten lerroak
:keep-alive komentoak dira, 15 segundotan behin bidaltzen direnak modeloa pentsatzen ari den bitartean. SSE bezeroek ez dituzte kontuan hartzen. - Gataztu
"stream_options": {"include_usage": true}goizeko zati azkena lortzeko, hautsikoanchoices, token kopuruak, kostua etanymbotobjektua. - Ordainketa fluxua amaitu ondoren finkatzen da. Konektua lehenegiago itutzean, ez da modeloa gelditu: Nymbot-ek hornitzailearen fluxuaren geria irakurtzen du, 25 segundoraino, bere token kopurua lortzeko, eta hornitzaileak raportatzen duena ordaintzen duzu. Kopuru hori gabe, ordainketa zure sarrera eta idatzitakoaren eta, gainera, arrazoitzen duen modelo baten output-ematen guztiaren arteko estimazio bat da.
- Errore bat lehen zati artean, adibidez
401edo402, JSON arrunterat dela bueltatzen da bere egoera-kodearekin, ez fluxu gisa. Fluxua hasi ondoren sortzen den errore bat azken gisa iristen dadata: {"error": {…}}ekidea, eta estrea amaitzen da gabe[DONE]. - Tresnak dituzten eskaerak eta OpenAI-ren Erantzunen garraioan dagoen modeloak ez dute hornitzailearen aldetik fluxu bidez bidaltzen. Hala ere, fluxu baliagarri batekin erantzuten dute, erantzuna amaituta dagoenean bidaltzen dena.
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);
}
Tresna deiak
Deskribatu funtzioak honetan tools eta modeloak erantzun beharrean bat deitzeko eska ditzake. Funzioa exekutatzen duzu, bere emaitza gehieki... tool berdinak den mezuarekin
tool_call_id, eta berriro bidali konbertsazioa. Nymbot ez du inoiz zure funtzioak exekutatzen;
modelaren eskaera berriro pasatzen dizu.
tool_choice hartzen ditu "auto", "none",
"required" edo {"type": "function", "function": {"name": "…"}}.
Modelen zerrendak tresnak deitu ditzakekeen modeloak markatzen ditu (capabilities.tools). Tresnak lantzen dira
zalearik gabe 400 unsupported_tool bai nymbot/auto eta OpenAIren Responses transportean funtzionatzen dituzten
katalogo modelo gutxietan, non Nymbot ezin duen tresnak
bidali.
Erekin "stream": true, tresnak dituen eskaera zati bakar batean exekutatzen da eta ondoren lote sekunzia normal gisa bidaltzen da: errolak, indexa, id, izena eta argumentuak duen tresna deia bakoitzeko lote bat, eta amaierako loteak. Tresna deiak streaming bidez irakurtzen dituzten klientek ohiko bezala tratatzen dute.
Euskaraz, zati batean
"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);
Irudiak eskaera batean
Modeloak ...-rekin capabilities.vision argazkiak irakurri ditzake. Gehitu bat image_url
erabiltzaileko mezu baten parte, either publiko bat https:// esteka edo a
data:image/…;base64, URL. Galaera 20 arte eskaera bakoitzeko. SVG irudiak
Gertatuko dira, eta ez ere 4.096 karakteretik handiagoa den esteka bat edo erabiltzaile izena edo pasadorea duen bat
(400 invalid_image_url). Hautatzko bat detail da
auto, low edo high.
Erekin nymbot/auto, irudi bat duen eskaera modelo estandar batera bidaltzen da ikusteko gai denena. Katalogo modelo bat gabe capabilities.vision argazkiak uko egiten die eta
400 unsupported_content. Irudiak soilik erabiltzailearen mezuetan izan daitezke.
Lotua gordin publiko bateraino joan behar da; Nymbot-ek irudia modeloaren hornitzaileari pasatzen dio eta
ez du gordetzen.
Irudi bat horniketa bezala karga egiten da zerbitzarikak eskaera izturgatik kontatzen duen tokenak bezala, eskaeraren gainerakoak bezala.
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);
Pentsamendu logikoa
Modeloak ...-rekin capabilities.reasoning erantzut aurretik pentsatu dezakete. Eskatu gehiago edo gutxiago horretaz reasoning_effort ("minimal", "low",
"medium" edo "high") edo "reasoning": {"effort": "high"}, edo
gehitu :thinking modela izenari, ez esforzu handia esan nahi duena. Pentsapenik gabeko modelo batean, ezarpena ez da kontuan hartzen. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ nymbot/auto, :thinking eskatua bidaltzen du
arrazoibide araututako bidera.
Anthropic modeloetan, ahalegua 1.000, 2.000, 8.000 edo 16.000 inguruko tokeneko pentsamendu aurrekontu bihurtzen da, ez dira inoiz gehiago max_tokens uzten du. Pentsatzea utzi egiten da egunean
tool_choice tresna bat behartzen du, eta eskaerak tresna-zizklo bat jarraitzen duenean (bere azken
mezua tresna-emaitza bat da), Anthropic-ek lehenagoko sinadura duten pentsamendua
berresaten behar duelako. Bera dela eza da Responses eta Messages puntueetan ere.
Pentsamenduak berriro bueltatzen dira message.reasoning_content, edo
delta.reasoning_content streaming egiten duzunean, inoiz ez da erantzunaren barnean nahastu. Pentsamendua
outputa da eta horren arabera kobratzen da, barnean completion_tokensBehin eta bazaten, hornitzaile batzuek ez dute arrazoizko testurik itzultzen, eta hala ere ordaindu egiten da.
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);
Modela iragarkinak
Modeloaren izenaren suffix batek eskatza nola kudeatzen den aldatzen du, beste talde batekinik gabe.
ID osoekin eta izen laburrekin ere lan egiten dute, adibidez anthropic/claude-sonnet-5:online.
| Suffix | Efektoa |
|---|---|
:online | Lehen weba bilatzen du, bezala plugins: [{"id": "web"}]. Ikusi web bilaketa. |
:thinking | Arrazoimen errutua handia; gaean nymbot/auto, razonamendu bidea. Ezin razonatzen duen modelo batean, 400 model_not_found “puntu enduruntarik ez aurkitu” idatziarekin. |
:nitro, :floor, :exacto, :extended | Onartu eta ezabatu. Katalogo bakoitzak ibilbidea bat du, beraz ez dago aukeratzeko azkarrago, merkeago edo luzeagoa; sufikseak onartzen dira, beste zerbitzu batzuetatik kopiatutako modelo izenak hona ere funtzionatzen izan behar delako. |
Suffix beste edozein ez da kontuan hartzen. Izena osoa probatzen da lehen, beraz, id ezagunaak puntu-kolon bat duenean ere funtzionatzen du modelo bat; hori ez bada posible, suffixak amaieratik behin eta akean kentzen dira modelo bat aurkitu arte. Modelo baten izenaren luzea 200 karakterra izan daiteke gehiago, 4 suffix gehien erabiliz; luzeago bat honen bideza errefusatzen da: 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 bilaketa
Chat modelo guztiek web bizi honetik erantzun dezakete. Nymbot-ek azken erabiltzailearen mezuaren bila egiten du (bere lehen 2.000 karakteretan), onena diren orrialdeak irakurtzen ditu eta galderarekin batera modeloari ematen dizkio, instruktiboak ez dituen kanpoko eduki gisa markatuta. Bi modu daude:
- Beti bilatu:
"plugins": [{"id": "web", "max_results": 5}], edo a:onlinesuffixa modeloan. - Bilatu laguntzen denean:
"tools": [{"type": "web_search", "parameters": {"max_results": 5}}], baitza onartuta ereweb_search_previewedoopenrouter:web_search. Nymbot soilak bilatzen ditu galdera informazio egunkotarako behar izaten ari dela diruditzen denean soilik, aplikazioak erabiltzen duen proba bera.
max_results bereziki 5 da eta gehien 10. Iturciak datoz
nymbot.web_search.sources, bakoitza baten bidez title, snippet eta
url, eta bezala url_citation mezularrean oharrak.
Bilaketa bakoitzak 0,008 $ kostatzen ditu, satsetara bihurkiz, tokenen gainetik, eta gordetzeko parte da. Irakurri dituen orriak sarrera tokenak ere dira, beraz, webetik jasotako erantzun bat token hauek baino gehiago kostatzen du galdera bera lehenengoitakoan egiten den baino, batzuetan behin eta berriz ere gehiago.
Euskaraz, zati batean
"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);
Erantzun-APIa
OpenAI-ren format berria, OpenAI Agents SDK-ak eta Codex-ek erabiltzen dena. Chat Completions bezalako modelo, fakturazio eta ezaugarri berdinetan funtzionatzen du.
POST https://nymbot.ai/api/v1/responses — API gako bat behar du.
| Kalea | Idatzi | Beharrezkoa | Deskribapena |
|---|---|---|---|
model | saria | Bai | ...ri dagokionez Txataren betiketak, sufixak barne. |
input | estruna edo taldea | Bai | Agiratu bat, edo elementuen lista bat: mezuak (paperoak user, assistant, system, developer) errazten input_text, input_image eta output_text zatiak, eta function_call eta function_call_output tresnaentzako artikuluak. input_image hartzera du image_url esteka edo datu URLa, ez file IDa. reasoning eta web_search_call elementuak saltatuta daude; item_reference Gertatzea errefusatua da. |
instructions | saria | Ez | Sistemaren argibideak. |
max_output_tokens | entegeroa | Ez | Idazteko token gehienak. |
temperaturetop_p | zenbakia | Ez | Sampleko kontrolak, modeloak horiek hartzen dituen tokietan. |
toolstool_choiceparallel_tool_calls | array, string edo object, boolean | Ez | Funzio tool-ak, Erantzunen formaean ({"type": "function", "name": …, "parameters": …}). A web_search edo web_search_preview tresna켜진다 web bilaketa laguntzen denean. Beste tresna integratuak gaitzaturrak dira. |
reasoning | objektua | Ez | {"effort": "minimal" | "low" | "medium" | "high"}. xhigh eta max esan nahi du high; none desaktibatzen du. |
text.formatresponse_format | objektua | Ez | Egituratutako irtekinak, JSON schema gisa edo json_object. |
metadata | objektua | Ez | Erantzunean aldatu gabe itzuli. Begiratu 16 string balio, 64 karakteretaraino klyeak eta 512 karakteretaraino balioak. |
stream | boolean | Ez | Beheko bezala deskribatzen diren ekitalak estramatu. |
store | boolean | Ez | Ez jaramonik. Ez da ezer gordetzen, eta erantzunak beti dio... "store": false. |
previous_response_idconversationbackground | string, objektua, boolean | Ez | Ez da lagunatua: 400 unsupported_parameter. Erantzunak ez dira gordetzen, beraz bidali elkarrizketa osoa input aldi guztietan. |
Erantzuna
{
"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 }
}
Tresna eskaera bat agertzen da output gisa function_call item batenekin
call_id, name eta arguments; bidali emaitza atzera a bezala
function_call_output berarekin bera duen elementua call_id. Pentsamena, modeloak
itzultzen duenean, da reasoning item batenekin reasoning_text edukiak,
lehenengoa zerrendatuta. status da incomplete erantzunaren momentuetan
max_output_tokens edo hornitzaileak uko egin luke,
incomplete_details.reason ezarri honako hau max_output_tokens edo
content_filter. Erantzunak OpenAI-renak egiten duen bezala eskaeraren konfigurazioak ere islatzen ditu (tenperatura, tresnak, tresna-hauterakoa eta abar), eta darama... nymbot kostua
objektua.
Transmititua, ekitaldi bakoitza da event: lerra eta a data: a linea duen lerroa
sequence_number, honen ordenan: response.created,
response.in_progress, response.output_item.added,
response.content_part.added, zenbat eta zenbat response.output_text.delta,
response.output_text.done, response.content_part.done,
response.output_item.done, eta azkenik response.completed erabilera eta kostuarekin. Galdekortasunak amaitutako erantzun bat honen amaiera du response.incomplete alabidean, eta
akats bat hasieratik hasi zen fluxua... response.failed. Pentsamendu fluxoak bere
berrizko elementu gisa dago response.reasoning_text.delta eta .done. Tresna deiak
mezkiaren ondoren etorri egiten dira, bakoitza elementu gisa response.function_call_arguments.delta
eta .done.
| Estatusa | Noiz |
|---|---|
400 | Ez model edo input; previous_response_id, conversation, background edo bat item_reference (unsupported_parameter); ez destekatutako tresna edo edukiaren mota. |
402, 403, 404, 429, 502, 503 | Chat Completions bezalako. |
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);
Anthropic Mezuak
Anthropic-en formatua, Anthropic SDK-entzat eta Claude Code-entzat. Katalogo guztiko modelo guztiekin funtzionatzen du, ez bakarrik Claude-rekin: eskaera baino baino itzulitzen da, pipeline beretik igarotzen da eta berriro itzulitzen da.
POST https://nymbot.ai/api/v1/messages — API gako bat behar du, bezala x-api-key edo Authorization: Bearer.
-a anthropic-version eta anthropic-beta tituluak onartzen dira eta
ahazten dira. Anthropic modelo izenak katalogoarekin alderatzen dira, beraz Claude Code eta SDKak
ojan erabiltzen dituzten izenekin funtzionatzen dute:
- Katalogak ezagutzen duen izen bat, adibidez
claude-sonnet-5edoanthropic/claude-opus-5, bezala erabiltzen da. - Bestela data (
-20260514),-latest, bertsio-etiketa bat bezalako-v1, parentesizatuko etiketa bat, adibidez[1m]eta etaanthropic/edoanthropic.prefixak kentzen dira, eta puntuek eta marraz adarrek berezingo bide biak probatzen dira bertsioan (claude-haiku-4-5aurkikuntzakclaude-haiku-4.5). - Hala ere ezer ez batera, familia (Opus, Sonnet edo Haiku) erabiltzen da, katalogoaren bertsioa eskatutakoa baino berria edo bera den bitartean.
- Ezer ez duen izena itzultzen da.
404not_found_error.
| Kalea | Idatzi | Beharrezkoa | Deskribapena |
|---|---|---|---|
model | saria | Bai | Katalogeko modelo ID bat, edo Anthropic modelo izena. |
max_tokens | entegeroa | Bai | Idazteko token gehienak. |
messages | taldea | Bai | user eta assistant birak, ,rekin text, image (base64 edo URL iturria), tool_use eta tool_result blokeak. thinking lehenagoko txanquetako blokeak onartzen dira eta uzten dira. |
system | estruna edo taldea | Ez | Sistema prompta, testu-atzalgi gisa edo testu-bloke gisa. |
temperaturetop_p | zenbakia | Ez | Sampleko kontrolak, modeloak horiek hartzen dituen tokietan. top_k onartu eta bertan uztean. |
stop_sequences | testuinguruko testuingarri arraya | Ez | Erantzuna amaitzen duen testua. Gutxienez 4 esteka, bakoitza 256 karakterera beharra ez duena. |
toolstool_choice | matorea, objektua | Ez | Tresnak name, description eta input_schema. A web_search zerbitzaritza tresna켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜켜 web bilaketa; Anthropic-en beste tresna barnekoak (bash, testu editorea, ordenagailuaren erabilera) baztertzen dira unsupported_tool. tool_choice hartzen ditu auto, any, tool edo none, eta disable_parallel_tool_use. |
thinking | objektua | Ez | {"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} edo {"type": "disabled"}Aurrekontuak ahalegin maila bat hautatzen du: 2.048 azpian minimoa, 2.048tik baxua, 8.192tik ertaina, 16.384tik handia. Adaptiboak erabiltzen ditu output_config.effort, edo altua. |
stream | boolean | Ez | Eskatua Anthropic-en ekitaldi formatuan. |
metadata | objektua | Ez | Onartu eta ezetsi. |
Erantzuna
{
"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 gainera eutsi dezake tool_use blokeak eta a thinking
bloke, norren signature batik eskatzen da. stop_reason da
end_turn, max_tokens, tool_use edo refusal,
modu berean egin zuen bera bezala finish_reason bai
Txataren betiketak; stop_sequence beti da
null, erantzukizuna geldialdi-sekuentzia batek amaitu zuenera ere. input_tokens kontuak
sartu berriak bakarrik; cache-etan dauden sartuak bi cache-aretan daudela. Kostua hau da
nymbot objektua eta X-Nymbot-Cost-Sats goib idea.
Transmitituta, Anthropic-en ekitaldiak hauek dira: message_start,
content_block_start, ping, content_block_delta
(text_delta, input_json_delta edo thinking_delta),
content_block_stop, message_delta geldialdi arrazoarekin, erabilera eta
eta nymbot kostu-objektua, eta message_stop. A ping modeloa lan egiten ari den bitartean 15 segundotan behin ere bidaltzen da. Tresna deiak testuaren ondoren iristen dira, bakoitza gisa
tool_use blokea bere sarrera osoa bat</h4> input_json_delta.
Hauko endpoint honetako erroreak Anthropic-en formatua erabiltzen dute:
{"type": "error", "error": {"type": "not_found_error", "message": "…"}}. A
saldoa laburra da 402 billing_error, hornitzaile gehiegi kargatua
503 overloaded_error. Fluxa haseri ondoren meydana datorteko akatsa bidaltzen da
bat bezala error ekidea.
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);
Tokenak kontatzen
Mezu-eskako baten token sarrera zenbat izangoen kalkulua, bezeroak bidali aurretik egiaztatu sakeko. Doakoa da, baina gako bat behar du ordez.
POST https://nymbot.ai/api/v1/messages/count_tokens — API gako bat behar du. Doan.
Gorputza bera da... bera bezalakoa Mezuak, gabe max_tokens; modeloaren izenaren resolbaidea behar da. Kopurua estimazio bat da: sistema promptaren, mensajeen, tresna deialzien eta tresna definiziozko karakterrak lauetan banatuta, eta irudi bakoitzeko 1.600 gehituz. Ez da hornitzailearen propioa tokenizerra, beraz kopuru benetrak desberdin izan daiteke. Bere limitea iritsi duen gako batek oraindik erabili dezake hori.
Erantzuna
{ "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);
Modelak zerrendatzea
APIak onartzen dituen talde eta generatzaile guztiak, haien kostekin. Zerrenda aplikazioaren hautatzaileko katalogo biziarekin soilik irakurtzen da, beraz, beti zerbitzarik exekutatuko duenena da.
GET https://nymbot.ai/api/v1/models — ez da giltzarik behar. Bost minutuz gordeta.
GET /api/v1/models/{id} sarrera bat itzultzen du.
| Kalea | Idatzi | Beharrezkoa | Deskribapena |
|---|---|---|---|
type | testuinguru (bilaketa) | Ez | chat (berezgaia), image, video, audio, embedding edo all. Batzuk eman daitezke, bezala image,video. |
Prezioak ordainatzen dituzuna dira, komisioa eta labanategia barne artean, dolarretan eta satseletan Bitcoinren egungo prezioan. balance modeloak zer saldo gastatzen duen esaten du.
nymbot_key aplikazioan dago modelaren izen laburra. created beti da
0, katalogoak ez duel erregistroetan gordetzen modelo bat noiz gehitu zen. Token
publizatutako tarifarik gabeko modelo bat prezioa du per_request horren ordez.
nymbot/auto beti lehen doa, prezioa hau da variable, baten ariarekin
routes ibilbide standard bakoitzaren tarifak ematen dituen zerrenda. Ikusera eta razonamendua azaltzen ditu, baina ez ditu tresnak.
GET /api/v1/models/{id} eskaerako izen eta izen-altuak berak onartzen ditu, eta
deskargatzen diren modeloaren sarrera itzultzen du.
Erantzuna
{
"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"
}
]
}
Beste motak:
- Irudi sarrerak dute
capabilities(accepts_image_url,requires_image_url,edit) eta prezio batper_generation. - Bideoa sarrerak dute
max_duration_secondsetaresolutions, eta prezio batper_secondresoluzio bakoitzentzat. - Audio sarrerak dute
audio_typespeechedotranscription, prezioa markatuaper_1k_charsedoper_minute. - Embedimentua sarrerak dute
dimensions,context_length,max_inputseta milioi token bakoitzeko prezioa.
Prezioak markatuak "estimated": true aplikazioak estimatzen dituen balioak generator batentzat,
ez duela prezioa argitaratzen. Ezaguna gabe bat type itzulpenak 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);