Holo i ka ʻike
Hoʻi i Nymbot

kahua ʻike Nā mea kūkulu polokalamu

Kūkākūkā, Nā Pane a me Nā Memo

ʻElei ʻano e nīnau ai i kekahi mōhele, ma nā ʻano ʻelua e kamaʻilio ai nā mea kūʻai, a pau paha e halihia ʻia e nā mōhele like ʻole a e kālā ʻia paha ma ke ʻano like ʻole.

Nā Hoʻopukapuka Kamaʻilio

Ka papa kiko OpenAI chat, a ʻo ka mea e kākoʻo ʻia nei e kēlā me kēia mea hana ma mua o ia. Lawe i ka kamaʻilio i kēia manawa a e loaʻa ai ka ʻōlelo aʻe aʻe.

POST https://nymbot.ai/api/v1/chat/completions — pono i ka API key.

Maikaʻi wale nō model a messages he mea pono ʻia. He papa mea pili ʻana ka mea i koho ʻia ʻaʻole lawe ʻia e ka māhele, e nalo ʻia ia me ka ʻole o kekahi hewa, no laila e hana ai ka mea pono kumu hoʻokahi ma luna o nā māhele. ʻO ka papa inoa māhele ke hāʻawi nei i kēlā me kēia māhele ka supported_parametersʻO ka mea e kūʻokoʻa ʻia ʻia ma mua o ka poho ʻana, ʻo ia kēlā mea āpau i ʻole hiki i ka mōʻaukala ke hana: nā kiʻi no kahi mōʻaukala ʻole hiki ke ʻike, nā mea hana no kahi mōʻaukala ʻole hiki ke koepu iā laila.

MāheleʻOleloPonoKāʻano
modelleleʻAenymbot/auto (a ʻo auto) no ka hoʻololi ala o Nymbot ma ka pāʻoakuʻu maʻamau, a i ʻole he catalog model id e like me kēia anthropic/claude-sonnet-5 ma ka pūlama Pro. ʻAe pū nō nā inoa pōkole a me nā inoa ʻē aʻe o ka polokalamu. Hiki ke hopena i ka hopena hua.
messagespapa lālāʻAeKa kamaʻilio ʻana. Nā kuleana. system, developer (wehewehe ʻia e like me ka ʻōlelo ʻō</h1>) user, assistant a toolʻO ka mea waiwai he huaʻōlelo a i ʻole he papa inoa o text a image_url mau helu; mau kiʻi wale nō i nā memo a ka mea hoʻohana. input_audio a ʻo nā ʻāpana faili i kūʻole ʻia.
streampōʻoleaʻAʻoleHoʻouna i ka pane ma o ia mau huaʻōlelo i kākau ʻia. Nānā hoʻololi ʻana mea ʻike ʻoihana.
stream_optionsmea uluʻAʻole{"include_usage": true} hoʻemi i kahi ʻāpana hope me nā helu token a me ke kumukūlana.
max_tokens
max_completion_tokens
helu pololeiʻAʻoleHe nui loa nā huaʻōlelo i ka kākau ʻana. Inā he nui loa, e hoʻonui ʻia i ka nui loa o ka ʻano hana. Ke hoʻohana pū ana kēia i ka nui o ka pila, no laila, ʻo ka helu liʻiliʻi ka mea e pono ai i ka kākoʻo kālā ʻoi aku ʻole.
temperature
top_p
heluʻAʻoleNā koakoa ʻana loea: temperature mai 0 a hiki i 2, top_p mai 0 a i 1.
stopinoa a he papa ʻoiaʻiʻo?ʻAʻoleKa huaʻōlelo e hope ai ka pane: he lālā a i ʻole he 4 lālā ʻole, e kikoʻī ana i ka 256 helu ʻole i kēlā me kēia. ʻAʻole hoʻohana ʻia e nymbot/auto.
seedhelu pololeiʻAʻoleNo ka hāpai ʻana i ka hoʻāʻo ʻana i ka mea e hiki ai ke hoʻi mai, i ka wā e kākoʻo ai ka māhele.
presence_penalty
frequency_penalty
heluʻAʻoleNā hoʻokontrola hoʻihoʻi, ʻo ia aʻo ʻea mai i ka -2 a i ka 2.
response_formatmea uluʻAʻole{"type": "json_object"} aʻole {"type": "json_schema", "json_schema": {…}}, kahi e kākoʻo ai ka māhele. ʻAʻole e hoʻohana ʻia e nymbot/auto.
tools
tool_choice
parallel_tool_calls
papa, huaʻōlelo, a i ʻole papa hana, ʻoia paha ʻo ʻoia true a ʻoia paha falseʻAʻoleKa hana ʻana i ka kāhea ʻana. E nānā mai pana kaʻina hana. A web_search hele ka mea hana ʻimi web. He mau mea hana he 128 loa loa a me nā hoʻōlamalama he 512 KB, i hoʻohui ʻia i loko o nā lālā he 64 loa loa; ʻoi aku ʻo ia he 400.
reasoning_effort
reasoning
huaʻōlelo, mea mea ʻoiaʻiʻoʻAʻole"minimal", "low", "medium" aʻole "high", a {"effort": "high"}. "none" aʻole {"enabled": false} hoʻopau i kēlā. ʻIke ka manaʻo noʻeau.
pluginspapa lālāʻAʻole[{"id": "web", "max_results": 5}] he uluhelele pono i ka pūnaewele mua loa. Hiki i nā hopuna ʻumu ʻe 10.
nhelu pololeiʻAʻoleHe ʻole wale nō ʻo 1. He mea ʻē aʻe nō ka mea a pau ʻē aʻe e hoʻi mai nei 400.
logit_bias
user
metadata
mea, huaʻōlelo, meaʻAʻoleUa loaʻa a ʻaʻole i hoʻouna ʻia ʻana. logit_bias hoʻokau i nā token ids he nui loa ʻole i ka 300 i nā helu mai -100 a hiki i 100; user ʻo ia ka nui loa ʻo 256 nā huaʻōlelo; metadata e loaʻa ana i ka nui loa ʻo 16 nā lula huaʻōlelo, nā lālā hiki i ka hōʻike ʻana i ka 64 mau helu a me nā lālā hiki i ka 512.

