بڕۆ بۆ ناوەڕۆکەکە
گەڕانەوە بۆ Nymbot

بنکەی زانیاری گەشەپێدەران

چات، وەڵامەکان و نامەکان

سێ ڕێگەی جیاواز بۆ پرسیارکردن لە مۆدێلێک، لە هەر سێ شێوازەی کە کڕیارەکان پێشتر بەکاری دەهێنن، هەموویان لەسەر هەمان مۆدێلەکان کار دەکەن و بە هەمان شێوە خەرجییان لەسەر دەکرێت.

بینینی چات (Chat Completions)

فۆرماتی چاتی OpenAI، و ئەو فۆرماتەی نزیکەی هەموو ئامرازێک پاڵپشتی دەکات. گفتوگۆی تا ئێستا بنێرە و نامەی داهاتوو وەربگرەوە.

POST https://nymbot.ai/api/v1/chat/completions — پێویستی بە کلیلێکی API هەیە.

تەنیا model و messages پێویستن. پارامیتەری نمونەگرتنێک کە مۆدێلی هەڵبژێردراو وەرناگرێت، بەبێ هەڵە دەڕوات، بۆیە یەک جەستەی داواکاری (request body) لە ڕێگەی هەموو مۆدێلەکانەوە کار دەکات. لیستی مۆدێلەکان دەرفەیە هەر مۆدێلێک... supported_parametersئەوەی ڕەتدەکرێتەوە نەک ئەوەی واز러ێت، هەر شتێکە کە مۆدێلەکە بە هیچ شێوەیەک ناتوانێت ئەنجامی بدات: وێنە بۆ مۆدێلێک کە ناتوانێت ببینێت، ئامراز بۆ مۆدێلێک کە ناتوانێت بانگهێشتی بکات.

بوارنووسینپێویستەوەسف
modelگیر</li>بەڵێnymbot/auto (یان auto) بۆ ڕێڕەوی Nymbot لەسەر هاوسەنگی ستاندارد، یان ناسنامەی مۆدێلی کتێبخانە وەک anthropic/claude-sonnet-5 لە هاوسەنگی Proدا. ناوی کورت و ناونیشانە جێگرەکانی ئەپەکەش وەرگیرێنراون. ڕەنگە بە a کۆتایی بێت پاشگری.
messagesئەرێی (Array)بەڵێگفتوگۆکە. ڕۆڵەکان system, developer (وەک سیستەم مامەڵە لەگەڵ بکرێت)، user, assistant و tool. ناوەرۆکەکە ستینگێک یان لیستێکە لە text و image_url بەشەکان؛ تەنها وێنە لە نامەکانی بەکارهێنەر. input_audio و بەشەکانی فایل ڕەت دەکرێنەوە.
streamبۆلیاننەخێروەک نووسراوەکەیەتی بنێرە. ببینە ستریمینگ.
stream_optionsتەننەخێر{"include_usage": true} بەشێکی کۆتایی زیاد دەکات لەگەڵ ژمارەی تۆکەنەکان و تێچووەکە.
max_tokens
max_completion_tokens
بەشگێڕ (integer)نەخێرزۆرترین تۆکەن بۆ نووسین. ئەگەر زیاتر بێت، دەگۆڕێت بۆ زۆرترین ئاستی مۆدێلەکە. هەروەها دیاری دەکات چەندێک لە هاوسەنگییەکەت (balance) ڕادەگیرێت، بۆیە ژمارەیەکی بچووکتر پێویستی بە کرێی کەمتر هەیە بۆ دەستپێکردن.
temperature
top_p
ژمارەنەخێرکۆنترۆڵەکانی نمونەگرتن: temperature لە ٠ تا ٢، top_p لە ٠ بۆ ١.
stopستر یان ئەرێی (array)نەخێردەقی کۆتایی پێ دەهێنێت بە وەڵامەکە: زنجیرەیەک یان ل劲 ئین زیادتر لە ٤ زنجیرە، هەر یەکیش ل劲 ئین ٢٥٦ کاراکتەر. لەلایەن بەکارهێنان نەکراوە بۆ nymbot/auto.
seedبەشگێڕ (integer)نەخێربۆ نموونەی دووبارەبووەوە، لەو شوێنانەی کە مۆدێلەکە پشتگیری لەوە دەکات.
presence_penalty
frequency_penalty
ژمارەنەخێرکۆنتڕۆڵەکانی دووبارەکردنەوە، هەر یەک لە -٢ بۆ ٢.
response_formatتەننەخێر{"type": "json_object"} یان {"type": "json_schema", "json_schema": {…}}, لەو شوێنەی مۆدێلەکە پشتگیری لێ دەکات. بەکار نایەت لەلایەن nymbot/auto.
tools
tool_choice
parallel_tool_calls
array، string یان object، booleanنەخێربانگکردنی فەنکشن. ببینە بانگکردنەوەی ئامرازەکان. A web_search ئامێرەکە کار دەکات گەڕان لە وێببە朽ترین ١٢٨ ئامراز و ٥١٢ کیلۆبەیت پێناسە، بە ڕادەی پێشوەختە لە نیوەوە تا ٦٤ ئاست؛ زیاتر دەبێتە 400.
reasoning_effort
reasoning
دەجم (string), تەنیشتە (object)نەخێر"minimal", "low", "medium" یان "high"، یان {"effort": "high"}. "none" یان {"enabled": false} دەکوژێتەوە. ببینە ڕەوانسازی.
pluginsئەرێی (Array)نەخێر[{"id": "web", "max_results": 5}] هەمیشە سەرەتا لە وێب دەگەڕێت. تا ١٠ ئەنجام.
nبەشگێڕ (integer)نەخێرتەنها ١. هەر شتێکی تر دەگەڕێتەوە 400.
logit_bias
user
metadata
ئەگەر (object)، دەق (string)، ئەگەر (object)نەخێروەرگیراوە و نەنێردرێتەوە. logit_bias زۆرترین ٣٠٠ token id دەکات بە ژمارە لە -١٠٠ بۆ ١٠٠؛ user بەForsmax to at most 256 characters; metadata زۆرترین ١٦ بەهای دەق دەگرێت، کلیلەکان تا ٦٤ کارەکتەر و بەهاکان تا ٥١٢.

