Motheo wa tsebo Moka
Tshepidi, Tshepidi, Tshepidi
Three ways to ask a model something, in the three formats clients already speak, all running on the same models and billed the same way.
Letlakala le le fetoletšwe ka motšhene bakeng sa go ba bonolo. Seisemane sa mathomo ke phetolelo yeo e šomago.
Phatlalatšo
Phatlalatšo ya setšhaba, e na le methalo ya setšhaba e na le methalo ya setšhaba.
POST https://nymbot.ai/api/v1/chat/completions — Hlapi ye e hwetšwa API key.
Moka model le messages a sample sampling parameter ke ye nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko supported_parametersPhatlalatšo e be di phatlaladitšwe ke diphoofolo tše dingwe tša diphedi tša diphedi tša diphedi tša diphedi.
| Moka | Moka | Moka | Moka |
|---|---|---|---|
model | Moka | Ee | nymbot/auto Moka auto) go ya ka Nymbot routing on the standard balance, goba a katalo ya model id ka anthropic/claude-sonnet-5 e ntsho le ntsho le ntsho le ntsho le ntsho le ntsho le ntsho le ntsho le ntsho. Moka. |
messages | Moka | Ee | Phatlalatšo system, developer (Letlakala le ka fase), user, assistant le toolPhatlalatšo ya setšhaba text le image_url Phatlalatšo, Phatlalatšo, Phatlalatšo input_audio Di na le ditsebe tše pedi. |
stream | Moka | Moka | Tshepedišo ya go swana le tshepedišo ya go swana. See Moka. |
stream_options | Moka | Moka | {"include_usage": true} Tlhalošo ya Mohlala ya Kakaretšo ya Mmasepala |
max_tokensmax_completion_tokens | Moka | Moka | Phatlalatšo ya token yo setšhaba. Diphatlalatšo go ya ka boima bja model goba boima bja dikgwedi. Phatlalatšo yeo e tšerego tše ntšhi wa setšhaba. Phatlalatšo ke setšhaba. |
temperaturetop_p | Moka | Moka | Phatlalatšo temperature © 2019 metle top_p © 2019 metle |
stop | Phatlalatšo | Moka | Tšhireletšo yeo e tšhireletšo: sehlopha goba sehlopha, sehlopha, sehlopha, sehlopha, sehlopha, sehlopha, sehlopha, sehlopha, sehlopha, sehlopha, sehlopha, sehlopha nymbot/auto. |
seed | Moka | Moka | Di hwetšwa sampling, di hwetšwa ka model. |
presence_penaltyfrequency_penalty | Moka | Moka | Tshepidišo ya go fihla, tshepidišo ya go ya go -2 go ya go 2. |
response_format | Moka | Moka | {"type": "json_object"} Moka {"type": "json_schema", "json_schema": {…}}, le boima le boima le boima le boima le boima nymbot/auto. |
toolstool_choiceparallel_tool_calls | array, string goba object, boolean | Moka | Phatlalatšo TsepelovoMoka web_search Phatlalatšo Moka. Mapheko a 128 e na le 512 KB ya tšhireletšo, e ntshu e na le 64 ya digrama; Mapheko a 400. |
reasoning_effortreasoning | Phatlalatšo | Moka | "minimal", "low", "medium" Moka "high"Wago {"effort": "high"}. "none" Moka {"enabled": false} Phatlalatšo Moka. |
plugins | Moka | Moka | [{"id": "web", "max_results": 5}] alalalala, alalalala, alalalala, alalalala, alalalala, alalalala, alalalala, alalalala, alalalala, alalalala |
n | Moka | Moka | Moka 1 - Moka 1 400. |
logit_biasusermetadata | Wago, Wago, Wago | Moka | Di hwetšwago gona logit_bias ka methapo go fihla 300 token id ka dibopego tše -100 ka 100; user ka moka le 256 ya mešomo; metadata dimilimetara tše 16, dimilimetara tše 64, dimilimetara tše 512. |
Tshepedišo ya Mmasepala chat.completionSebaka sa kgolo ya tšona usage.cost
(Letlakala go tloga ka $) nymbot Moka model is the resolved model id, so a short name comes back as the full one. If the model reasoned before answering, its reasoning is in message.reasoning_contentDi hwetšwago gona
Moka
{
"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 Di na le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana. tool_calls geo se se kgethilwe ka instruments, length geo se se tlwaelegilego ka moka, goba se tlwaelegilego ka moka, content_filter ge a se bonolo, e stop
Moka usage.completion_tokens_details.reasoning_tokens is always 0: di hwetšwa ka token ka moka le di hwetšwa completion_tokens.
| Moka | Wo ile |
|---|---|
400 | Moka model Moka messages (missing_required_parameter); audio goba file part, goba images for a model that can’t see them (unsupported_content); disentimetara tše 20 (too_many_images); sampling parameter ya sephaphathi goba di hwetšwago (invalid_value); le link ka diphoofolo ke ye nngwe (invalid_image_url); instruments on a model which can't call them (unsupported_tool); n Di na le 1; a :thinking suffix on a model that can’t reason (model_not_found); goba o tsebjwa ke mohuta wa mohuta (upstream_rejected). |
402 | Di hwetšwago gona |
403 | Phatlalatšo ya Mmasepala (key_limit_reachedMoka max_tokens O na le ra gore cap. |
404 | Tlhalošo ya Mohlala (model_not_found). |
429 | (Letlakala la kgauswi ya kgauswi, goba ya provider (upstream_rate_limited). |
502, 503 | Phatlalatšo (upstream_error) goba o na le (upstream_overloadedWago Retry-AfterMaemo a ntshu e na le ntshu e na le ntshu e na le ntshu e na le ntshu e na le ntshu e na le ntshu e na le ntshu. |
Di hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka Moka.
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);
Moka
Moka "stream": true The answer arrives as server-send events while the model writes it. Ke ye nngwe ke ye nngwe. chat.completion.chunk Moka a data: line, le stream di hwetšwago data: [DONE]Moka Moka Moka Moka
delta.reasoning_contentWago- Elwag delta.content.
Phatlalatšo e beilwego ke diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana.
max_tokens o modeling. E na le mofsa e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be e be
Moka
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]
- Moka Moka Moka
:Di na le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša tšona. - Moka
"stream_options": {"include_usage": true}to get the last chunk above, sa go holechoices, the token counts, the cost and thenymbotMoka - Nymbot le tšhoga ye nko ya go swana le tšhoga ye e tšhoga e tšhoga e tšhoga e tšhoga e tšhoga e tšhoga e tšhoga e tšhoga e tšhoga e tšhoga e tšhoga.
- Phatlalatšo ya go swana le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ya.
401Moka402, ke boima bja lefelong bja JSON bja lefelong bja lefelong bja lefelong bja lefelong bja lefelong bja lefelong bja lefelong bja lefelong bja lefelong bja lefelong.data: {"error": {…}}event, le stream di hwetšwago[DONE]. - Diphoofolo tša go swana le diphedi tša go swana le diphedi tša go swana le diphedi tša go swana le diphedi tša go swana le diphedi tša go swana le diphedi tša go swana le diphedi tša go swana le diphedi tša go swana le diphedi tša tšona.
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);
}
Wo ile
Phatlalatšo tools e le modeling a ka morago ga tšhoga ye a tšhoga e be a tšhoga. You run the function, add its result as a tool Phatlalatšo
tool_call_idNymbot a hwetšwago gona, a na le mmele wa modela.
tool_choice Moka "auto", "none",
"required" Moka {"type": "function", "function": {"name": "…"}}.Modeli ye hwetšwago mabaka a magetleng (capabilities.toolsc) Melao ka moka 400 unsupported_tool Moka nymbot/auto na ye nngwe ye nngwe ya modela ye katalogolo yeo e tšerego sephetho sa OpenAI's Responses transport, e nngwe Nymbot a nngwe a nngwe a nngwe a nngwe.
Moka "stream": truePhatlalatšo ya go swana le boima bja boima bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala bja botala
Tshepedišo ya Mohlala
"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);
Phatlalatšo
WAGO capabilities.vision Moka Moka Moka Moka image_url
part to a user message, le boima bja go ba le https:// Wago a
data:image/…;base64, URL. Mapheko a 20 ya diphoofolo. SVG diphoofolo di hwetšwa, ka tlhompho a nkgetheng tše 4.096 goba a nkgetheng a nkgetheng a nkgetheng a nkgetheng a nkgetheng a nkgetheng (400 invalid_image_urlMoka detail Moka
auto, low Moka high.
Moka nymbot/auto, a go hwetšwa le boima bja diphoofolo di na le boima bja diphoofolo bja diphoofolo bja diphoofolo bja diphoofolo. capabilities.vision Phatlalatšo
400 unsupported_content. Phatlalatso sa go na le diphoofolo go na le diphoofolo. Phatlalatso e ka dirilwe ka go khubedu; Nymbot e ka boima le diphoofolo go na le boima go ya ka modela yeo e tšerego.
Di na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe.
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);
Moka
WAGO capabilities.reasoning o hwetšwago gona reasoning_effort ("minimal", "low",
"medium" Moka "high"Moka "reasoning": {"effort": "high"}WAGO :thinking o na le model name, o na le high effort. On a model without reasoning the setting is ignored. nymbot/auto, :thinking Phatlalatšo ya setšhaba ke mohuta wa setšhaba.
Ngaka modela ye e tlwaelegilego, e tlwaelegilego ka boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo bja boemo. max_tokens Moka. Moka di hwetšwa ka
tool_choice morero ye nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe
Moka Moka Moka Moka Moka message.reasoning_contentWago
delta.reasoning_content when streaming, e hwetšwago gona. Reasoning is output and is charged as such, inside completion_tokens.Boloka ye nkgethilwe ke ye nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe.
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);
Moka Moka
Diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tše dingwe. anthropic/claude-sonnet-5:online.
| Moka | Moka |
|---|---|
:online | Di hwetšwago gona plugins: [{"id": "web"}]Moka Moka. |
:thinking | Phatlalatšo ya Mmasepala; On nymbot/auto, le lalalalalalalalalalalalalalalalalalala, 400 model_not_found ka “no endpoints found” |
:nitro, :floor, :exacto, :extended | Di hwetšwa le di phatlaladitšwe ke diphoofolo tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše dingwe tša diphedi tše |
Di na le diphoofolo tše nnyane, diphoofolo tše nnyane, diphoofolo tše nnyane, diphoofolo tše nnyane, diphoofolo tše nnyane 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);
Moka
Nymbot se hwetša mešomo ya ditulo ya ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo tša ditulo.
- Moka:
"plugins": [{"id": "web", "max_results": 5}]a, a:onlinesuffix ka model. - Phatlalatšo:
"tools": [{"type": "web_search", "parameters": {"max_results": 5}}], e na le go leweb_search_previewMokaopenrouter:web_searchNymbot se hwetšwego ke se kgethegilwego ke diphoofolo tše ntšhi ke e hwetšwego mošomo, e hwetšwego mošomo wa mošomo wa app.
max_results is 5 by default and at maximum 10. Mohlakanelwa ke
nymbot.web_search.sourcesa, a, a title, snippet le
urlWAGO url_citation Phatlalatšo ya ditulo.
Di na le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ya go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ya.
Tshepedišo ya Mohlala
"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);
Tšhireletšo
© 2019 metle
POST https://nymbot.ai/api/v1/responses — Hlapi ye e hwetšwa API key.
| Moka | Moka | Moka | Moka |
|---|---|---|---|
model | Moka | Ee | Moka PhatlalatšoDipalopalo tša bohlokwa |
input | Phatlalatšo | Ee | Phatlalatšo, goba palogare ya diphoofolo: Phatlalatšo (Roles user, assistant, system, developer(Moka) input_text, input_image le output_text Moka, E function_call le function_call_output metle ka metle input_image Moka image_url URL ka link goba data, se ne ya faili id. reasoning le web_search_call Phatlalatšo ya setšhaba item_reference Di hwetšwago |
instructions | Moka | Moka | Phatlalatšo |
max_output_tokens | Moka | Moka | Di hwetšwago gona |
temperaturetop_p | Moka | Moka | Phatlalatšo ya setšhaba, e na le modeling. |
toolstool_choiceparallel_tool_calls | array, string goba object, boolean | Moka | Phatlalatšo ya Mmasepala ({"type": "function", "name": …, "parameters": …}Moka a web_search Moka web_search_preview Phatlalatšo Moka geo se se se hwetšwa. |
reasoning | Moka | Moka | {"effort": "minimal" | "low" | "medium" | "high"}. xhigh le max Moka high; none Phatlalatšo |
text.formatresponse_format | Moka | Moka | Phatlalatšo ya setšhaba, goba json_object. |
metadata | Moka | Moka | Tshepidišo ya go swana le tshepedišo ya go swana le tshepedišo ya go tshepedišo le tshepedišo ya go tshepedišo. |
stream | Moka | Moka | Phatlalatšo ya Mmasepala wo o phatlalatšo. |
store | Moka | Moka | Di hwetšwago gona "store": false. |
previous_response_idconversationbackground | strings, objekts, booleans | Moka | Tlhalošo ya Mohlala 400 unsupported_parameter. Tšhireletšo se ne ya go hwetšwa, ka mmele wa setšhaba input Moka |
Moka
{
"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 }
}
Phatlalatšo ya setšhaba output gomme a function_call MOKA
call_id, name le argumentsa.a.a.a.a.a.a.a.a
function_call_output Phatlalatšo call_idReasoning, when the model returns it, ke a reasoning MOKA reasoning_text Phatlalatšo, Phatlalatšo status Moka incomplete Ko a hwetšwago gona
max_output_tokens o na le sephara le sephara
incomplete_details.reason Moka max_output_tokens Moka
content_filter. Tlhalošo ya tšhireletšo e e ka pele go ya ka mehuta ya diphoofolo (temperatura, ya tšhireletšo, ya tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo, le tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo. nymbot Moka Moka
Phatlalatšo, Phatlalatšo event: Wago a data: Moka a
sequence_numberDi hwetšwago gona response.created,
response.in_progress, response.output_item.added,
response.content_part.addedSebaka sa le response.output_text.delta,
response.output_text.done, response.content_part.done,
response.output_item.doneWAGO response.completed tshepedišo le tshepedišo le tshepedišo le tshepedišo response.incomplete goba, ka fao di phatlaladitšwego mo go tloga mo go response.failedReasoning streams as its own item with response.reasoning_text.delta le .donePhatlalatšo ya Phatlalatšo ya Phatlalatšo ya Phatlalatšo response.function_call_arguments.delta
le .done.
| Moka | Wo ile |
|---|---|
400 | Moka model Moka input; previous_response_id, conversation, background Moka item_reference (unsupported_parameter); a non-supported tool or content type. |
402, 403, 404, 429, 502, 503 | Tshepedišo ya setšhaba |
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);
Phatlalatšo
Phatlalatšo ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara ya sephara.
POST https://nymbot.ai/api/v1/messages — kudu ya API key, bjalo ka x-api-key Moka Authorization: Bearer.
Moka anthropic-version le anthropic-beta Phatlalatšo ya diphoofolo ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di swerwego ke diphoofolo tše di se
- Phatlalatšo a se bonolo, goba
claude-sonnet-5Mokaanthropic/claude-opus-5Di hwetšwago gona - Tlhalošo ya Mohlala (
-20260514),-latest, a version tag ka-v1, a bracketed tag ka[1m]Mokaanthropic/Mokaanthropic.prefix ka go fapana, le dots le dots le ditsubaba ka moka (claude-haiku-4-5Mokaclaude-haiku-4.5). - Tshepidišo e na le tshepedišo e tshepedišo e tshepedišo e tshepedišo e tshepedišo e tshepedišo e tshepedišo e tshepedišo e tshepedišo e tshepedišo.
- Phatlalatšo a se bonolo
404not_found_error.
| Moka | Moka | Moka | Moka |
|---|---|---|---|
model | Moka | Ee | ID model ya katalo ya, goba ya diphoofolo ya modela. |
max_tokens | Moka | Ee | Di hwetšwago gona |
messages | Moka | Ee | user le assistant Wo ile, Go text, image (base64 goba URL source), tool_use le tool_result Moka thinking Blokidi tše di hwetšwego ke diphoofolo tše di šomišwa le dipatšo. |
system | Phatlalatšo | Moka | Phatlalatšo ya Molaotheo, goba Phatlalatšo ya Molaotheo. |
temperaturetop_p | Moka | Moka | Phatlalatšo ya setšhaba, e na le modeling. top_k Di hwetšwago gona |
stop_sequences | Phatlalatšo | Moka | Tšhireletšo yeo e tšerego sephetho ka moka ga 4 karolo, ka moka ga 256 karolo. |
toolstool_choice | Phatlalatšo | Moka | Wo ile name, description le input_schemaMoka web_search Phatlalatšo Phatlalatšo Moka; Phatlalatšo ya Anthropic (bash, text editor, computer usage) unsupported_tool. tool_choice Moka auto, any, tool Moka noneMoka disable_parallel_tool_use. |
thinking | Moka | Moka | {"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} Moka {"type": "disabled"}. Tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tš output_config.effortO na le. |
stream | Moka | Moka | Phatlalatšo ya Mmasepala ya Mmasepala |
metadata | Moka | Moka | Di hwetšwago gona |
Moka
{
"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 Moka tool_use Moka a thinking
Moka, Moka signature WAGO stop_reason Moka
end_turn, max_tokens, tool_use Moka refusalDi hwetšwago gona finish_reason Moka
Phatlalatšo; stop_sequence Wo ile
null, e na le stop sequence ke thoma ya mofsa. input_tokens dipoo le dipoo tše nnyane; dipoo tše nnyane dipoo dipoo tše nnyane le dipoo tše nnyane
nymbot MOKA X-Nymbot-Cost-Sats Moka
Phatlalatšo, diphoofolo tša diphoofolo tša bohlokwa: message_start,
content_block_start, ping, content_block_delta
(text_delta, input_json_delta Moka thinking_delta),
content_block_stop, message_delta ge go ya ka fase, go ya go ya ka nymbot Wago, le message_stopMoka ping Di na le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana.
tool_use bloke, sa hloka ye nko ye nko ye nko input_json_delta.
Errors on this endpoint use Anthropic's format:
{"type": "error", "error": {"type": "not_found_error", "message": "…"}}Di hwetšwago gona 402 billing_errorMoka Moka Moka
503 overloaded_error. Tlhalošo ya go swana le go botelele go ya ka boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ba le boima bja go ya. error Moka
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);
Moka
Diphoofolo tša go swana le maemo a token ya nkgetheng ye a nkgetheng ye a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgeth
POST https://nymbot.ai/api/v1/messages/count_tokens — Hlapi ya kafo. Free.
Ke ye nko ye e itšwego ke MokaMoka max_tokens; model name e hwetšwa. Tlhalošo ya tšona ke ye e hwetšwa: tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona, tšona ya tšona ya tšona, tšona ya tšona ya tšona ya tšona le tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona le tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona ya tšona.
Moka
{ "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);
Wago
Phatlalatšo ya modela le generator ke ye API, ka tšhoga ye e tšhoga.
GET https://nymbot.ai/api/v1/models — no key needed. Hlapiwa dimetara tše 5.
GET /api/v1/models/{id} Moka Moka
| Moka | Moka | Moka | Moka |
|---|---|---|---|
type | Moka (Moka) | Moka | chat (Tšhireletšo ya Mmasepala) image, video, audio, embedding Moka all. . Maphego a ka bonolo, ka image,video. |
Di hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mangwe. balance Di hwetšwago gona
nymbot_key o na le nko ya modela e na le app. created e na le 0 e na le katalo ya se swana le se swana le se swana le se swana le se swana le se bonolo. per_request le ge go le bjalo.
nymbot/auto Di na le bo hwetšago, di hwetšwa ka variablea, a
routes lote a na le katse ya tšerego ya tšerego ya tšerego ya tšerego. E na le nkgethilwego ye nkgethilwego ye nkgethilwego ya tšerego ya tšerego ya tšerego ya tšerego ya tšerego ya tšerego.
GET /api/v1/models/{id} Molaopheto ya Molaotheo ya Molaotheo le Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo wa Molaotheo.
Moka
{
"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"
}
]
}
Sebaka sa leratadima:
- Moka Moka
capabilities(accepts_image_url,requires_image_url,edit(A) Mokaper_generation. - Moka Moka
max_duration_secondsleresolutionsWago- Elwagper_secondSebotse wa Resolute. - Moka Moka
audio_typespeechMokatranscriptionMokaper_1k_charsMokaper_minute. - Moka Moka
dimensions,context_length,max_inputsTshepidišo ya setšhaba
Moka Moka "estimated": true o na le ditsebe ya mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa type Moka 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);