He pane ia he mea maʻamau chat.completion, me ke kumukūʻai i usage.cost (i nā dola) a ma ke nymbot mea mea model he ʻo ka ʻike ʻāpana o ka mea i hoʻoholo ʻia, no laila, e kipa mai ana ka inoa pōkole ma ke ʻano he inoa piha. Inā lohe ʻia ka manaʻo mua i ka pane ʻana, ʻo kona manaʻo nei i loko o message.reasoning_content, kaʻawale mai ka pane.

A'ohe mea pane

{
  "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 ua hana ʻia mai mai ka mea i huli mai, no ka mea ʻoi loa ka ʻole o ka hōʻike ʻana a nā mea kūʻai: tool_calls i ka manawa i nīnau ai ka pūnaewae i nā mea hana, length i ka manawa i hoʻohana ʻia ai nā huna ʻōlelo a pau i koʻikoʻi ʻia (a i ʻole ua hoʻohana ʻia a pau e ka mahele ʻana a ʻaʻole i kākau ʻia he pane), content_filter i ka wā i kūʻē ai ka mea kūʻai, a me stop inā ʻole. usage.completion_tokens_details.reasoning_tokens he 0 mau loa: huna ua nui ʻia nā ʻōlelo hoʻohāpai manaʻo, a ʻaʻahu ʻia, i completion_tokens.

KāleleʻAeʻe?
400ʻAʻole model aʻole messages (missing_required_parameter); he ʻāpana ʻauʻau a i ʻole failu, a i ʻole nā kiʻi no kekahi moʻielelo ʻaʻole hiki iā ia ke ʻike iā lākou (unsupported_content); ʻoi aku ma mua o nā kiʻi ʻumu kūmālua (too_many_images); he papa kumu kipaʻi o ka ʻano hewa a i waho o ke kau (invalid_value); he loulou kiʻi ʻaʻole ia ʻike ʻia e ka lehuleʻu (invalid_image_url); mau mea hana ma luna o kahi kumu i hiki ʻole iā ia ke koho iā ia (unsupported_tool); n akau ʻole i ka 1; a :thinking helu i hope o kahi kumu i ʻole i hiki ke nānā pono i ka manaʻo (model_not_found); a i ʻole ua loaʻa ka ʻole ʻia o ka noi ʻia ʻia e ka mea ʻoaʻo (upstream_rejected).
402ʻAʻole hiki i ka pūlua e hoʻohana ʻia e ka mōʻaukala ke kūkulu i ka hoʻomau ʻana.
403ʻAʻole kūpono ka mea paha loa i ka pākaukau o ka pā ʻīmekalima (key_limit_reached). Haʻawale ake max_tokens e hoʻonui i ka nui ʻole.
404ʻAʻole he moʻielele kēlā inoa (model_not_found).
429Ke nui o ka pūnaewae o ka pūnaewae waiwai, a i ʻole ka mea kūʻai (upstream_rate_limited).
502, 503Ua hāʻule ka mea kūʻai ʻia (upstream_error) a i ʻole ua piha loa (upstream_overloaded, me Retry-After). ʻAʻole e lawe i kālā i kekahi mea inā ʻaʻole ka mea kūʻai i kālā i ka hoʻāʻo ʻana.

Ke loko ʻia nei nā helu waiwai (status codes) i loaʻa i kēlā me kēia pahuna ma loko o he hewa.

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);

Hoʻowalele ʻana ʻana loauna