وەڵامەکە ئاساییە chat.completion, لەگەڵ تێچوو لە usage.cost (بە دۆلار) و لە nymbot ئەگەر (object) model ئایا ناسنامەی مۆدێلی چارەسەرکراوە، لەبەر ئەوە ناوێکی کورت دەگەڕێتەوە وەک ناوێکی تەواو. ئەگەر مۆدێلەکە پێش وەڵامدانەوە بیر کردبێتەوە، بیرکردنەوەکەی لە ناوە message.reasoning_content، جیا لە وەڵامەکە.

وەڵام

{
  "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 لە ئەوەوە دەرهێناوە کە گەڕاوەتەوە، چونکە دابینکارەکان بە شێوەیەکی جیاواز ڕای دەگەیەنن: tool_calls کاتێک مۆدێلەکە داوای ئامرازەکانی کرد، length کاتێک وەڵامەکە هەموو تۆکنی ڕێپێدراوی بەکارهێنا (یان مۆدێلەکە هەموو تۆکنەکانی خەرج کرد بۆ بیرکردنەوە و هیچ وەڵامێکی نەنووسی)، content_filter کاتێک دابینکەر ڕەتکردەوە، و stop بەهای ئەگەر نا. usage.completion_tokens_details.reasoning_tokens هەمیشە 0ە: شاراوە تۆکەنەکانی بیرکردنەوە هەژمار دەکرێن، و تێچووی بۆ دەکرێت، لە completion_tokens.

بارودۆخکەی
400نەخێر model یان messages (missing_required_parameter); بەشێکی دەنگ یان فایل، یان وێنە بۆ مۆدێلێک کە ناتوانێت بیبینێت (unsupported_content); زیاتر لە ٢٠ وێنە (too_many_images); پارامیتەری نمونەیگرتن لە جۆرێکی هەڵە یان لە دەرەوەی مەودەیە (invalid_value); لینکێکی وێنە کە گشتی نییە (invalid_image_url); ئامرازێک لەسەر مۆدێلێک کە ناتوانێت بانگیشیان بکات (unsupported_tool); n بەجگە لە ١؛ a :thinking پاشکۆیەک لەسەر مۆدێلێک کە ناتوانێت بیر بکاتەوە (model_not_found); یان دابینکەر داواکارییەکەی ڕەت کردەوە (upstream_rejected).
402باڵانسی ئەوەی مۆدێلەکە خەرجی دەکات ناتوانێت ڕاوەستییەکە دابپێچ بکات.
403تۆخترین حاڵەت لە سەرپۆشی کلیلەکە ناگونجێت (key_limit_reached). کەمتر max_tokens یان سنوورەکە بەرز بکەوە.
404هیچ مۆدێلێک بەو ناوەوە نییە (model_not_found).
429سنووری ڕێژەی کلیلەکە، یان هی دابینکەر (upstream_rate_limited).
502, 503دابینکەرەکە شکستی هێنا (upstream_error) یان زیادکراوە (upstream_overloaded، لەگەڵ Retry-After). هیچ پارەیەک بۆ ناکرێت مەگەر دابینکەرەکە بۆ هەوڵەکە پسوولەی ناردبێت.

کۆدەکانەی بارودۆخی کە هەموو کۆتاییەکان (endpoints) هاوبەشیان لەگەڵە لەژێر ئەم خوارەوەدا لیست کراونە هەڵەکان.

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

ستریمینگ

لەگەڵ "stream": true وەڵامەکە وەک ڕووداوەکانی ناردراوی سێرڤەر (server-sent events) دێت لە کاتێکدا مۆدێلەکە دەینووسێت. هەر ڕووداوێک بریتییە لە chat.completion.chunk لەسەر ئەگەر data: هێڵەکە، و ڕەوانبوونەکە بە کۆتایی دێت لەگەڵ data: [DONE]ڕەچاوکردن دەگاتە ناو delta.reasoning_content، وەڵامەکە بە delta.content.

هەر شتێک کە ڕەنگە زیاتر لە نزیکەی ١٠٠ چرکە بێت، وەک وەڵامێکی درێژ، یان شتێکی گەورە، بە شێوازی ستریم (Stream) بنێرە max_tokens یان مۆدێلێکی بیرکردنەوە. داواکارییەک کە بە شێوازی ستریم (stream) نەبێت، تاوەکو وەڵامەکە تەواو نەبێت هیچ شتێک ناردەن، و ڕەنگە تۆڕەکە لە نێوان تۆ و Nymbot دوای نزیکەی ١٠٠ چرکە پەیوەندییەکی بێ کار دابخات؛ مۆدێلەکە هەر کارەکەی تەواو دەکات و ئەوەی نووسیویەتی تێچووی هەیە، بەڵام وەڵامەکە ون دەبێت. ستریم نامەی بەردەوامبوون (keep-alives) دەنێرێت، بۆیە تا ئەو کاتەی مۆدێلەکە دەنووسێت، پەیوەندییەکە بە کراوەیی دەمێنێتەوە.

ڕەوانکردن

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]
  • هێڵەکانی کە بە دەستپێکردنەوەی... دەستپێدەکەن : تێبینییەکانی keep-alive، هەموو ١٥ چرکەیەک دەکرێنەوە لە کاتی ئەوەی مۆدێلەکە بیر دەکاتەوە. کلاینتەکانی SSE دەیناسێنن و پشتگوێیان دەخات.
  • داوا بکە بۆ "stream_options": {"include_usage": true} بۆ بەدەستهێنانی کۆتا پارچەی سەرەوە، بە بەتاڵێکی choices، ژمارەی تۆکەنەکان، تێچوو و ئەو nymbot ئەگەر (object)
  • تێچووەکە دوای تەواوبوونی سترێمەکە جێگیر دەبێت. ئەگەر پەیوەندییەکە پێش کاتی خۆی دابخەیت، مۆدێلەکە ڕادەوەستێت: Nymbot بەردەوام دەخوێنێتەوە بەڕاوەیی ئەوەی لە لایەن دابینکەرەوە دەست پێکردووە، بۆ ماوەی تا ٢٥ چرکە، تاوەکو ژمارەی تۆکەنەکەی دەست بکەوێت، و تۆ ئەوە دەدەی کە دابینکەرەکە ڕاپۆردی دەکات. بەبێ ئەو ژمارەیە، تێچووەکە لە ڕێگەی داخڵکردنی تۆ و ئەوەی نووسراوەوە، لەگەڵ هەموو ڕێگەدانەکانی دەرچووی مۆدێلێک کە بیرکردنەوە دەکاتەوە، هەڵدەسەنگێنرێت.
  • هەڵەیەک پێش پارچەی یەکەم، وەک 401 یان 402, وەک JSONێکی ئاسایی لەگەڵ کۆدی دۆخی دەگەڕێتەوە، نەک وەک ستریم. هەڵەیەک دوای ئەوەی ستریمەکە دەست پێکرد، وەک کۆتایی دێت data: {"error": {…}} ڕووداوەکە، و ستریمەکە بەبێ کۆتایی دێت [DONE].
  • داواکارییەکان لەگەڵ ئامرازەکان، و مۆدێلەکان لەسەر گواستنەوەی وەڵامەکانی OpenAI، لە لایەن دابینکەرەوەوە ستریم (stream) ناکرێن. ئەوان هێشتا بە ستریمێکی دروست وەڵام دەدەنەوە، کە دوای تەواوبوونی وەڵامەکە دەینێردرێت.

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

