Gara qabiyyee isaatti darbaa
Nymbotitti deebi'uuf

Bu’uura beekumsaa Uumtoota

Chat, Deebiiwwan fi Ergaawwan

Akkaataa sadiin moodelii gaaffii gaafachuu dandeessu, bifa sadiin maamiltonni amma itti dubbatan, moodelota tokko irratti kan hojjetan fi akkaataa kaffaltii tokkoon kan bilchisaman.

Xumura Marii

Foormaatii chat OpenAI, fi kan meeshaan hundi isaa deeggaru. Haasawa hanga ammaatti ergi, ergaa itti aanu immoo deebisi.

POST https://nymbot.ai/api/v1/chat/completions — API key barbaada.

Qofaa model fi messages barbaachisanii barbaachisu. Paramiteerii samplingii moodeelliin filatame hin fudhanne tokko dogoggora malee dhiifama, kanaaf qaamaan gaaffii tokko moodeelota hundumaaf hojjeta. Tarree moodeelii moodeelliin tokko tokko kan isaa kenna. supported_parametersWanti dhiibamu malee gadi lakkifamu kamiyyuu waan moodelli sanaan guutummaatti raawwachuu hin dandeenye dha: fakkiiwwan moodelli sanaan arguun hin danda'amneef, meeshaalee moodelli sanaan waamuu hin danda'amneef.

MarsaaGaraaBarbaachisaIbsa
modelxila/shaxaanEeyyeenymbot/auto (yookaan auto) Nymbot's routing kan dhimma wal-qixxummaa (standard balance) irratti, ykn idii moodela kaatalogii kan akka anthropic/claude-sonnet-5 hisaaba Pro irratti. Maqaan gabaabaa fi maqaan hiika biraa appii sanaa ni fudhatama. 'a'tti xumuraachuu danda'a. dabalata dhumaa.
messagesarrayEeyyeeMariin. Gaheen/Ergamoon system, developer (sirnaan fudhatama) user, assistant fi tool. Qabiyyee ni fakkata saphata (string) ykn tarree kan... text fi image_url kutaa; suuraawwan ergaa fayyadamtootaa qofaa. input_audio harkaan fi kutaan faayilaa ni رفضatama.
streambooliyaanLakkiDeebii akka barreeffame sana ergi. Ilaali beeksifamaa/fiigicha fiduu.
stream_optionsmeeshaaLakki{"include_usage": true} lakkoofsa tokeneeyii fi kaffaltii qabsiisee kutaa dhumaa tokko dabala.
max_tokens
max_completion_tokens
lakkoofsa guutuuLakkiTokeniiwwan barreessuuf guddaa dhibba qaban. Yoo caalaatti ol ta'e, hamma dandeettii maxxannaa moodeelichaatti gadi bu'a. Akkasumas, hamma kaffaltii maallaqa keetiin irraa qabamu murteessa, kanaaf lakkoofsi xiqqaan kaffaltii xiqqaa barbaada.
temperature
top_p
lakkoofsaLakkiTo'annoo walitti qabuu: temperature 0 irraa hanga 2tti, top_p 0 irraa gara 1tti.
stopstring ykn arrayLakkiBarreeffama deebii xumuru: barreeffama tokko ykn barreeffamoota armata 4, kanneen tokkoon tokkoon isaanii qubee 256 xiqqaatti. Kan hin fayyadaman: nymbot/auto.
seedlakkoofsa guutuuLakkiBakka moodeelli sun deeggaru, fudhattoota irra deebi'anii fudhachuuf.
presence_penalty
frequency_penalty
lakkoofsaLakkiTo'annoo irra-deebii, tokkoon tokko isaanii -2 irraa hanga 2ffatti.
response_formatmeeshaaLakki{"type": "json_object"} yookaan {"type": "json_schema", "json_schema": {…}}, moodeelliin deeggaru bakka jiru. Kan itti fayyadamame miti nymbot/auto.
tools
tool_choice
parallel_tool_calls
array, string ykn object, booleanLakkiWaamicha hojii. Ilaali waamicha meeshaalee. A web_search meeshaan ni bante barbaacha weebii. Meeshaalee 128 dabalatee hin taane fi hiikawwan 512 KB, sadarkaa 64 dabalatee hin taane keessatti wal-harkaa qabanii; kanaan oliin ta'e immoo... 400.
reasoning_effort
reasoning
string, objectLakki"minimal", "low", "medium" yookaan "high", yookaan {"effort": "high"}. "none" yookaan {"enabled": false} dhaabu. Ilaali Yaaduu.
pluginsarrayLakki[{"id": "web", "max_results": 5}] yeroo hunda dura weebii barbaada. Bu'aa 10 hanga ta'u danda'a.
nlakkoofsa guutuuLakkiQofaan 1. Kan biroo hunduu deebii kenna 400.
logit_bias
user
metadata
objektii, stringii, objektiiLakkiKan fudhatame garuu kan hin ergemne. logit_bias Idiiwwan tokonii (token) hamma 300 lakkoofsa -100 irraa hanga 100tti walitti qabsiisa; user fakkeenyaaf 256 qubeessaa qofa; metadata keessummeeffata duuba gatii (string) 16 irratti danda'a, furtuuwwan (keys) qarataa 64 fi gatiiwwan (values) qarataa 512 danda'u qaba.