Me "stream": true ua loaʻa ka pane ma o nā hana ʻia mai ka mea hana (server-sent events) i ka wā e kākau ai ka kumu kōkua. ʻO kēlāmeia ʻe ʻeia kahi... chat.completion.chunk ma kahi data: lua, a ka hoʻopau ʻana o ka wai o ka mea data: [DONE]. ʻO ka noʻonoʻo e hiki mai nei i delta.reasoning_content, ka pane ma delta.content.

E kīkē i kēlā apu ʻole i ʻoi aku ma mua o nā sekoke 100, e like me ka pane lōʻihi, ka mea nui loa max_tokens a he kumu noho manaʻo. ʻO ka noi ʻaʻole i hoʻouna ʻia ma ke ʻano he stream, ʻaʻole e hoʻouna i kekahi mea hiki i ka hopena ʻana o ka pane, a hiki i ka lala i ka hopena ʻana o ka pilina ma waena o ʻoe a me Nymbot ma hope o nā sekole 100; e koho mau ka kumu manaʻo a e pili ka uku i ka mea i kākau ʻia, akā e poina ka pane. ʻO ka stream, e hoʻouna ia i nā ʻōlelo kōkua, no laila e mau ana ka pilina no ka manawa a hiki i ka kumu manaʻo i kākau ai.

Ka ʻauhau

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]
  • Nā lina e hoʻomaka ana me : He mau manaʻo hoʻomau ʻia, e hoʻouna ʻia i kēlā me kēia 15 sekane i ka wā e noʻonoʻo nei ka mākena. Nānā ʻole ʻia e nā mea loaʻa SSE.
  • Nā pāheaʻi i hiki ke nānā ʻia "stream_options": {"include_usage": true} no ka mea e loaʻa ai ka ʻāpana hope ma luna, me ka ʻole o he mea fulumālumā choices, nā helu token, ke kumuwaiwai a me ka nymbot mea mea
  • E hoʻonohonoho ʻia ka uku i loko o ka hopena ʻana o ka loli ʻana o ka ʻike. Inā hāʻawi ʻoe i ka hoʻopoki ʻana i ka wā i mua o ka hopena, ʻaʻole hoʻopau ʻia ka mōʻaukala: e heluhelu ana ʻaʻo Nymbot i ka hope loa o ka loli ʻana o ka mea loaʻa, no ka hiki ʻana i ka 25 sekole, no ka loaʻa ʻana o kāna nui kumu, a e uku ʻoe i ka mea i hōʻike ʻia e ka mea loaʻa. ʻEmia ʻole kēlā nui, e nānā ʻia ka uku ma o kāu mea i hāʻawi ʻia me ka mea i kākau ʻia, me ka hoʻemi ʻia i ka nui o ka ʻāpana ʻāpana no kahi mōʻaukala e nānā pono ana.
  • He hemea ma mua o ka ʻana mua loa, e like me 401 aʻole 402, e hoʻi mai ana ma ke ʻano he JSON maʻamau me kona kumu helu waiwai, ʻaʻole ma ke ʻano he stream. He he ma hope o ka hoʻomaka ʻana o ka stream e hiki mai ana ma ke ʻano he hope loa data: {"error": {…}} ka hana, a pau ka pānaia me ka ʻole o [DONE].
  • ʻO nā ulu ʻia me nā mea hana, a me nā mōlekele ma luna o ka hoʻouna ʻana i nā pane o OpenAI, ʻaʻole hoʻouna ʻia ma ke ʻano he ʻōlelo mokuʻāuluhi mai ka mea hoʻolako. Eia naʻe, e pane lākou me kahi mokuʻāuluhi kūpono, i hoʻouna ʻia i ka pau ʻana o ka pane.

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);
}

Mau ʻana mea hana

Hoʻomākāka i nā hana i tools a hiki i ka mōʻikele ke noi i kekahi mea e wehe ʻia ai ma mua o ka pane ʻana. E neʻe ʻia e ʻoe ka ʻoihana, e hoʻāpana i kona hopena ma ke ʻano he tool ka memo me ka like ʻana tool_call_id, a hoʻouna i ka kamaʻilio hou. ʻAʻole Nymbot e neʻe i nā hana o ka mea e ʻōlelo nei; e hoʻihoʻi ia i ke noi o ka mōʻaukala i mua o ʻoe.

tool_choice loaʻa "auto", "none", "required" aʻole {"type": "function", "function": {"name": "…"}}. Ke lālā o nā māhele e hōʻike ana i nā māhele e hiki ai ke hui me nā mea hana (capabilities.tools). He mau mea hana nā ʻole ʻia me 400 unsupported_tool luna nymbot/auto a me ka i ʻole nā kumu papa inoa i neʻe nei ma luna o ka hoʻouna ʻana a OpenAI, ʻaʻole hiki iā Nymbot ke hoʻouna i nā mea hana

