Þekkingargrunnur Framleiðendur
Chat, svör og skilaboð
Þrír leiðir til að spyrja líkan eitthvað, í þremur sniðum sem viðskiptavinir eru þegar að tala, allt að keyra á sömu líkanum og reiknað á sama hátt.
Þessi síða er vélþýdd til hægðarauka. Enska frumritið er útgáfan sem á við.
Chat fullnægingar
The OpenAI spjall snið, og einn sem nánast hvert verkfæri styður. Sendu samtalið þangað til og fá næsta skilaboð aftur.
POST https://nymbot.ai/api/v1/chat/completions Þarf að nota API lykil.
Aðeins model og messages A sýningartilvik sem valinn líkan tekur ekki er kastað án mistök, þannig að einn beiðni líkaminn virkar á milli líkanna. supported_parametersÞað sem neitað er frekar en kastað er það sem líkan getur ekki gert alls: myndir fyrir líkan sem getur ekki séð, verkfæri fyrir líkan sem getur ekki kallað þá.
| Fields | tegund | nauðsynlegt | lýsingu |
|---|---|---|---|
model | Strengið | Já | nymbot/auto (eða auto) fyrir leiðbeiningu Nymbots á staðlaða jafnvægi, eða söfnunartími, eins og anthropic/claude-sonnet-5 á Pro jafnvægi. Skammt nöfn og smásögur forritsins eru einnig samþykktar. Getur endað í nægir. |
messages | Array | Já | Samskipti - hlutverk system, developer (Það er notað sem kerfi) user, assistant og toolInnihald er röð eða lista af text og image_url hluti; myndir aðeins í notandi skilaboðum. input_audio og skrá hluti eru hafnað. |
stream | Boolean | Nei ekki | Sendu svarið eins og það er skrifað.Sjá Streaming. |
stream_options | Objektum | Nei ekki | {"include_usage": true} bætir við endanlega stykki með token reikningum og kostnaði. |
max_tokensmax_completion_tokens | Ítrekað | Nei ekki | Flest tokens til að skrifa. Læst niður til hámarks líkanarinnar ef hærri. Einnig setur upp hversu mikið er haldið frá jafnvægi þínu, þannig að minni fjöldi þarf minna kredit til að byrja. |
temperaturetop_p | Fjöldi | Nei ekki | Sampling eftirlitsreglur: temperature frá 0 til 2, top_p frá 0 til 1. |
stop | String eða Array | Nei ekki | Text sem endar svarið: Stringa eða hámarks 4 stringa, hámarks 256 stafir hver. nymbot/auto. |
seed | Ítrekað | Nei ekki | Til endurtekinna sýningar, þar sem líkan styður það. |
presence_penaltyfrequency_penalty | Fjöldi | Nei ekki | Hreyfingartölur, hver frá -2 til 2. |
response_format | Objektum | Nei ekki | {"type": "json_object"} eða {"type": "json_schema", "json_schema": {…}}, þar sem líkan styður það. Ekki notað af nymbot/auto. |
toolstool_choiceparallel_tool_calls | Array, String eða Object, Boolean | Nei ekki | Ráðstefnumót. sjá Tölvuleiðir• A web_search Tólin snúast á Vefsíða leitarAð hámarki 128 verkfæri og 512 KB skilgreiningar, hnistuð á hámarki 64 stigum dýpt; meira er 400. |
reasoning_effortreasoning | Strengur og Object | Nei ekki | "minimal", "low", "medium" eða "high"eða {"effort": "high"}. "none" eða {"enabled": false} Endurtakið það. sjá Hugsanir. |
plugins | Array | Nei ekki | [{"id": "web", "max_results": 5}] alltaf leitar á netinu fyrst. Hingað til 10 niðurstöður. |
n | Ítrekað | Nei ekki | 1. allt annað kemur aftur 400. |
logit_biasusermetadata | Object, String og Object | Nei ekki | samþykkt og ekki send. logit_bias kort á hámarki 300 token ids til tölur frá -100 til 100; user Það eru allt að 256 stafir. metadata Hægt er að nota hámarks 16 stringa gildi, lykla hámarks 64 stafi og gildi hámarks 512. |
Svarið er venjulegt chat.completionMeð kostnaði í usage.cost
(í dollara) og í nymbot Ástæðan er model er leystur líkan id, þannig að stutt nafn kemur aftur sem fullan. Ef líkan reyndist áður en svarað er, þá er message.reasoning_contentAðskilja sig frá svarið.
Svarið
{
"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 er unnið út úr því sem kom aftur, þar sem birgir tilkynna það öðruvísi: tool_calls Þegar maður bað um verkfæri, length þegar svarið notaði hverja leyfilegan tákn (eða líkan eyðaði þeim öllum hugsun og skrifaði ekkert svar), content_filter þegar vefurinn neitaði og stop
Annars er usage.completion_tokens_details.reasoning_tokens er alltaf 0: falið rökfræði tokens eru talin, og tekin, í completion_tokens.
| Staðsetning | Þegar |
|---|---|
400 | Nei ekki model eða messages (missing_required_parameter); hljóð eða skrá hluti, eða myndir fyrir líkan sem getur ekki séð þá (unsupported_content); meira en 20 myndir (too_many_images); sýningartími mismunandi tegund eða út af sviði (invalid_value); mynd tengil sem er ekki opinber (invalid_image_url); verkfæri á líkan sem ekki getur kallað þá (unsupported_tool); n annað en 1; a :thinking á formi sem ekki getur lýst (model_not_found); eða vefurinn hafnaði beiðni (upstream_rejected). |
402 | The jafnvægi sem líkan eyðir getur ekki náð haldi. |
403 | Sérsta málið er ekki að passa lykillinn (key_limit_reached• Lágmarki max_tokens eða hækka höfuðið. |
404 | (Ekki neitt með þessu nafni)model_not_found). |
429 | Hægt er að setja upp hættu á lykilinn, eða þjónustuveitanda (upstream_rate_limited). |
502, 503 | Þátttakandinn var ekki til (upstream_error) eða er yfirgefið (upstream_overloaded, með Retry-AfterEkkert er borgað nema veitirinn gjaldði fyrir tilraunina. |
Staðsetningarkóðirnir fyrir hvert endapunkt hlutverk eru listar undir Mistök.
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
með "stream": true Svarið kemur sem atburður sem sendur er á þjónustunni á meðan líkan skrifar það. chat.completion.chunk á a data: lína, og flæði endar með data: [DONE]Hugsanir koma í
delta.reasoning_contentSvarið er í delta.content.
Stream allt sem getur tekið meira en um 100 sekúndur, svo sem langan svör, stór
max_tokens A beiðni sem er ekki flutt sendir ekkert fyrr en svarið er lokið, og net milli þín og Nymbot getur lokað óþarfa tengingu eftir um 100 sekúndur; líkan er enn lokið og það sem hún skrifaði er hlaðið, en svarið er misst.
Streymið
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]
- Línur sem hefjast með
:eru lifandi athugasemdir, sendar á hverjum 15 sekúndum meðan líkan er að hugsa. - Spyrja fyrir
"stream_options": {"include_usage": true}til að fá síðasta stykki ofan, með tómumchoices, táknið telur, kostnaður ognymbotÁstæðan er - Ef þú lokað tengslunni snemma, er líkan ekki stöðvað: Nymbot les restina af flæði þjónustuveitanda, í allt að 25 sekúndur, til að fá tákn reikning, og þú greiðir það sem þjónustuveitandi tilkynnt.
- mistök áður en fyrri stykki, svo sem
401eða402, kemur aftur sem venjulegur JSON með stöðu kóði sínum, ekki sem flæði. Erfiða eftir að flæði hefur byrjað kemur sem síðastadata: {"error": {…}}viðburður, og flæði endar án þess að[DONE]. - Spurningar með verkfærum og módelum á OpenAI Responses flutningi fljúga ekki frá birgja. Þeir svara enn með gildri flæði, sent þegar svarið er lokið.
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);
}
Tölvuleiðir
Skrifaðu hlutverk í tools og líkan getur beðið um að hringja í stað þess að svara. Þú keyrir hlutann, bætir niðurstöður hans sem tool Skilaboð með sömu
tool_call_id, og senda samtalið aftur. Nymbot keyrir aldrei aðgerðir þínar; það sendir beiðni módelsins aftur til þín.
tool_choice Taktu "auto", "none",
"required" eða {"type": "function", "function": {"name": "…"}}Hugbúnaðurinn getur notað tækni til að nota tækni (capabilities.toolsTólin eru hafnað með 400 unsupported_tool er nymbot/auto og á nokkrum söfnunarmódelum sem keyra á OpenAI Responses flutningi, sem Nymbot getur ekki gefið verkfæri til.
með "stream": true, beiðni með verkfæri gengur í einum stykki og er síðan sent sem eðlilegt stykki röð: hlutverk, einn stykki sem ber hvert verkfæri kalla með vísitölum sínum, id, nafn og atriði, og lokið stykki.
Svarið, að hluta
"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);
Myndir í beiðni
Hugmyndir með capabilities.vision Getur lesið myndir. bæta við image_url
part til notanda skilaboð, með annaðhvort almenning https:// Link eða A
data:image/…;base64, Sérstaklega er hægt að taka þátt í því að taka þátt í samskiptum sem eru í samskiptum sem eru í samræmi við samskiptum sem eru í samskiptum og eru í samræmi við samskiptum sem eru í samræmi við samskiptum og samskiptum sem eru í samskiptum (400 invalid_image_url) er valfrjáls detail er
auto, low eða high.
með nymbot/auto, beiðni með mynd í henni er beint til venjulegs líkan sem getur séð. capabilities.vision hafna myndum með
400 unsupported_contentMyndir geta aðeins verið í notandi skilaboðum. tengil þarf að leggja til almennings gestgjafa; Nymbot sendir myndina til framleiðanda líkanarinnar og geymir það ekki.
Myndir eru teknar upp sem inngöngutóknir sem veitirinn telur fyrir það, eins og restin af beiðni.
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);
Ástæður
Hugmyndir með capabilities.reasoning geta hugsað áður en þeir svara. biðja um meira eða minna af því með reasoning_effort ("minimal", "low",
"medium" eða "high") eða "reasoning": {"effort": "high"}eða bæta við :thinking að nafn líkanna, sem þýðir mikla viðleitni. Á líkanum án ástæðu er stillingin horfin. Með nymbot/auto, :thinking sendir beiðni til venjulegs ástæðu leiðarinnar.
Á Anthropic gerum viðleitni hugsanlega fjárhagsáætlun um 1.000, 2.000, 8.000 eða 16.000 tokens, aldrei meira en max_tokens Hugsað er, hugsað er þegar
tool_choice þvinga verkfæri, og þegar beiðni heldur áfram verkfæri loop (síðasta skilaboð hennar er verkfæri niðurstöðu), vegna þess að Anthropic þarf fyrri undirritað hugsun til að endurnýja það.
Hugmyndin kemur aftur í message.reasoning_contenteða
delta.reasoning_content þegar streymir, aldrei blandað inn í svarið. Ákvörðun er útgangur og er hlaðið sem svo, innan completion_tokensSumir veitir ekki endurgreiðslu texta alls, og það er enn að borga.
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);
Myndavél suffixes
Hlutverk á nafn líkanna breytir því hvernig beiðnið er meðhöndlað, án annars sviðsins. Þeir vinna á fullum ID og stuttum nöfnum eins og í anthropic/claude-sonnet-5:online.
| nægir | Áhrif |
|---|---|
:online | Leitaðu fyrst á netinu, eins og plugins: [{"id": "web"}]sjá Vefsíða leitar. |
:thinking | mikill skynsemi; á nymbot/auto, rökréttarferð. Á líkan sem getur ekki rökrétt, 400 model_not_found með “ engin endpoints found”. |
:nitro, :floor, :exacto, :extended | Sérhver listamálið hefur einn leið, þannig að það er engin hraðar, ódýrari eða lengri leið til að velja; fylgihlutir eru leyfðar þannig að nafn líkanna sem copied frá öðrum þjónustu enn virkar. |
Öll nafn er prófað fyrst, þannig að líkan sem ID í raun inniheldur þunglyndi virkar enn; ef það er ekki gert, eru þunglyndi teknar frá endanum einn í einu þar til líkan samsvarar. 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);
Vefsíða leit
Nymbot leitar eftir síðasta notanda skilaboðinu (fyrstu 2.000 stafi), les bestu síðurnar og gefur þeim til líkanar með spurningunni, merkt sem utan efni sem líkan ætti ekki að taka leiðbeiningar frá.
- Alltaf að leita:
"plugins": [{"id": "web", "max_results": 5}]eða a:onlineNánari á líkanum. - Leitaðu þegar það hjálpar:
"tools": [{"type": "web_search", "parameters": {"max_results": 5}}]Einnig samþykkt semweb_search_previeweðaopenrouter:web_searchNymbot leitar aðeins þegar spurningin virðist þurfa núverandi upplýsingar, sama próf sem forritið notar.
max_results er 5 fyrirfram og að hámarki 10. uppspretta koma aftur í
nymbot.web_search.sourcesHver með a title, snippet og
urlog eins og url_citation Skilaboð á skilaboðinu.
Hvert leit sem hlaut kostar $ 0,008, breytt í sats, ofan á tokens, og það er hluti af haldi. síðurnar sem hún les eru innflutnings tokens líka, svo svör frá vefnum kostar meira en sama spurning spurði kaldur, stundum nokkrum sinnum meira.
Svarið, að hluta
"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);
Svör við eldur
Nýjari snið OpenAI, notað af OpenAI Agents SDK og Codex. Það hlaupa á sömu módelum, reikning og aðgerðir eins og Chat Completions.
POST https://nymbot.ai/api/v1/responses Þarf að nota API lykil.
| Fields | tegund | nauðsynlegt | lýsingu |
|---|---|---|---|
model | Strengið | Já | Eins og fyrir Chat fullnægingarÞær fylgjast með suffixes. |
input | String eða Array | Já | Stringa, eða lista yfir atriði: skilaboð (hlutverk user, assistant, system, developer) með input_text, input_image og output_text hluta, og function_call og function_call_output Vörur fyrir verkfæri. input_image Taktu einn image_url tengil eða gögn URL, ekki skrá id. reasoning og web_search_call atriði eru skipt; item_reference Það er hafnað. |
instructions | Strengið | Nei ekki | Leiðbeiningar um kerfið. |
max_output_tokens | Ítrekað | Nei ekki | Meirihluti til að skrifa. |
temperaturetop_p | Fjöldi | Nei ekki | Sampling stjórn, þar sem líkan tekur þá. |
toolstool_choiceparallel_tool_calls | Array, String eða Object, Boolean | Nei ekki | Hugbúnaðurinn er í samræmi við viðbrögð ({"type": "function", "name": …, "parameters": …}) a web_search eða web_search_preview Tólin snúast á Vefsíða leitar Þegar það hjálpar eru aðrar innbyggðar verkfæri hafnað. |
reasoning | Objektum | Nei ekki | {"effort": "minimal" | "low" | "medium" | "high"}. xhigh og max þýðir high; none Endurtakið það. |
text.formatresponse_format | Objektum | Nei ekki | Stýrt útgáfa, eins og JSON skipulagi eða json_object. |
metadata | Objektum | Nei ekki | Returned óbreytt í svari. Á hámarks 16 stringa gildi, lykla allt að 64 stafi og gildi allt að 512. |
stream | Boolean | Nei ekki | Stream atburðir eins og lýst er hér að neðan. |
store | Boolean | Nei ekki | Ekkert er geymt, og svarið segir alltaf "store": false. |
previous_response_idconversationbackground | String, Object og Boolean | Nei ekki | Ekki styðjað : 400 unsupported_parameterSvör eru ekki geymdar, þannig að senda alla samtalinu í input Í hvert sinn. |
Svarið
{
"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 }
}
Tilkynning um verkfæri birtist í output eins og a function_call Atriði með
call_id, name og argumentsSendu niðurstöðurnar aftur sem a
function_call_output Staðsetning með sömu call_idReasoning, þegar líkan gefur það aftur, er reasoning Atriði með reasoning_text Innihald, listast fyrst status er incomplete Þegar svarið hitti
max_output_tokens eða vefurinn hafnaði, með
incomplete_details.reason Settu á max_output_tokens eða
content_filterSvarið endurspeglar einnig stillingarnar fyrirspurnanna (hitastig, verkfæri, verkfæri val og svo framvegis) eins og OpenAI gerir, og fylgir með nymbot Kostnaður fyrir hlutina.
Áhugaverð, hvert atburður er event: Línu og a data: Línu með a
sequence_numberí þessari röð: response.created,
response.in_progress, response.output_item.added,
response.content_part.addedHver fjöldi af response.output_text.delta,
response.output_text.done, response.content_part.done,
response.output_item.doneOg að lokum response.completed með notkun og kostnað. svar skera stutt endir með response.incomplete í staðinn, og mistök eftir að flæði byrjaði með response.failedHugleiðsla á strömum sem eigin hlut með response.reasoning_text.delta og .doneTölur koma eftir skilaboðinu, hver sem atriði með response.function_call_arguments.delta
og .done.
| Staðsetning | Þegar |
|---|---|
400 | Nei ekki model eða input; previous_response_id, conversation, background eða item_reference (unsupported_parameter); ekki styðjað verkfæri eða efni tegund. |
402, 403, 404, 429, 502, 503 | Hvað um chat fullnægjendur. |
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 skilaboð
Anthropic formatið, fyrir Anthropic SDKs og Claude Code. Það virkar með öllum gerðum í söfnuðinum, ekki aðeins Claude: beiðni er þýtt, hlaupið í gegnum sömu pipeline og þýtt aftur.
POST https://nymbot.ai/api/v1/messages - þarf API lykil, eins og x-api-key eða Authorization: Bearer.
The anthropic-version og anthropic-beta Anthropic líkannafn eru samsvarað söfnuðinum, þannig að Claude Code og SDKs vinna með þeim nöfnum sem þeir nota nú þegar:
- Nafnið sem listinn þekkir, svo sem
claude-sonnet-5eðaanthropic/claude-opus-5Það er notað eins og það er. - um dagsetningu (
-20260514),-latest, útgáfa tag eins og-v1, bracketed dag eins og[1m]og einanthropic/eðaanthropic.Hugmyndir eru teknar út, og stig og dásir í útgáfunni eru reynt báðar leiðir (claude-haiku-4-5finnurclaude-haiku-4.5). - Ef það passa enn ekki, er fjölskyldan (Opus, Sonnet eða Haiku) notað, svo lengi sem útgáfa greinarinnar er sömu eða nýrri en það sem beðið er um.
- Nafnið sem passa ekki við neitt kemur aftur
404not_found_error.
| Fields | tegund | nauðsynlegt | lýsingu |
|---|---|---|---|
model | Strengið | Já | A catalog model id, eða Anthropic modell nafn. |
max_tokens | Ítrekað | Já | Meirihluti til að skrifa. |
messages | Array | Já | user og assistant að snúa, með text, image (Base64 eða URL uppspretta) tool_use og tool_result Blokkinn á. thinking Blókar frá fyrri snúningum eru samþykktar og kastaðar. |
system | String eða Array | Nei ekki | System prompt, eins og string eða texta blokk. |
temperaturetop_p | Fjöldi | Nei ekki | Sampling stjórn, þar sem líkan tekur þá. top_k Það er samþykkt og kastað. |
stop_sequences | Tölur af Strings | Nei ekki | Text sem endar svarið. Hámarks 4 stringa, hámarks 256 stafi hver. |
toolstool_choice | Áhrif, fyrirbæri | Nei ekki | verkfæri með name, description og input_schema• A web_search Server Tool fer fram á Vefsíða leitarAðrar innbyggðar verkfæri Anthropic (bash, textaskrá, tölvu notkun) eru hafnað með unsupported_tool. tool_choice Taktu auto, any, tool eða noneog disable_parallel_tool_use. |
thinking | Objektum | Nei ekki | {"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} eða {"type": "disabled"}Fjárhagsáætlunin velur áherslu: undir 2.048 lágmarks, frá 2.048 lágmarks, frá 8.192 miðlungs, frá 16.384 hár. output_config.efforteða hár. |
stream | Boolean | Nei ekki | Stream í viðburðarstigi Anthropic. |
metadata | Objektum | Nei ekki | viðurkennd og óþekkt. |
Svarið
{
"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 Einnig er hægt að halda tool_use Blokk og A thinking
Blokk, sem signature Það er tómt. stop_reason er
end_turn, max_tokens, tool_use eða refusalHann starfaði á sama hátt og finish_reason er
Chat fullnægingar; stop_sequence Það er alltaf
null, jafnvel þegar hætta sekúndur endaði svarið. input_tokens nýtt inntök telst aðeins; Cached inntök er í tveimur cache sviðum. Kostnaður er í
nymbot Object og X-Nymbot-Cost-Sats Heiður
Hljómar, atburðirnar eru Anthropic's: message_start,
content_block_start, ping, content_block_delta
(text_delta, input_json_delta eða thinking_delta),
content_block_stop, message_delta með hættu ástæðu, notkun og nymbot Kostnaður fyrir hlutina og message_stop• A ping er einnig sendur á hverjum 15 sekúndum meðan líkan er í gangi. Tölvuleiðir koma eftir texta, hver sem
tool_use blokk með öllu inntakinu í einum input_json_delta.
Mistök á þessum endapunkti nota formátum Anthropic:
{"type": "error", "error": {"type": "not_found_error", "message": "…"}}Skortur jafnvægi er 402 billing_error, yfirþreyttur birgir
503 overloaded_errorA mistök eftir að flæði hefur byrjað er sent sem error viðburði .
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);
Að telja tokens
Upphæð á því hversu margir inngöngutóknir skilaboð myndi nota, svo að viðskiptavinur geti athugað áður en það sendir.
POST https://nymbot.ai/api/v1/messages/count_tokens — þarf API lykill. Frjáls.
Líkaminn er eins og SkilaboðÁn max_tokens; nafn líkanna þarf að leysa. reikningin er áætlun: stafi kerfisspjall, skilaboð, verkfæri kalla og verkfæri skilgreiningar skipt með fjórum, auk 1,600 fyrir hvert mynd. Það er ekki eigið tokenizer, þannig að raunverulegur reikning getur verið mismunandi. lykill sem hefur náð hámarki sínu getur enn notað það.
Svarið
{ "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);
Listið módel
Hver líkan og myndavél sem API samþykkir, með því hvað það kostar. Listið er lesið úr sömu lifandi greininni eins og pickeri forritinu, svo það er alltaf það sem þjónustan mun keyra.
GET https://nymbot.ai/api/v1/models - Engin lykill þarf. Skrifað í fimm mínútur.
GET /api/v1/models/{id} Returns 1 innleiðing.
| Fields | tegund | nauðsynlegt | lýsingu |
|---|---|---|---|
type | Þátttakendur (Query | Nei ekki | chat (Það er að minnsta kosti, image, video, audio, embedding eða allNokkrir geta verið veitt, eins og image,video. |
Verð eru það sem þú borgar, með gjaldmiðli og margsins þegar í, í dollara og í sats við núverandi Bitcoin verð. balance segir hvaða jafnvægi líkan eyðir.
nymbot_key er stutt nafn módelsins í app. created er alltaf 0, þar sem greinin skráir ekki hvenær líkan var bætt við. per_request í staðinn.
nymbot/auto er alltaf fyrst, verðlaun sem variable, með a
routes Listi sem gefur hverjum venjulegum leiðarstigum. Það listar sýn og rökfræði, en ekki verkfæri.
GET /api/v1/models/{id} viðurkennir sömu nöfn og smásögur sem beiðni og gefur til baka inntakið fyrir líkan sem þeir ákveða.
Svarið
{
"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"
}
]
}
Aðrir tegundir:
- Myndir Innleiðingar hafa
capabilities(accepts_image_url,requires_image_url,edit) og verðper_generation. - Vídeó Innleiðingar hafa
max_duration_secondsogresolutionsog verðper_secondfyrir hverja ákvörðun. - Audió Innleiðingar hafa
audio_typespeecheðatranscriptionVerðlaunper_1k_charseðaper_minute. - innblástur Innleiðingar hafa
dimensions,context_length,max_inputsog verð á milljón innflutnings tokens.
Verð merktar "estimated": true eru áætlanir forritsins fyrir rafall sem verð er ekki birt. óþekkt type Til baka 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);