Deebiin sun kan baramaati chat.completion, gatii isaa waliin usage.cost (doolaara keessatti) fi keessatti nymbot waan. model ID moodeelii furatameedha, kanaaf maqaa gabaabaan deebi'ee yoo dhufu maqaa guutuudhaan deebisa. Yoo moodeelli deebii kennuu dura yaada uumee, yaanni isaa keessa jira message.reasoning_content, deebii irraa addaan baafame.

Deebii

{
  "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 waan deebi'ee dhufe irraa kan bilchaate dha, sababni isaas tajaajiltoonni karaa adda addaan akka gabaasan: tool_calls yeroo moodeelliin meeshaalee gaafate, length yeroo deebiin tokko tokkummaa tokenii hayyamame hunda fayyadame (yookaan modelichi tokkummaa hunda yaaduuf itti fayyadamee deebii tokko hin barreessin), content_filter yeroo dhiyeessituun رفضee, fi stop ta'ee malee. usage.completion_tokens_details.reasoning_tokens yoomiyyuu 0 dha: dhoksaa tokeniiwwan yaada (reasoning tokens) lakkaawamanii, kaffaltiin isaas... completion_tokens.

HaalaYoom
400Lakki model yookaan messages (missing_required_parameter); kutaa sagalee ykn fakkii modelii isaan argu hin dandeenyeef fakkiiwwan (unsupported_content); suuraa 20 ol (too_many_images); parametar samplingii gosa dogoggoraa ykn daangaa ala jiru (invalid_value); linkii fakkii kan hin dhimmamne (invalid_image_url); moodeela isaan waamuu hin dandeenye irratti meeshaalee (unsupported_tool); n 1 malee; a :thinking moodeela yaaduu hin dandeenye irratti dabalata (model_not_found); yookaan dizaayinii (provider) gaaffii kana رفضe ( refused ) (upstream_rejected).
402Maallaqni moodeelliin itti fayyadamu sun qabiyyee hammaasuu hin danda'u.
403Haala halkan hunda caaluun harka kofliii koflii sanaan wal hin fidu (key_limit_reached). Gadi max_tokens yookaan dabalata dabali.
404Maqaa sanaan moodeelii hin jiru (model_not_found).
429Limitii daangaa furtichaa, yookaan kan dhiyeessituu (upstream_rate_limited).
502, 503Tajaajila kennuun dadhabe (upstream_error) ykn baay'ee raawwatame dha (upstream_overloaded, waliin Retry-After). Yoo tajaajila kennuun yaalii sanaaf bill hin ergin, wanti tokko hin kaffalamu.

Lakkoofsi haala (status codes) endpointni hundinuu walitti qoodan kanneen armaan gaditti tarreeffamaniiru dogoggora.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "messages": [
      {"role": "system", "content": "Answer in one short paragraph."},
      {"role": "user", "content": "What is a Lightning invoice?"}
    ],
    "max_tokens": 400
  }'

Python

import os
from openai import OpenAI

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

reply = client.chat.completions.create(
    model="anthropic/claude-sonnet-5",
    messages=[
        {"role": "system", "content": "Answer in one short paragraph."},
        {"role": "user", "content": "What is a Lightning invoice?"},
    ],
    max_tokens=400,
)
print(reply.choices[0].message.content)
print(reply.usage.cost)