Me "stream": true, he noiʻi me nā mea hana e halalu ana i kahi ʻāpana hoʻokahi a e hoʻouna ʻia pēlā ma hope i loko o kahi loulou kapi kānaka: ka lele, kahi kapi e hōʻike ana i kēlā me kēia kāhea mea hana me kona helu, id, inoa a me nā ʻōlelo hoʻohana, a me ka kapi hope. Nā mea heluhelu i nā kāhea mea hana i hoʻouna ʻia ma ke ʻano he streaming e kākoʻo ana iā ia e like me ka mea maʻamau.

Ka pane, i kēia ʻāpana

"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);

Nā kiʻi i loko o kahi noi

Nā kumu me capabilities.vision hiki ke heluhelu i nā kiʻi. Hoʻemi i he uila... image_url mokupuni o ka ʻōlelo o ka mea hoʻohana, me ka ʻole he mea hāʻawi ia i ka lehulehu https:// pūnaewae a i ʻole a data:image/…;base64, URL. Hiki i nā kiʻi he 20 no kēlā me kēia ʻimi ʻana. ʻAʻole loaʻa nā kiʻi SVG, a ʻaʻole loaʻa pū kekahi lālā ʻoi aku ma mua o nā helu 4,096 a i ʻole kekahi lālā i loaʻa ai kahi inoa papahana a i ʻole mea huna (400 invalid_image_url). He mea koho detail he auto, low aʻole high.

Me nymbot/auto, he noiʻi me kahi kiʻi ma loko i hoʻouna ʻia i kahi māhele kikoʻī e hiki ai ke ʻike. He māhele puke ʻōlelo ʻole capabilities.vision ʻaʻole e ʻae i nā kiʻi me 400 unsupported_content. ʻO nā kiʻi wale nō e hiki ai i loko o nā memo a ka mea hoʻohana. Pono e kau ʻia ka lālā i kahi hale kūnoho uila lehulehu; ke hoʻouna nei ʻo Nymbot i ka kiʻi i ka mea hoʻolako i ka moka a ʻaʻole e mālama i ia.

He kiʻi ka mea e uku ʻia ai e like me nā pūʻelo i hāʻawi ʻia i ka mea kūʻai, e like me ka nui o ka makemake.

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);

Manaʻo ʻana

Nā kumu me capabilities.reasoning hiki ke noʻonoʻo ma mua o ka pane ʻana. E nānā i ka nui a i ʻole ka ʻole me reasoning_effort ("minimal", "low", "medium" aʻole "high") a i ʻole "reasoning": {"effort": "high"}, a hoʻemi :thinking i ka inoa o ka mōlekele, ʻo ia ka manaʻo he hana nui. Ma luna o kahi mōlekele ʻole i ka noʻonoʻo ʻana, ʻaʻole e nānā ʻia ka hoʻonohonoho. Me nymbot/auto, :thinking hoʻouna i ka lele i ke ala hana no ka noʻonoʻo maʻamau.

Ma nā moʻielelo Anthropic, e lilo ana ka hoʻāʻo i he nui no ka noʻonoʻo e like me nā 1,000, 2,000, 8,000 a i ʻole nā 16,000 i ʻole nā token, ʻaʻole i ka nui aʻe max_tokens a'ole hiki. ʻO ka noʻonoʻo ka mea i waiho ʻia i waho i ka wā e... tool_choice hoʻokaʻawale i kekahi mea hana, a i ka wā e hahai ana ka noiʻi i kahi hālāwai mea hana (ʻo kona ʻōlelo hope kekahi hopena mea hana), no ka mea pono Anthropic i ka noʻonoʻo i hōʻike ʻia i mua no ka hoʻomau ʻana iā ia. He mau kuleana pēlā nō ma nā hopuna Responses a me Messages.

He hele mai nei ka manaʻoʻioʻio message.reasoning_content, a delta.reasoning_content i ka holo ʻana o ka māhele ʻana ʻana, ʻaʻole paha i hoʻoponopono ʻia i loko o ka pane. ʻO ka nānā ʻana i ka mea i hana ʻia ka mea ʻōlelo a ʻo ia ke kumu o ka uku, ma lalo o kēlā, ma loko completion_tokensʻAʻole kekahi mau mea kūpaʻa e hoʻihoʻi mai ana i ka ʻōlelo ʻano kumu ʻole loa, a e loaʻa nō i kēlā pū kekahi uku.

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);

Nā hopu hope o ka māhele

He ʻāpunā ma luna o ka inoa o ke kumu alakaʻi e loli ai ka hana ʻana i ka noi, me ka ʻole o kekahi laina hou. Hana pū lākou ma nā id kūpono a me nā inoa pōkole pū kekahi, e like me anthropic/claude-sonnet-5:online.