بانگکردنی ئامرازەکان

وەک 函数 (functions) وەسف بکە لە tools و مۆدێلەکە دەتوانێت داوا بکات کە لەبری وەڵامدانەوە، یەکێکیان بانگ بکرێت. تۆ فەرهەندەکە کار پێ دەکەیت، ئەنجامەکەی وەک... دەخەیتە ناو tool نامەیەک لەگەڵ هەمان tool_call_id، و دووبارە گفتوگۆکە بنێرەوە. Nymbot هەرگیز کارەکانی تۆ جێبەجێ ناکات؛ داواکاری مۆدێلەکە دەگەڕێنێتەوە بۆ لای خۆت.

tool_choice دەستەکان "auto", "none", "required" یان {"type": "function", "function": {"name": "…"}}. لیستی مۆدێلەکان ئاماژە بۆ دەدات کە کام مۆدێلەکان دەتوانن ئامرازەکان بانگ بکەن (capabilities.tools). ئامرازەکان ڕەت دەکرێنەوە بە... 400 unsupported_tool دەستپێکردن nymbot/auto و لەسەر ئەو چەند مۆدێلە کتێبخانەییانەی کە لەسەر پرۆتۆکۆلی Responsesی OpenAI کار دەکەن، کە Nymbot ناتوانێت ئامرازەکان (tools) بۆ بنێرێت.