JavaScript

import OpenAI from "openai";

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

const reply = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5",
  messages: [
    { role: "system", content: "Answer in one short paragraph." },
    { role: "user", content: "What is a Lightning invoice?" },
  ],
  max_tokens: 400,
});
console.log(reply.choices[0].message.content);
console.log(reply.usage.cost);

Streaming

Waliin "stream": true deebiinni isaa adeemsa modelichi barreessu irrattitti ergaa server-sent events ta'een dhufa. Ergaan hundi... chat.completion.chunk tokko irratti data: jallii, fi qonna bishaanichaa xumurama data: [DONE]. Yaadni dhufu dha delta.reasoning_content, deebiin keessatti delta.content.

Waan tokko tokko sekondii 100 ol fudhachuu danda'an, fakkeenyaaf deebii dheeraa, wanta guddaa qabanii... stream godhi max_tokens yookaan moodela yaada uumuu (reasoning model). Gaaffiin hin dhangala'in (not streamed) deebii guutuu utuu hin ta'in kallattiin waan tokko hin ergu, akkasumas uffata (network) ati fi Nymbot gidduu jiru sekondii 100 erga dhumee booda walitti hidhamiinsa hin hojjenne (idle connection) cufeera; moodelli sun xumura isaa dhumata, wantee barreessu immoo kaffaltii irratti sa'a, garuu deebiin sun badeera. Stiraamii (stream) immoo deebii itti fufsiisu (keep-alives) erga, kanaaf moodelli barreessuutti walitti hidhamiinsa sana banamaa taasisa.