Hoʻopili ʻōleloLoea
:onlineE ʻimi mua i ka pūnaewele, e like me plugins: [{"id": "web"}]. ʻIke ʻimi web.
:thinkingʻO ka hana loea nui; on nymbot/auto, ke ala o ka manaʻo ʻana. Ma luna o kahi māhele i hiki ʻole ke manaʻo, 400 model_not_found me &ldquo;ʻaʻole i loaʻa nā hopena&rdquo;.
:nitro, :floor, :exacto, :extendedUa ʻae ʻia a ʻaʻole i manaʻo ʻia pū. ʻO ke ala ʻamua o kēlā ʻameia katalog, no laila ʻaʻole he ala wikiwiki, haʻahaʻa, a i ʻole lōʻihi aʻe e koho ai; ua ʻae ʻia nā hopu i hope i hiki ai ke hana mau nā inoa ʻameia i hoʻopaina mai nā lawelawe ʻē aʻe.

ʻAʻohe suffix ʻē aʻe e loaʻa ʻia. Hoʻāʻo ʻia ka inoa holoʻokoʻa ma mua loa, no laila e hana mau ana ka mea kahu i ka mea i loaʻa nā ʻikepili i loko o kona id i ka pūnaewele; inā ʻole, e wehe ʻia nā suffix mai ka hope ma o ka hana ʻana i kēlā me kēia manawa hiki ʻole i ka mea kahu e loaʻa ai. Hiki i ka inoa o ka mea kahu ke loaʻa i ka nui ʻana i nā helu 200 me ka ʻaneʻane he 4 nā suffix; ʻo ka mea lōʻihi aʻe nō, e kūʻē ʻia ʻia me 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);

Hiki i kēlā me kēia ʻano kamaʻilio ke pane mai ma luna o ka pūnaewele i luna nei. ʻImi nei ʻo Nymbot i ka ʻōlelo hope loa o ka mea hoʻohana (ka 2,000 ka helu mua o kēlā ʻōlelo), heluhelu i nā ʻaoʻao maikaʻi loa a hāʻawi iā ia i ka ʻano kamaʻilio me ka nīnau, i mākena ʻia me he mea ʻē mai ka ʻike e ʻole pono e loaa nā ʻōlelo aʻo mai. He ʻelua nā ʻano:

  • Nāmea i ka ʻimi mau loa: "plugins": [{"id": "web", "max_results": 5}], a i ʻole a :online ka pōmaikaʻi ma luna o ke kumu.
  • ʻImi i ka manawa e kōkua ai: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}], me kēia ʻae ʻia ma ke ʻano he web_search_preview aʻole openrouter:web_search. Nymbot e ʻimi wale ana i ka wā e hāʻawi ana ka nīnau i ka manaʻo e pono ai i ka ʻike hou, ka loina pēlā e hoʻohana ai ka polokalamu.

max_results ʻO 5 ka mea maʻamau a ʻaʻole hiki i ka 10 i mea nui loa. Hele mai nā kumu i mea ʻoiaʻiʻo nymbot.web_search.sources, aʻo pau me he... title, snippet a url, a me url_citation nā hōʻike ʻana ma luna o ka memo.

ʻO kēlā ʻana ʻana i ka ʻimi a pau e hana ana, ʻo ia ʻo $0.008 ka luna, i hoʻololi ʻia i nā sats, ma luna o nā token, a he ʻāpana ia o ka mālama ʻana. ʻO nā ʻaoʻao i heluhelia ʻia pū nā token i hoʻohana ʻia, no laila, ʻo ka pane mai mai ka pūnaewele ka nui o ka kumuwaiwai ma mua o ka nīnau ʻana i kēlā ʻana pūpū ʻole, he nui kekahi manawa ma mua o ka mea i kū, he nui kekahi manawa i luna o ka mea i kū.

Ka pane, i kēia ʻāpana

"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);

Pāʻea API

Ka papa kumu hou a OpenAI, e hoʻohana ʻia e ka OpenAI Agents SDK a me Codex. E neʻe ana ia ma luna o nā pūnaewele pūnaewele, ka uku ʻana, a me nā mea kōkua e like me ka Chat Completions.

POST https://nymbot.ai/api/v1/responses — pono i ka API key.