لەگەڵ "stream": true، داواکارییەک لەگەڵ ئامرازەکان بە یەک پارچە کار دەکات و پاشان وەک زنجیرەی پارچەیەکی ئاسایی ناردılırەوە: ڕۆڵەکە، یەک پارچە کە هەموو بانگهێشتکردنی ئامرازەکە بە ئیندێکس، ناسنامە (id)، ناو و ئامۆژگارییەکانی دەگەیەنێت، و پارچەی کۆتایی. ئەو کلاینتانەی بانگهێشتکردنی ئامرازە بە شێوازی ستریم (streamed) دەخوێننەوە، بە شێوەیەکی ئاسایی مامەڵەی لەگەڵ دەکەن.

وەڵام، بەشێک لە

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

وێنەکان لە ناو داواکارییەکدا

مۆدێلەکان بە capabilities.vision دەتوانێت وێنە بخوێنێتەوە. زیادکردنی an image_url بەشێک بۆ نامەیەکی بەکارهێنەر، لەگەڵ یان گشتی https:// لینکی یان a data:image/…;base64, URL. تا ٢٠ وێنە بۆ هەر داواکارییەک. وێنە SVG ڕەت دەکرێنەوە، هەروەها ئەو لینکەی زیاتر لە ٤,٠٩٦ کاراکتەر بێت یان ناوی بەکارهێنەر یان وشەی نهێنی لە ناویدا بێت (400 invalid_image_url). بەشی دانانە (ئەگەر ویست) detail یە auto, low یان high.

لەگەڵ nymbot/auto، داواکارییەک کە وێنەیەکی تێدایە دەڕوات بۆ مۆدێلێکی ستاندارد کە دەتوانێت بیبینێت. مۆدێلێکی کاتەلۆگ بەبێ capabilities.vision وێنەکان ڕەت دەکاتەوە بە... 400 unsupported_contentوێنەکان تەنها دەتوانن لە نامەکانی بەکارهێنەر بن. لینکەکە دەبێت ئاماژە بە مێHostی گشتییەک بکات؛ Nymbot وێنەکە دەگوازرێتەوە بۆ دابینکەری مۆدێلەکە و پاشان پاشەکەوت ناکات.

وێنەکە وەک تۆکەنی هاتوو (input tokens) کرێ دەکرێت کە دابینکەر بۆی هەژمار دەکات، وەک کەرەستەکانی تری داواکارییەکە.

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

بیرکردنەوە

مۆدێلەکان بە capabilities.reasoning دەتوانن پێش ئەوەی وەڵام بدەنەوە بیر بکەنەوە. داوای زیاتر یان کەمتر بکەن لە ڕێگەی reasoning_effort ("minimal", "low", "medium" یان "high"یان "reasoning": {"effort": "high"}، یان زیادکردن :thinking بۆ ناوی مۆدێلەکە، کە بە واتای هەوڵی زۆر دێت. لە مۆدێلێکدا کە بیرکردنەوەی (reasoning) نییە، ڕێکخستنەکە پشتگوێ دەخرێت. لەگەڵ nymbot/auto, :thinking داواکارییەکە دەینێرێت بۆ ڕێڕەوی بیرکردنەوەی ستاندارد.

لەسەر مۆدێلەکانی Anthropic، هەوڵدانەکە دەبێتە بودجەیەکی بیرکردنەوە لە دەوروبەری ١,٠٠٠، ٢,٠٠٠، ٨,٠٠٠ یان ١٦,٠٠٠ تۆکەن، هەرگیز زیاتر لەوە نا max_tokens ڕێگە دەدات. بیرکردنەوە دەوەستێت کاتێک tool_choice ئامرازێک ناچار دەکات، و کاتێک داواکارییەke بەردەوام دەبێت لە خولێکی ئامرازدا (دوایین نامەکەی ئەنجامی ئامرازێکە)، چونکە Anthropic پێویستی بە بیرکردنەوەکەی پێشتر واژۆکراوە هەیە بۆ دەستپێکردنەوەی. هەمان شت بۆ کۆتاییەکان و خاڵەکان (endpoints)ی وەڵامەکان و نامەکان بەسەر دێت.

بیرکردنەوەکە دەگەڕێتەوە ناو message.reasoning_content، یان delta.reasoning_content کاتێک ستریم دەکەیت، هەرگیز تێکەڵ نەکەوە لە وەڵامەکەدا. بیرکردنەوە دە输出ە و بەو شێوەیە پارەی لێ دەخرێتێت، لە ناوەوە completion_tokensهەندێک دابینکەر هەر دەقێکی ڕوونکردنەوە ناکەنەوەەوە، بەڵام هێشتا تێچووی لەسەر خراوە.

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

پاشگرەکانی مۆدێل

پاشکۆیەک لەسەر ناوی مۆدێلەکە شێوازی مامەڵەکردن لەگەڵ داواکاری دەگۆڕێت، بێ ئەوەی مەیدەنێکی تر پێویست بێت. ئەوان هەردووک لەسەر ئایدی تەواو و ناوی کورت کار دەکەن، وەک لە anthropic/claude-sonnet-5:online.

پاشگرکاریگەری
:onlineسەرەتا لە وێبەکەدا بگەڕێت، وەک plugins: [{"id": "web"}]بینە. گەڕان لە وێب.
:thinkingهەوڵی بەرزی بیرکردنەوە؛ کار لەسەرە nymbot/auto، ڕێگەی ڕەوانسازی. لە مۆدێلێکدا کە ناتوانێت ڕەوانسازی بکات، 400 model_not_found لەگەڵ &ldquo;no endpoints found&rdquo;.
:nitro, :floor, :exacto, :extendedپەسەندکرا و پشتگوێ خرا. هەر مۆدێلێکی کاتەلۆگ یەک ڕێگەی هەیە، بۆیە هیچ ڕێگەیەکی خێراتر، هەرزانتر یان درێژتر نییە بۆ هەڵبژاردن؛ پاشکۆکان ڕێگەپێدراون بۆ ئەوەی ئەو ناوانەی مۆدێل کە لە خزمەتگوزارییەکانی ترەوە کۆپی کراون هێشتا کار بکەن.

هەر پاشگرێکی تر پشتگوێ دەخرێت. سەرەتا هەموو ناوەکە تاقیدەکرێتەوە، بۆیە مۆدێلێک کە ئایدییەکەی بە ڕاستی کۆڵۆن (:) لەخۆ دەگرێت هێشتا کار دەکات؛ ئەگەر ئەوەش سەرکەوتوو نەبێت، پاشگرەکان یەک یەک لە کۆتایی ناوەکە لادەبرێن تا مۆدێلێک دەستنیشان دەکرێت. ناوی مۆدێلەکە ڕەنگە لە دو максимум ٢٠٠ پیت بێت لەگەڵ زۆرترین ٤ پاشگر؛ ئەگەر درێژتر بێت بەم شێوەیە ڕەتدەکرێتەوە 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);