Lola

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]
  • Warri jalqabuun... : yaadannoon keep-alive, yeroo modelichi yaadu daqiiqaa 15 keessatti iyyuu ergame. Klaiyantoonni SSE isaanii dhiifanii darbu.
  • Gaafadhu "stream_options": {"include_usage": true} kutaa dhumaa olitti jiru argachuuf, kan duwwaa qabuun choices, lakkoofsa tookenii, gatii fi nymbot waan.
  • Kaffaltiin yeroo adeemsi (stream) xumuramu xumura ni argata. Yoo walqunnamtii dafee cufte, moodelliin hin dhaabbatu: Nymbot lakkoofsa tookenii isaa argachuuf, dandeettii isaa irratti hundaa'uun, sekondii 25ttis ta'e hanga sanaatti dhimma adeemsa oomishaichaa (provider's stream) dubbisa. Lakkoofsa sana malee, kaffaltiin kennicha irraa gabaasamu irraa osoo hin taane, odeeffannoo ati kennite fi waan barreeffame irratti hundaa'uun, akkasumas kennicha (allowance) output guutuu moodelliin yaada uumuu danda'uuf kennamu irratti hundaa'uun fakkii ta'een ni lakkaawama.
  • Dogoggorri kutaa jalqabaa duraa, akka 401 yookaan 402, akka JSON qofattiin koodii haala isaa qabachuun deebi'a, akka stream (beeksisa walitti fufiinsa qabuutti) miti. Errorni stream sun jalqabamee booda dhufu akkas akka dhumaatti dhufa data: {"error": {…}} dhala, fi adeemsichi malee xumurama [DONE].
  • Gaaffiiwwan meeshaalee (tools) qaban fi moodeelota OpenAI Responses transport irratti hundaa'an, dhiyeessitii irraa hin dhangala'an (do not stream). Isaan garuu deebii guutuu erguun, dhangala'aa sirrii ta'e kanaan deebisu.

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

Waamicha meeshaalee

Hojiiwwan gadi fageenyaan ibsi tools akkaataa deebii kennuu mannaa tokko akka waamamu gaafachuu danda'a. Function sana hojiirra oolchita, bu'aa isaas akka... tool Ergaa kan wal-fakkaatu waliin tool_call_id... fi marii sana irra deebii ergi. Nymbot hojiiwwan kee hin raawwatu; gaaffii moodelaa gara keetti deebisa.

tool_choice fudha "auto", "none", "required" yookaan {"type": "function", "function": {"name": "…"}}. Tarreen moodelootaa moodeloota meeshaalee (tools) fayyadamuu danda'an mallatteessacapabilities.tools). Meeshaaleen dhikaatanii dha 400 unsupported_tool on nymbot/auto akkasumas moodelota kataloogii muraasa OpenAI'n Responses transport irratti hojjetan irratti, kan Nymbot meeshaalee (tools) itti darbuu hin dandeenye.

Waliin "stream": true, gaaffiin meeshaalee (tools) qabu tokkoonitti hojjeta, sana booda immoo akkaataa sekwenisii kutaalee (chunk sequence) normal ta'een ergame: gaaffii (role), kutaalee tokko kan kutaalee meeshaa (tool call) hunda lakkoofsa (index), id, maqaa fi qabxiiwwan (arguments) isaa of keessaa qabu, fi kutaalee xumuraa (finish chunk). Kilaayintoonni kutaalee meeshaa (tool calls) dhayyata (streamed) dubbisan akkaataa yeroo itti fayyadamaa turanitti itti fayyadamu.

Deebii, karaa tokkoon

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

Fakkiiwwan gaaffii keessatti jiran

Moodeelota wajjin capabilities.vision fakkiiwwan dubbisuu danda'a. Anis dabali image_url ogummaa xalayaa nama tokkoo, kan karaa qulqulluu ta'een ykn https:// liinkii yookaan a data:image/…;base64, URL. Gaaffii tokko irratti fakkiiwwan hanga 20tti. Fakkiiwwan SVG ni diigamu, akkasumas linkii dapunee 4,096 ol ta'e ykn maqaa namaa fi paaswoortii qabu ni diigamu (400 invalid_image_url). Filannoo tokko detail dha auto, low yookaan high.

Waliin nymbot/auto, gaaffiin fakkii qabu gara moodela argu danda'u kan bu'uuraatti dhiyeeffatama. Moodela kaataloogii kan... capabilities.vision suuraawwan kanneen wajjin رفضuu (didachuu) 400 unsupported_content. Fakkiiwwan ergaa fayyadamtootaa qofaan jiraachuu danda'u. Liinkiin hostii idilee tokko gara qabuun qaba; Nymbot fakkicha gara tajaajila moodeelaatti dabarsa, kanas hin kuusu.

Fakkii tokko akka tokenii kennamaa (input tokens) dhuunfatama, akkuma kaan gaaffii (request) kanaa.

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

Yaada madaaluu

Moodeelota wajjin capabilities.reasoning deebii kennuun dura yaaduu danda'u. Hamma xiqqaa ykn guddaa isaatiin gaafachuu danda'u reasoning_effort ("minimal", "low", "medium" yookaan "high") ykn "reasoning": {"effort": "high"}, yookaan dabalii :thinking maqaa moodelichaatti, kunis carraaqii guddaa jechuudha. Moodel dandeettii yaaduu (reasoning) hin qabne irratti sagantichi ni dagatama. Waliin nymbot/auto, :thinking Gaaffii sana karaa yaada baramaatti erga.

Moodeelota Anthropic irratti, carraaqqiin baajata yaaduu (thinking budget) tokko tokkoof gara tokkoof 1,000, 2,000, 8,000 ykn 16,000 tokeneeti, yeroo hunda isaa caalaatti miti max_tokens hayyata. Yeroo hunduu yaaduun dhiifamaaf jira. tool_choice meeshaa tokko dirqisiisa, yoo gaaffiin irra deebi'ee loop meeshaa (ergaan dhumaa isaa bu'aa meeshaa ta'e) hojjete, sababni isaas Anthropic yaada duraan sign godhame ta'e itti fufsiisuuf barbaada. Kun endpoint Responses fi Messages irrattiis ni tajaajila.

Yaadni deebi'ee dhufa message.reasoning_content, yookaan delta.reasoning_content yeroo streaming ta'u, deebii keessatti hin walitti makuu hin qabu. Sababni (Reasoning) bu'aa ol-aanaadha akkasumas akka sanaatti kaffaltii ni qaba, keessaa completion_tokens. Dibeeyyiin tokko tokko barreeffama sababa isaa hin deebisan, garuu kaffaltiin isaa ni jira.

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

Suffixesii moodelaa

Suffix maqa moo dhimma irratti hordofsiisni tokko kan itti dabalatu, odeeffannoo biraa malee, akkamitti akka gaaffiin itti dhiyaatu jijjiira. Isaan ID guutuu fi maqaa gabaabaa irratti wal samaan hojjetu, akka:** anthropic/claude-sonnet-5:online.

DabalataDhiibbaa
:onlineDura websii barbaadi, akka plugins: [{"id": "web"}]. Ilaa barbaacha weebii.
:thinkingCarraaqqii yaada ol'aanaa; on nymbot/auto, karaa yaaduu. Moodeela yaaduu hin dandeenye irratti, 400 model_not_found “bu’aa xumuraa hin argamne” jedhuun.
:nitro, :floor, :exacto, :extendedNi fudhatameera akkasumas ni dagatameera. Moodalli kataloogii hundi karaa tokko qabu, kanaaf kan filatamu kan ariifataa, kan gatii gadi aanaa ykn kan dheeraa hin jiru; dabalata (suffixes) hayyamamuera, kanaaf maqaan moodelii tajaajiloota biroo irraa kophee ta'anis ni hojjetu.

Duraan durse maqaan guutumtuun yaalame, kanaaf idii moodeelii kan qabu qofatu hojjeta; yoo kanaan hin taane, moodeelli kan walitti dhufeeraa jiraannutti suffix-oonni dhuma irraa tokko tokkoon irraa haqamu. Maqaan moodeelii dhumatti suffix-oota 4 addaan ta'an qabaachuu danda'a; dheerina isaa immoo qarshii 200 hin exceeds; kan dheeraan immoo rejeetama. 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);