MāheleʻOleloPonoKāʻano
modelleleʻAeNo Nā Hoʻopukapuka Kamaʻilio, me nā hopuna pū ʻia.
inputinoa a he papa ʻoiaʻiʻo?ʻAeHe lālā, a he papa mea: nā leka (hauna user, assistant, system, developer) me input_text, input_image a output_text mau kīwī, a me function_call a function_call_output nā mea no nā mea hana. input_image uke i kekahi image_url pili a i ʻole URL ʻikepili, ʻaʻole he ʻālena faila. reasoning a web_search_call ua nalo nā mea; item_reference ʻaʻole i loaʻa.
instructionsleleʻAʻoleNā ʻano hoʻopunipuni o ka ʻōlelo ʻōpala.
max_output_tokenshelu pololeiʻAʻoleNā hua ʻōlelo nui loa e kākau ai.
temperature
top_p
heluʻAʻoleNā hoʻohālikelike kānāwai, tempat e ʻae ʻia ai e ka ʻano.
tools
tool_choice
parallel_tool_calls
papa, huaʻōlelo, a i ʻole papa hana, ʻoia paha ʻo ʻoia true a ʻoia paha falseʻAʻoleNā mea hana hana, ma loko o ka mau ʻano ʻāpana ({"type": "function", "name": …, "parameters": …}). A web_search aʻole web_search_preview hele ka mea hana ʻimi web inā kōkua ia. He mau mea hana kūloko ʻē aʻe i kūʻē ʻia.
reasoningmea uluʻAʻole{"effort": "minimal" | "low" | "medium" | "high"}. xhigh a max manaʻo high; none ʻO ia ka mea e huli ai i ka hiki ʻole.
text.format
response_format
mea uluʻAʻoleHoʻonohono ʻia ka huakaʻi, e like me kahi JSON schema a json_object.
metadatamea uluʻAʻoleHoʻi mai i ka mevwāhewa ʻole i ka pane ʻana. Ka nui loa ʻo 16 nā lālani hua, nā pūnaewele hiki i ka 64 mau helu a me nā waiwai hiki i ka 512.
streampōʻoleaʻAʻoleE hoʻouna i nā hana e wehewehe ʻia nei aʻe.
storepōʻoleaʻAʻoleʻAʻole i manaʻo ʻia. ʻAʻole i hoʻopunipuni ʻia kekahi mea, a ʻo ka pane mau loa ʻo "store": false.
previous_response_id
conversation
background
inoa, mea mea, ʻoiaʻiʻo ʻoleʻAʻoleʻAʻole kākoʻo ʻia: 400 unsupported_parameter. ʻAʻole mālama ʻia nā pane, no laila e hoʻouna i ka hui pū ʻana holoʻokoʻa i loko input i kēlā me kēia manawa.

A'ohe mea pane

{
  "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 }
}

Lilo aku ka unuhi mea hana i nā... output ma ke ʻano he function_call mea me ka call_id, name a arguments; hoʻouna i ka hopena e like me kahi a function_call_output mea me kēia ʻole call_id. Ka manaʻo ʻana, i ka wā e hoʻi mai ai ka mālama ʻana, he reasoning mea me ka reasoning_text ka mea waiwai, luna mua. status he incomplete I ka manawa e pā mai ai ka pane max_output_tokens a i ʻole ka mea hoʻolako i ʻae, me incomplete_details.reason hoʻonohono ʻia i max_output_tokens aʻole content_filter. Ke hōʻike pū ana ka pane i nā hoʻonohonoho o ka noiʻi (hāmelihamela, me nā mea hana, ke koho ʻana i ka mea hana a me nā mea ʻē aʻe) e like me OpenAI, a i ka mea i hōʻea ai nymbot kumuhana mea kānaka.

He unu ʻia, ʻo kēlāmeia kēlā mea hana he... event: pae me e data: lua me ka a sequence_number, ma kēia loaʻa: response.created, response.in_progress, response.output_item.added, response.content_part.added, he nui i kēlā me kēia response.output_text.delta, response.output_text.done, response.content_part.done, response.output_item.done, a i ka hope loa response.completed me ka ka ʻana noho a me ke kumuwaiwai. ʻO ka pane i kapa ʻia pōkole he hopena ʻia me response.incomplete ma mua o ia, a he hapai ʻole ma hope o ka hoʻomaka ʻana o ka pāʻa me response.failed. He mea kikoʻī pono ia me ka ʻike ʻana response.reasoning_text.delta a .done. Nānā i nā ʻano hana hele mai ma hope o ka ʻōlelo, ʻo ia aʻoʻao ʻia me nā mea me ka response.function_call_arguments.delta a .done.

KāleleʻAeʻe?
400ʻAʻole model aʻole input; previous_response_id, conversation, background a ʻo ia item_reference (unsupported_parameter); he mea hana a i ʻole he ʻano mea kūpono ʻole.
402, 403, 404, 429, 502, 503No nā Chat Completions.

cURL

curl https://nymbot.ai/api/v1/responses \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "instructions": "Answer in one short paragraph.",
    "input": "What is a Lightning invoice?"
  }'

Python

import os
from openai import OpenAI

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

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

JavaScript

import OpenAI from "openai";

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

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

Nā ʻōlelo Anthropic

Ka papa Luna o Anthropic, no nā Anthropic SDKs a me Claude Code. Hana ʻo ia me kēlā me kēia ʻano kumu ma loko o ka papa inoa, ʻaʻole wale nō ʻo Claude: hoʻohua ʻia ka noiʻi, hele ʻia ma o ka pipeline pēnei paha, a hoʻohua hou ʻia i ka huna ʻia.

POST https://nymbot.ai/api/v1/messages — pono i kahi API key, no ka mea x-api-key aʻole Authorization: Bearer.