هەر مۆدێلێکی چات دەتوانێت لە وێبی ڕاستەوخۆوە وەڵام بداتەوە. Nymbot گەڕان بۆ دوایین نامەی بەکارهێنەر ئەنجام دەدات (٢,٠٠٠ چەرتەری یەکەمەکەی)، باشترین لاپەڕەکان دەخوێنێتەوە و لەگەڵ پرسیارەکە پێشکەشی مۆدێلەکە دەکات، بەوەی وەک ناوەڕۆکێکی دەرەکی نیشان دەدرێت کە مۆدێلەکە نابێت ڕێنمایی لە ئەوە وەربگرێت. دوو شێوازی هەیە:

  • هەمیشە بگەڕێ: "plugins": [{"id": "web", "max_results": 5}], یان a :online پاشکۆی لەسەر مۆدێلەکە.
  • کاتێک یارمەتیدەرە بگەڕێ: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}]، هەروەها وەک وەرگیراو دادەنرێت web_search_preview یان openrouter:web_search. Nymbot تەنها کاتێک گەڕان دەکات کە پرسیارەکە وا دەردەکەوێت پێویستی بە زانیاری نوێ هەبێت، هەمان ئەو تاقیکردنەوەیەی ئەپەکە بەکاری دەهێنێت.

max_results بە دیاریکراوی ٥ە و بەFors mەکۆڵین بۆ ١٠. سەرچاوەکان دەگەڕێنەوە لەناو nymbot.web_search.sources, هەر دانەیەک بە title, snippet و url, و وەک url_citation تێبینییەکان لەسەر نامەکە.

هەر گەڕانێک کە ئەنجام دەدرێت تێچووی ٠.٠٠٨ دۆلاری هەیە، کە دەگۆڕدرێت بۆ sats، لە سەرەوەی تۆکەنەکان، و بەشێکە لە hold. ئەو لاپەڕانەی کە خوێندوویانەت تۆکە ناوۆکەیین، بۆیە وەڵامدانەوە لە وێب تێچووی زیاترە لە وەڵامدانەوەی هەمان پرسیار بەبێ گەڕان، هەندێکجار چەندین جار زیاترە.

وەڵام، بەشێک لە

"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ی وەڵامەکان

فۆرماتە نوێیەکەی OpenAI، کە لەلایەن OpenAI Agents SDK و Codex بەکاردێت. لەسەر هەمان مۆدێل، تێچوو و تایبەتمەندییەکانی Chat Completions کار دەکات.

POST https://nymbot.ai/api/v1/responses — پێویستی بە کلیلێکی API هەیە.