Modelii chatii kamiyyuu weebii kallattiin jiru irraa deebii kennuu danda'a. Nymbot ergaa dhumaa fayyadamtuu barbaada (eerramoota isaa jalqabaa 2,000), fuulota hunda caalu dubbisa, gaaffii waliin immoo moodelaaf kenna, kan akka qabxii alaatti mallatteeffame kan moodelli ajaja irraa hin fudhanne. Akkaataa lamaan jiru:

  • Yeroo hunda barbaadi: "plugins": [{"id": "web", "max_results": 5}], ykn a :online moodeela irratti suffix.
  • Yeroo gargaaru yoo barbaadde barbaadi: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}], akkasumas kan fudhatamuu danda'u akka web_search_preview yookaan openrouter:web_searchNymbot yeroo gaaffichi odeeffannoo ammayyaa barbaachisaa fakkaatu qofaa qorannoo taasisa; kunis tijaalee appichi itti fayyadamuun wal fakkaata.

max_results default irratti 5 fi maaxummaan 10 dha. Maddiwwan deebiin isaanii dhufa... nymbot.web_search.sources, kamiyyuu kan ... qabu title, snippet fi url, fi akka url_citation ergaa kana irratti qabxiiwwan ibsamanii.

Harkisa (search) kamiyyuu kan hojjetu gatii $0.008, sats-tti jijjiiramu, tokenoota irratti dabalata, akkasumas harka (hold) keessa jira. Fuulota inni dubbise tokenoota inputii dha, kanaaf deebiin weebsaayidii irraa argamu gaaffii tokko qofa (cold) gaafachuun danda'u irra gatii guddaa qaba, yeroo tokko tokko immoo baay'ee kan dabalatu dha.

Deebii, karaa tokkoon

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

API Deebiiwwanii

Foormatii haaraa OpenAI, kan SDK OpenAI Agents fi Codex tiin tajaajilamu. Moodeelota, kaffaltii fi dandeettiiwwan Chat Completions waliin wal fakkaatu irratti hordofa.

POST https://nymbot.ai/api/v1/responses — API key barbaada.