Ka anthropic-version a anthropic-beta kaulana ʻia ʻia nā loea a olelo ʻole ʻia. Hoʻoponopono ʻia nā inoaahana Anthropic i ka puke inoa, no laila e hana ana ʻa Claude Code a me nā SDK me kauna i ulu nei:

  • He inoa i ʻike ai ka katalogu, e like me claude-sonnet-5 aʻole anthropic/claude-opus-5, hoʻohana ʻia pēlā wale nō.
  • Aʻole ʻole he lā (-20260514), -latest, he ʻano mānoa e like me -v1, he ʻōlelo i loko o ka pāpā e like me [1m] me kekahi anthropic/ aʻole anthropic. ua wehe ʻia nā prefix, a ua kōkua ʻia nā pōkole a me nā lalo i ka mālama ʻana i ka ʻano (claude-haiku-4-5 noi mea loaʻa claude-haiku-4.5).
  • Inā ʻole lā ʻia kekahi mea, e hoʻohana ʻia ana ka ʻohana (Opus, Sonnet a i ʻole Haiku), inā wale nō like pū a i ʻole hou aʻe ka mālama o ka puke inoa ma mua o ka mea i noi ʻia.
  • He inoa ʻole i mea e like ai e hoʻi mai ana 404 not_found_error.