بوارنووسینپێویستەوەسف
modelگیر</li>بەڵێسەبارەت بە بینینی چات (Chat Completions), پاشگرییەکان بە هاوپێچ.
inputستر یان ئەرێی (array)بەڵێدەقێک، یان لیستێک لە بابەتەکان: نامەکان (ڕۆڵەکان user, assistant, system, developer) لەگەڵ input_text, input_image و output_text بەشەکان، و function_call و function_call_output کەرەستە بۆ ئامرازەکان input_image دەخاتە ناو image_url لینکی یان URLی داتا، نەک ناسنامەی فایل (file id). reasoning و web_search_call کاڵاکان پشتگوێ دەخرێن؛ item_reference ڕەتکراوەتەوە.
instructionsگیر</li>نەخێرڕێنماییەکانی سیستم.
max_output_tokensبەشگێڕ (integer)نەخێرزۆرترین تۆکەن بۆ نووسین.
temperature
top_p
ژمارەنەخێرکۆنتڕۆڵەکانی نمونەگرتن، لەو شوێنەی مۆدێلەکە ئەوان وەردەگرێت.
tools
tool_choice
parallel_tool_calls
array، string یان object، booleanنەخێرئامرازەکانی فەنکشن، لە شێوەی وەڵامەکاندا ({"type": "function", "name": …, "parameters": …}). A web_search یان web_search_preview ئامێرەکە کار دەکات گەڕان لە وێب کاتێک یارمەتی دەدات. ئامرازەکانی تری ناوخۆیی ڕەت دەکرێنەوە.
reasoningتەننەخێر{"effort": "minimal" | "low" | "medium" | "high"}. xhigh و max واتە high; none دەستبەدەست دەکات.
text.format
response_format
تەننەخێردەرهێنانی ڕێکخراو، وەک شێوازێکی JSON یان json_object.
metadataتەننەخێربێگۆڕانەوە لە وەڵامەکەدا گەڕێنراوەوە. لانی کەم ١٦ بەهای سترینگ، کلیلی تا ٦٤ کارەکتەر و بەهایان تا ٥١٢.
streamبۆلیاننەخێردوویمەی ڕووداوەکان وەک لە خوارەوە وەسف کراوە.
storeبۆلیاننەخێرپشتگوێخراوە. هیچ شتێک پاشەکەوت ناکرێت، و وەڵامەکە هەمیشە دەڵێت "store": false.
previous_response_id
conversation
background
سترینگ، ئۆبجێکت، بۆڵیننەخێرپشتیوانی ناکرێت: 400 unsupported_parameterوەڵامەکان پاشەکەوت ناکرێن، بۆیە تەواوی گفتوگۆکە بنێرە بۆ ناوەکان input هەموو جارێک.

وەڵام

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

داواکاریی ئامرازێک دەردەکەوێت لە output وەک function_call بە شتیگەرییەوە call_id, name و arguments؛ ئەنجامەکە وەکو a بنێرەوە دووبارە بکەرەوە function_call_output بەرهەمێک بە هەمان شت call_idڕاستکردنەوە، کاتێک مۆدێلەکە دەگەڕێنێتەوە، بریتییە لە reasoning بە شتیگەرییەوە reasoning_text ناوەرۆک، یەکەم لیستکراو. status یە incomplete کاتێک وەڵامەکە زەبر گەیاند max_output_tokens یان دابینکەرەکە ڕەتکردەوە، لەگەڵ incomplete_details.reason ڕێکخستن بۆ max_output_tokens یان content_filterوەک OpenAI کار لەسەر ئەوە دەکات، وەڵامەکە هەروەها ڕەنگدانەوەی ڕێکخستنەکانی داواکارییەکە دەبێت (temperature، tools، tool choice و هتد)، و هەڵدەگرێت nymbot تێچوو ئاوبجێکت.

بە ڕێگەی ستریم کراوە، هەر ڕووداوێک بریتییە لە event: هێڵ و a data: هێڵێک لەگەڵ a sequence_number، بەم ڕیزبەندییە: response.created, response.in_progress, response.output_item.added, response.content_part.added، هەر ژمارەیەک لە response.output_text.delta, response.output_text.done, response.content_part.done, response.output_item.done، و لە کۆتاییدا response.completed لەگەڵ بەکارهێنان و تێچوو. وەڵامێکی کورتکراوە بە کۆتایی دێت بە response.incomplete لەبری ئەوە، و شکستێک دوای ئەوەی ستریمەکە دەستی پێکرد بە response.failed. ڕەوانبوونەکانی بیرکردنەوە وەک بابەتێکی تایبەت بە خۆی لەگەڵ response.reasoning_text.delta و .done. بانگکردنەوەی ئامرازەکان دوای نامەکە دێن، هەر دانەیەک وەک بابەتێک لەگەڵ response.function_call_arguments.delta و .done.