MarsaaGaraaBarbaachisaIbsa
modelxila/shaxaanEeyyeeWaa'ee Xumura Marii, dabalata itti fufiinsa qaban dabalatee.
inputstring ykn arrayEeyyeeString tokko, yookaan tarree wantootaa: ergaa (gaheen user, assistant, system, developer) waliin input_text, input_image fi output_text kutaa, fi function_call fi function_call_output meeshaalee meeshaalee hojii. input_image tokko fudhata image_url liinkii ykn URL daataa, idii faayilaa miti. reasoning fi web_search_call meeshaaleen ni darban; item_reference Dhokkisameera.
instructionsxila/shaxaanLakkiQajeelfamoota sirnaa.
max_output_tokenslakkoofsa guutuuLakkiBarreeffamaaf tokkanii hedduu.
temperature
top_p
lakkoofsaLakkiControloota samplingii, bakka moodeelli sun itti fudhatu.
tools
tool_choice
parallel_tool_calls
array, string ykn object, booleanLakkiMeeshaalee hojii (Function tools), bifa Deebii keessatti (Responses shape) ({"type": "function", "name": …, "parameters": …}). A web_search yookaan web_search_preview meeshaan ni bante barbaacha weebii yeroo gargaaru. Meeshaalee kaan dabalataa (built-in) ni رفضatama.
reasoningmeeshaaLakki{"effort": "minimal" | "low" | "medium" | "high"}. xhigh fi max jechuu high; none dhaabu.
text.format
response_format
meeshaaLakkiDhaabbataa bu'aa, akka skema JSON ykn json_object.
metadatameeshaaLakkiDeebiin isaa tokko malee jijjiiramuu hin dhabu. Keessumattuu gatiiwwan stringii 16, koodiiwwan (keys) hamma 64 fi gatiiwwan (values) hamma 512.
streambooliyaanLakkiGochaawwan akka armaan gaditti ibsametti dhiyeessi.
storebooliyaanLakkiDhiifame. Wanti tokkoyyuu kuufamu hin jiru, deebiin immoo yoomiyyuu jedha "store": false.
previous_response_id
conversation
background
string, object, booleanLakkiHin deeggaramu: 400 unsupported_parameterDeebiin hin kuufamu, kanaafis haasaa guutuu ergi input yeroo hunda.

Deebii

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

Gaaffiin meeshaa tokkoo ni mul'ata output akkasuma function_call meeshaa waliin call_id, name fi arguments; bu'aa sana akka a jedhanii deebisi function_call_output meeqa kan wal fakkaatu call_id. Sababa, yeroo moodeelli sun deebisu, dha reasoning meeshaa waliin reasoning_text qabiyyee, dur dur kan tarreeffame. status dha incomplete yeroo deebiin dhufu max_output_tokens ykn dhimma dhuunfaa (provider) dide, wajjin incomplete_details.reason deebisuuf max_output_tokens yookaan content_filterDeebiin kun akkasumas qindoomina gaaffii (temperature, tools, tool choice fi kkf) akkaataa OpenAI fakkaataa ta'een ni makkasa, akkasumas... nymbot gatii wanta.

Kan dhangala'aa ta'e, waa'ee tokko tokkoon kan ta'e... event: diriira fi a data: xumura 'a' qabuun waliin sequence_number, tartiiba kana keessatti: response.created, response.in_progress, response.output_item.added, response.content_part.added, lakkoofsa kamiyyuu response.output_text.delta, response.output_text.done, response.content_part.done, response.output_item.done, fi dhuma irratti response.completed akkasumas faayidaa fi gatii. Deebiin gabaabame xumurama response.incomplete akkasumas, akkasumas tarkaanfii hin milkoofne yommuu adeemsi jalqabe waliin response.failed. Sababa irratti hundaa'uun akka waan adda ta'etti dhiyaata, kan inni qabu: response.reasoning_text.delta fi .done. Waamichoonni toolaa ergaa booda dhufu, kan tokko tokkoon isaanii akka meeshaa qabanitti response.function_call_arguments.delta fi .done.

HaalaYoom
400Lakki model yookaan input; previous_response_id, conversation, background yookaan item_reference (unsupported_parameter); meeshaa ykn gosa qabiyyee hin deeggaramne.
402, 403, 404, 429, 502, 503Waa'ee 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);

Anthropic Ergaawwan

Akkaataa Anthropic, SDK-wwan Anthropic fi Claude Code dha. Moodeelota katalogii keessa jiran hunda waliin hojjeta, Claude qofa miti: gaaffiin hiikama, paayipiliinii wal-fakkaataa keeltan, achiis deebisee hiikama.

POST https://nymbot.ai/api/v1/messages — API key barbaada, akkuma x-api-key yookaan Authorization: Bearer.