MāheleʻOleloPonoKāʻano
modelleleʻAeHe ʻano katalog id, a he inoa ʻano Anthropic.
max_tokenshelu pololeiʻAeNā hua ʻōlelo nui loa e kākau ai.
messagespapa lālāʻAeuser a assistant mea huli, me text, image (base64 a ʻole ka puna URL), tool_use a tool_result mau pā luna. thinking A ʻae ʻia a ʻole ʻole nō nā ʻaoʻao mai nā loli mua.
systeminoa a he papa ʻoiaʻiʻo?ʻAʻoleKumu ʻōlelo o ka polokalamu, ma ke ʻano he huaʻōlelo a i ʻole mau pākuʻe ʻōlelo.
temperature
top_p
heluʻAʻoleNā hoʻohālikelike kānāwai, tempat e ʻae ʻia ai e ka ʻano. top_k ua loaʻa a ua hoʻolele ʻia.
stop_sequencespapa hua huaʻōleloʻAʻoleHeluhelu e hope ai i ka pane. He mau hua ʻupena ʻeiahi ʻole i ka 4, ʻo ia apau he 256 mau hua ʻupena ʻeiahi ʻole.
tools
tool_choice
papa, meaʻAʻoleMaupau me nā mea hana name, description a input_schema. A web_search kele ka mea hana server ʻimi web; ʻO nā mea hana ʻia i loko ʻa Anthropic ʻehui ʻē aʻe (bash, text editor, computer use) ua kūʻole ʻia me unsupported_tool. tool_choice loaʻa auto, any, tool aʻole none, a me disable_parallel_tool_use.
thinkingmea uluʻAʻole{"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} aʻole {"type": "disabled"}Ke koho ka kālā i ka haʻawina: i lalo o 2,048 ʻo ia ka ʻoihana ʻole, mai 2,048 ka ʻoihana ʻo ia ʻo ia ʻole, mai 8,192 ka ʻoihana maumau, mai 16,384 ka ʻoihana nui. ʻO ka Hoʻololi ʻana e hoʻohana nei output_config.effort, a lalo.
streampōʻoleaʻAʻoleHoʻokuʻu ma ka faʻano hana ʻana o Anthropic.
metadatamea uluʻAʻoleA ʻae ʻia a ʻole i mālama ʻia.

A'ohe mea pane

{
  "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 hiki pū ke kūʻai tool_use nā pūlama a me a thinking kūpaʻa, ʻo wai nā mea signature he ʻole. stop_reason he end_turn, max_tokens, tool_use aʻole refusal, hālāwai pēlā i ka hana ʻana i like ke ʻano me finish_reason luna Nā Hoʻopukapuka Kamaʻilio; stop_sequence he mau loa null, ʻoiai i ka hopena ʻana o ka pane ma o ka hopena ʻōlelo. input_tokens nā helu ʻo ka mea hou wale nō; ʻo ka mea i loaʻa mua ʻia i loko o nā pahu kahu ʻelua. ʻO ke kumuwaiwai i loko o ka nymbot ka mea a me ka X-Nymbot-Cost-Sats kokuaʻulu.

I ka hiki ʻana o ka lele ʻana, ʻo nā hana kēia ʻo Anthropic: message_start, content_block_start, ping, content_block_delta (text_delta, input_json_delta aʻole thinking_delta), content_block_stop, message_delta me ka kumu i hope i hele, ka hoʻohana ʻana me ka nymbot mea uku, a me message_stop. A ping e hoʻouna pū ʻia pū ʻia i kēlā me kēia 15 sekondu i ka wā e hana nei ka mālama ʻana i ka ʻano. ʻAe ʻia nā hōʻea pilikia ma hope o ka ʻōlelo, ʻo ia aʻo kekahi he tool_use pāpā me kona pihi holoʻokoʻa i ka mea ʻekahi input_json_delta.

He hepono ma kēia endpoint e hoʻohana ana i ka papa ʻano o Anthropic: {"type": "error", "error": {"type": "not_found_error", "message": "…"}}. He loaʻa pōkole ʻo 402 billing_error, he mea hoʻolele ulu ʻia nā mea hana 503 overloaded_errorʻO ka hapahele ma hope o ka hoʻomaka ʻana o ka pāpā ʻana e hoʻouna ʻia ma ke ʻano he error ka hana.

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);

Nāu ʻana i nā token

He kānāwai e kaʻana ai i ka nui o nā inu puka (input tokens) e hoʻohana ʻia ana e ke ulu ʻōlelo Messages, i hiki ai i ka mea hoʻohana ke nānā ʻana ma mua o ka hoʻouna ʻana. ʻO ia he kūʻokoʻa, akā pono nō i kekahi pūnaewele (key).

POST https://nymbot.ai/api/v1/messages/count_tokens — pono i kekahi API key. Kā ʻole ka uku.

ʻOiʻole ka kino me ka... no... Nā Memo, ʻole max_tokens; pau paha ka inoa o ka maʻamoe. He kaʻāpuni ka nui: nā helu o ka ʻōlelo hoʻomaka o ka ʻōnaehana, naʻauao, nā kāhea hana, a me nā whakamālamalama hana i ka hāʻawi ʻia ʻia i ka ʻena ʻana i ka hāopa ʻehā, me ka hoʻemi ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka ʻana i ka

A'ohe mea pane

{ "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);

Ke wehe ʻana i nā kaila

Nā model a me nā generator a pau a ʻae ʻia e ka API, me kā lākou kumuwaiwai. Heluhelia ʻia ka papa inoa mai ka puke inoa ola pēlā pū me ka mea koho o ka polokalamu, no laila, he mea mau ia i ka mea e hana ai ka server.

GET https://nymbot.ai/api/v1/models — ʻaʻole pono he pohaku. Paʻa no nā minuke ʻelima.

GET /api/v1/models/{id} Hōʻike ʻia ka mea ʻekahi.

MāheleʻOleloPonoKāʻano
typelālā (nānā)ʻAʻolechat (ka mea kumu), image, video, audio, embedding aʻole all. Hiki ke hāʻawi ʻia nā hewai, e like me image,video.

ʻO nā uku ka mea ʻoe e uku ai, me ka uku a me ke kūʻai nui i loko wale ʻia, ma nā dola a me nā satoshi ma ka uku Bitcoin o kēia manawa. balance e haʻi ana i ka loaʻa e hoʻohana ana ka ʻano. nymbot_key Aia ka inoa pōkole o ka ʻano i loko o ka polokalamu. created he mau loa 0, no ka mea ʻaʻole i hoʻihoʻi ʻia e ka katalogu i ka manawa i hoʻokou ʻia ai kekahi māpele. He māpele me ka ʻole o nā uku token i hōʻike ʻia ʻia he nui ʻia ia per_request ma kahi.

nymbot/auto he mua mau loa, ke kūwaiwa ʻia ʻia ʻia ʻo ia ʻo variable, me he routes Papa e hōʻike ana i nā uku o kēlā me kēia ala kūponopono. E papa inoa ana ia i ka ʻike a me ka manaʻo, akā ʻaʻole nā mea hana.

GET /api/v1/models/{id} ua loaʻa i nā inoa a me nā inoa ʻē aʻe e like me kahi ʻike ʻimi, a hoʻihoʻi mai i ka hoʻokentry no ka māhele i kūpono ai lākou.

A'ohe mea pane

{
  "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"
    }
  ]
}

Nā ʻano ʻēmi:

  • Kiʻi a ʻole nā hoʻokomo i loaʻa capabilities (accepts_image_url, requires_image_url, edit) a me kahi kuai per_generation.
  • Wikihoʻihoʻike 🎥 a ʻole nā hoʻokomo i loaʻa max_duration_seconds a resolutions, a me ke kumukūʻana per_second no kēlā me kēia hoʻohālikelike.
  • Leo a ʻole nā hoʻokomo i loaʻa audio_type speech aʻole transcription, ke kumukūlia per_1k_chars aʻole per_minute.
  • Hoʻohāpai ʻana a ʻole nā hoʻokomo i loaʻa dimensions, context_length, max_inputs me ke kumukū o nā inoa ʻōlelo ʻumi kūmālima i ka pākaukau.

Ua hoʻoikaika ʻia nā uku "estimated": true He anomi nō ke anomi aʻe o ka polokalamu no kahi mea hana mea hiko ʻaʻole i hōʻike ʻia kona kumukūʻai. He mea ʻike ʻole ʻia. type hoʻihoʻi ʻia 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);