بارودۆخکەی
400نەخێر model یان input; previous_response_id, conversation, background یان item_reference (unsupported_parameter); جۆرێکی ناپشتەوەر یان جۆری ناوەڕۆک.
402, 403, 404, 429, 502, 503بەشی تەواوکردنی چات (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

فۆرماتەکەی Anthropic، بۆ SDK-ەکانی Anthropic و Claude Code. لەگەڵ هەموو مۆدێلەکان لە کتێبخانەکەدا کار دەکات، نەک تەنها Claude: داواکارییەکە وەرگێڕدراوە، لە هەمان پرۆسەی کارپێکردنەوە تێپەڕیوە، و دووبارە وەرگێڕدراوەتەوە.

POST https://nymbot.ai/api/v1/messages — پێویستی بە کلیفی API هەیە، وەک x-api-key یان Authorization: Bearer.

ئەو anthropic-version و anthropic-beta سەرەکان قبوڵ دەکرێن و پشتگوێ دەخرێن. ناوی مۆدێلەکانی Anthropic لەگەڵ کاتەلۆگەکە دەگونجێن، بۆیە Claude Code و SDKەکان بەو ناوانەی پێشتر بەکاریان هێناوە کار دەکەن:

  • ناوێک کە کاتۆلۆگەکە دەیناسێت، وەک claude-sonnet-5 یان anthropic/claude-opus-5, وەک خۆی بەکاردێت.
  • وێخا یان بەدوای ئەوەدا ڕێکەوت (-20260514), -latest، وەک تاق تایبەت بە وەشانێک وەک -v1، تاگێکی ناو بەند وەک [1m] و و anthropic/ یان anthropic. پێشوەختەکان لادەبرێن، و خاڵ و هێڵەکان لە وەشانەکەدا بە هەردوو شێوە تاقی دەکرێنەوە (claude-haiku-4-5 دۆزینەوەکان claude-haiku-4.5).
  • ئەگەر ئەوە هێشتا لەگەڵ هیچ شتێکدا ناگونجێت، خێزانەکە (Opus, Sonnet یان Haiku) بەکاردێت، تا ئەو دەhält کە وەشانەکەی کاتۆلۆگەکە هەمانە یان نوێترە لەوەی داواکراوە.
  • ناوێک کە لەگەڵ هیچ شتێک ناگونجێت دەگەڕێتەوە 404 not_found_error.
بوارنووسینپێویستەوەسف
modelگیر</li>بەڵێID مۆدێلێکی کتێبخانە (catalog model id)، یان ناوی مۆدێلێکی Anthropic.
max_tokensبەشگێڕ (integer)بەڵێزۆرترین تۆکەن بۆ نووسین.
messagesئەرێی (Array)بەڵێuser و assistant ساتەکان، لەگەڵ text, image (base64 یان سەرچاوەی URL)، tool_use و tool_result بەستەرەکان. thinking بەخشەکانی پێشتر وەک قبوڵکراو و ڕەتکراوە وەردەگیرێن.
systemستر یان ئەرێی (array)نەخێرپڕۆمپتی سیستەم، وەک ستڕینگ یان بلوکی دەق.
temperature
top_p
ژمارەنەخێرکۆنتڕۆڵەکانی نمونەگرتن، لەو شوێنەی مۆدێلەکە ئەوان وەردەگرێت. top_k وەخذەگیرایەوە و ڕەتکرایەوە.
stop_sequencesڕیزبەندی سترینگەکاننەخێردەقێک کە وەڵامەکە کۆتایی پێ دەهێنێت. ل坏ین زیادترین ٤ ستینگ، هەر یەک لێیان ل坏ین زیادترین ٢٥٦ خانە.
tools
tool_choice
ئەری (array)، ئۆبجێکت (object)نەخێرئامرازەکان لەگەڵ name, description و input_schema. A web_search ئامرازی سێرڤەر کار دەکات گەڕان لە وێب; ئامرازەکانی تری ئەنتڕۆپیک (bash, text editor, computer use) بە دووری دەخستیانەوە بە unsupported_tool. tool_choice دەستەکان auto, any, tool یان none، و disable_parallel_tool_use.
thinkingتەننەخێر{"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} یان {"type": "disabled"}بە بودجە هەوڵێکی دیاری دەکات: لە ٢,٠۴۸ خوارتر کەمترین، لە ٢,٠۴۸ بۆ کەم، لە ٨,۱۹۲ بۆ ناوەند، لە ١٦,٣٨٤ بۆ بەرز. شێوازی گونجاو بەکاردێنێت output_config.effort، یان بەرز.
streamبۆلیاننەخێربە شێوازی ڕاگەیاندنی ئەنتڕۆپیک (Anthropic) ستریم بکە.
metadataتەننەخێروەخذرا و پشتگوێخرا.

وەڵام

{
  "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 دەتوانێت هەڵبگرێتەوە tool_use بلوکەکان و یەک thinking بەستن، کی؟ signature خاڵییە. stop_reason یە end_turn, max_tokens, tool_use یان refusal, بە هەمان شێوەی... finish_reason دەستپێکردن بینینی چات (Chat Completions); stop_sequence هەمیشە وایە nullتەنانەت کاتێک زنجیرەی ڕاوەستان وەڵامەکە کۆتایی پێهێنا، input_tokens ژمارەکان تەنها داخڵکردنی تازە؛ داخڵکردنی کۆکراوە لە دوو کێڵەی کۆگاکردنەکەدا دایە. تێچوو لەناو nymbot ئەگەر و ئەو X-Nymbot-Cost-Sats سەرلەپەڕە.

بە ڕێگەی ستریمەوە، ڕووداوەکان ئەوانەی Anthropicـن: message_start, content_block_start, ping, content_block_delta (text_delta, input_json_delta یان thinking_delta), content_block_stop, message_delta لەگەڵ هۆکاری وەستانەکە، بەکارهێنانەکە و... nymbot ئامانجی تێچوو، و message_stop. A ping هەروەها لە هەموو ١٥ چرکەیەکدا دەینێردرێت کاتێک مۆدێلەکە کار دەکات. بانگەوازەکانی ئامراز (Tool calls) دوای دەقەکە دەگەن، هەر یەکێکیان وەک tool_use بە تەواوی لەگەڵ هەموو داخڵکردنەکەی لە یەکدا بڕینەوە input_json_delta.

هەڵەکان لەم endpointەدا شێوازی Anthropic بەکاردێنن: {"type": "error", "error": {"type": "not_found_error", "message": "…"}}بەکەمکردنی هاوسەنگییەکی کورت بریتییە لە 402 billing_error, دابینکەرێکی پڕکراوە 503 overloaded_errorکەمکوڕی لە دوای دەستپێکردنی ستریمەکە وەک ئان دەنووسدرێت error ڕووداو.

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

هژاردکردنی تۆکنەکان

خەمڵاندنێک بۆ ئەوەی داواکارییەکی Messages چەند توکەنی (tokens) وەرگرتن بەکار دەهێنێت، تا کڕیار بتوانێت پێش ناردنی دڵنیایی لێ بکاتەوە. بە خۆڕاییە، بەڵام هێشتا پێویستی بە کلیلێک (key) هەیە.

POST https://nymbot.ai/api/v1/messages/count_tokens — پێویستی بە کلیفی API هەیە. بە خۆڕایی.

جەستەکە هەمانە وەک بۆ نامەکان، بەبێ max_tokens; ناوی مۆدێلەکە دەبێت دیاری بکرێت. ژمارەکە ڕێژەییە: پیتی کاراکتەرەکانی پرۆمپتی سیستم، نامەکان، بانگکردنەکانی ئامراز و پێناسەی ئامرازەکان دابەش دەکرێت بۆ ٤، پاشان ١،٦٠٠ بۆ هەر وێنەیەک زیاد دەکرێت. ئەمە تۆکەنایزەری (tokenizer) خودی دابینکەر نییە، بۆیە ژمارەی ڕاستەقینە دەکرێت جیاواز بێت. کلیلێک کە گەیشتووەتە سنووری خۆی دەتوانێت هێشتا بەکاری بهێنێت.

وەڵام

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

لیستکردنی مۆدێلەکان

هەموو مۆدێل و گێڕەرێک کە API وەر دەگرێت، لەگەڵ نرخەکانی. لیستەکە لە هەمان کاتۆلۆگی زیندووی هەڵبژاردنی ئەپەکەەوە دەخوێنرێتەوە، بۆیە هەمیشە ئەوەیە کە سێرڤەرەکە کار پێ دەکات.

GET https://nymbot.ai/api/v1/models — پێویستی بە کلیل نییە. بۆ پێنج خولەک کۆکراوەتەوە.

GET /api/v1/models/{id} یەک ئەنجام دەگەڕێنێتەوە.

بوارنووسینپێویستەوەسف
typeزنجیرە (پرسار)نەخێرchat (بە دیاریکراوی)، image, video, audio, embedding یان allچەندین دانەی تری دەکرێت پێشکەش بکرێن، وەک image,video.

نرخەکان ئەوەی تۆ دەیپەیتە، کە تێیدا پور و هامارەکە پێشتر لەژێرەوە دانراوە، بە دۆلار و بە سات (sats) بە نرخەکەی ئێستای بیتکۆین. balance دەڵێت کام باڵانس مۆدێلەکە خەرج دەکات. nymbot_key ئایا ناوی کورتەکەی مۆدێلەکە لە ناو ئەپەکەدا هەیە. created هەمیشە 0یە، چونکە کتێبخانەکە تۆمار ناکات کەی مۆدێلێک زیاد کراوە. مۆدێلێک بە بێ نرخەکانی تۆکەنی بڵاوکراوە نرخی خراوەتە ڕوو per_request لەجیاتی.

nymbot/auto هەمیشە یەکەمە، نرخەکەی وەک variable، لەگەڵ routes لیستەکە نرخەکانی ڕێگای هەر ستانداردێک دەدات. بینین و بیرکردنەوە دەهێنێتە ڕوو، بەڵام ئامرازەکان نا.

GET /api/v1/models/{id} هەمان ناو و ناونیشانە جێگرەوەکان وەک داواکارییەک وەردەگرێت، و دەگەڕێنێتەوە ئەو تۆمارییەی بۆ مۆدێلەکە کە ئەوانی بۆی دیاری دەکات.

وەڵام

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

جۆرەکانی دیکە:

  • وێنە بەشدارییەکان هەن capabilities (accepts_image_url, requires_image_url, edit) و نرخێک per_generation.
  • ڤیدیۆ بەشدارییەکان هەن max_duration_seconds و resolutions, و نرخێک per_second بۆ هەر ڕێکخستنێک.
  • دەنگ بەشدارییەکان هەن audio_type speech یان transcription، نرخکراوە per_1k_chars یان per_minute.
  • ئەیمبیدینگ بەشدارییەکان هەن dimensions, context_length, max_inputs و نرخێک بۆ هەر ملیۆن تۆکەنی داخڵکراو.

نرخەکان دیاریکراون "estimated": true ئەو خەمڵاندنەی ئەپەکە بۆ جەنێراتۆرێکە کە نرخەکەی بڵاونەکراوەتەوە. نەزانراوێک type گەڕانەکان 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);