-icha anthropic-version fi anthropic-beta header-oonni fudhatamanii walitti hin dhuufan. Maqaan moodelota Anthropicii katalogii waliin wal simata, kanaaf Claude Code fi SDK-oonni maqaa isaan duraan itti fayyadaman waliin hojjetu:

  • Maqaa kataloogaa beeku, akkaaf claude-sonnet-5 yookaan anthropic/claude-opus-5, akkaataa isaa ilaaluun ni tajaajila.
  • Ta'ee dabalataan guyyaa (-20260514), -latest, mallattoo vereshinii akka -v1, mallattoo bracketii keessa jiru kan akka [1m] fi kan anthropic/ yookaan anthropic. prefix-oon ni fudhatama, akkasumas qofee fi xiraayoon kan fuula sana irratti argaman karaa lamaan yaalamu (claude-haiku-4-5 argannoo claude-haiku-4.5).
  • Yoo sun hamma dhumatti waan tokko hin taane, maatiin (Opus, Sonnet ykn Haiku) yoo ta'e fayyadamama, akkaataa katuulaan (catalog) isaa kan gaafatame sana waliin walqixaa ykn isa haaraa ta'uu isaatiin.
  • Maqaan tokko kamiyyuu kan hin wal simne deebii kenna 404 not_found_error.
MarsaaGaraaBarbaachisaIbsa
modelxila/shaxaanEeyyeeID moodelii kataloogii, ykn maqaa moodelii Anthropic.
max_tokenslakkoofsa guutuuEeyyeeBarreeffamaaf tokkanii hedduu.
messagesarrayEeyyeeuser fi assistant dhaabbata, waliin text, image (base64 ykn madda URL), tool_use fi tool_result blockiiwwan. thinking Kutaaleen kutaalee duraanii fudhatamanii gadi dhihaatan.
systemstring ykn arrayLakkiPromptii sirnaa, akka barreeffama walitti hidhamee ykn kutaalee barreeffamaa.
temperature
top_p
lakkoofsaLakkiControloota samplingii, bakka moodeelli sun itti fudhatu. top_k ni fudhatama fi ni dhiifama.
stop_sequencesarray ajjejjiiwwan qubee (strings)LakkiBarreeffama deebii xumuru. Stringiiwwan hamma 4tti, kan tokkoon tokkoon isaanii hamma 256 characterii.
tools
tool_choice
array, objectLakkiMeeshaalee wajjin name, description fi input_schema. A web_search meesha serveerii hojii jalqabdi barbaacha weebii; Meeshaalee biroo Anthropic keessatti dabalaman (bash, text editor, computer use) dhorkamaniiru. unsupported_tool. tool_choice fudha auto, any, tool yookaan none, fi disable_parallel_tool_use.
thinkingmeeshaaLakki{"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} yookaan {"type": "disabled"}. Baajataatiin sadarkaa carraaqqii filata: 2,048 yoo gadi dhiifama qabu, 2,048 irraa gadi aanaa, 8,192 irraa giddu-galeessa, 16,384 irraa ol ol-aanaa. Adaptive fayyadama output_config.effort, yookaan ol.
streambooliyaanLakkiAkkaataa boqonnaa Anthropictti stream godhi.
metadatameeshaaLakkiAcceptamee fi dhiisame.

Deebii

{
  "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 akkasumas qabachuu danda'a tool_use blookiiwwan fi a thinking blokii, eenyuu signature Duwwaadha. stop_reason dha end_turn, max_tokens, tool_use yookaan refusal, akkasumaan akkaataa kanaan hojjetame finish_reason on Xumura Marii; stop_sequence yeroo hunda ni ta'a null, sekwenisii dhaabbataa deebii xumure yoo ta'e illee. input_tokens lakkoofsota galmee haaraa qofa; galmee kuusaa (cached) keessa jira; gatiin immoo... nymbot objektiifi sana X-Nymbot-Cost-Sats mata-duree.

Ergaawwan dabaraniin dhiyaatan kan Anthropic: message_start, content_block_start, ping, content_block_delta (text_delta, input_json_delta yookaan thinking_delta), content_block_stop, message_delta sababa dhaabbii, fayyadama fi ... nymbot bakka kutaalee kaffaltii, fi message_stop. A ping akkasumas sekondii 15tti yeroo modelichi hojjechaa jiru ergame. Himattoomni meeshaalee (Tool calls) barreeffama booda dhufu, tokko tokkoon isaanii... tool_use block keessaa odeeffannoo guutuu isaa waliin tokko keessatti input_json_delta.

Galmeewwan dogoggoraa endpoint kana irratti fayyadamaa jiran bifa Anthropic ti: {"type": "error", "error": {"type": "not_found_error", "message": "…"}}. A balansi gabaabaan dha 402 billing_error, tajaajila baay'ee garmalee hojii irratti hundaa'e 503 overloaded_error. Yaalii adeemsi sun jalqabamee booda kufuu ta'e akka ani... jedhamee ergame error sagantaa

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

Tokkan tokkan lakkaa'uu

Tilmaama tokonii (input tokens) gaaffiin Messages meeqa akka fayyadamu, akka namni fayyadamtu erguun dura sakatta'uuf. Bilisa dha, garuuiiittii (key) barbaada.

POST https://nymbot.ai/api/v1/messages/count_tokens — API key barbaada. Bilisa.

Qaamichi kan kanaan wal fakkaata Ergaa [], malee max_tokens; maqaan moodelii hiikamuu qaba. Lakkoofsni kun tilmaama: qubeeyyiin promptii sirnaa, ergaa, waamicha meeshaa fi hiika meeshaa afuritti qoodamu, dabalataan fakkii hundaaf 1,600. Kun tokenizer kan dhuunfaa dhiyeessituu miti, kanaaf lakkoofsni dhugaa garaagarummaa qabaachuu danda'a. Kiriin (key) xumura isaa ga'e akkuma jirutti fayyadamuu danda'a.

Deebii

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

Moodeelota tarreeffachuu

Modellii fi generatorii API'n fudhatu hunda, gatii isaa waliin. Tarreen kun galmee (catalog) appii keessatti filatamu sana waliin walqabatee dubbifama, kanaafuu yeroo hunda waan serverri hojjetu dha.

GET https://nymbot.ai/api/v1/models — furtuun hin barbaachisu. Daqiiqaa shanaf cache'ee jira.

GET /api/v1/models/{id} galmee tokko deebisa.

MarsaaGaraaBarbaachisaIbsa
typestring (hordoffii)Lakkichat (kan akkaataa baramaatti), image, video, audio, embedding yookaan all. Baay'ee kennamuu danda'u, akka image,video.

Gatiin ati kaffaltu dha, kaffaltii (fee) fi margin'ii itti dabalamee, doolaara fi sats gatii Bitcoin ammaa irratti hundaa'uun dha. balance balansiin modelichi itti fayyadamu inni kam akka ta'e ni dubbata. nymbot_key maqaan gabaabaa moodeelichaa appii keessa jiraa? created yeroo hunda 0 dha, sababni isaas kaataalogiin yeroo moodeelli tokko itti dabale hin galmeessu. Moodeelli tokko gatiin tookenii beeksifame hin qabne gatii kan qabu per_request bakka isaa.

nymbot/auto yeroo hunda dura dha, gatiin isaas kan kanaan gadii dha variable, kan a routes karaa garaagaragaa tokko tokkoof gatii isaanii tarreessu. Inni mul'ata (vision) fi yaada (reasoning) tarreessa, garuu meeshaalee (tools) hin tarreessu.

GET /api/v1/models/{id} maqaalee fi odeeffannoo dabalataa (aliases) gaaffii wal fakkaatu fudhata, akkasumas ragaa moodela isaanitti fayyadamaniif deebisa.

Deebii

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

Gosa biroo:

  • Fakkii galmeewwan qabu capabilities (accepts_image_url, requires_image_url, edit) fi gatii per_generation.
  • Viidiyoo galmeewwan qabu max_duration_seconds fi resolutions, fi gatii per_second murtoo tokko tokkoof.
  • Sagalee galmeewwan qabu audio_type speech yookaan transcription, gatii qabu per_1k_chars yookaan per_minute.
  • Embedding galmeewwan qabu dimensions, context_length, max_inputs fi gatii tokko tokko tokkummaa tokko tokko tokko millyonii keessatti.

Gatiin mallatteeffame "estimated": true hin beekamu. type deebiiwwan 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);