بنکەی زانیاری گەشەپێدەران
چات، وەڵامەکان و نامەکان
سێ ڕێگەی جیاواز بۆ پرسیارکردن لە مۆدێلێک، لە هەر سێ شێوازەی کە کڕیارەکان پێشتر بەکاری دەهێنن، هەموویان لەسەر هەمان مۆدێلەکان کار دەکەن و بە هەمان شێوە خەرجییان لەسەر دەکرێت.
ئەم لاپەڕەیە بە ئامێری وەرگێڕدراوە بۆ ئاسانکاری. ئەسڵی ئینگلیزی ئەو وەشانەیە کە کاری پێدەکرێت.
بینینی چات (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_tokensmax_completion_tokens | بەشگێڕ (integer) | نەخێر | زۆرترین تۆکەن بۆ نووسین. ئەگەر زیاتر بێت، دەگۆڕێت بۆ زۆرترین ئاستی مۆدێلەکە. هەروەها دیاری دەکات چەندێک لە هاوسەنگییەکەت (balance) ڕادەگیرێت، بۆیە ژمارەیەکی بچووکتر پێویستی بە کرێی کەمتر هەیە بۆ دەستپێکردن. |
temperaturetop_p | ژمارە | نەخێر | کۆنترۆڵەکانی نمونەگرتن: temperature لە ٠ تا ٢، top_p لە ٠ بۆ ١. |
stop | ستر یان ئەرێی (array) | نەخێر | دەقی کۆتایی پێ دەهێنێت بە وەڵامەکە: زنجیرەیەک یان ل劲 ئین زیادتر لە ٤ زنجیرە، هەر یەکیش ل劲 ئین ٢٥٦ کاراکتەر. لەلایەن بەکارهێنان نەکراوە بۆ nymbot/auto. |
seed | بەشگێڕ (integer) | نەخێر | بۆ نموونەی دووبارەبووەوە، لەو شوێنانەی کە مۆدێلەکە پشتگیری لەوە دەکات. |
presence_penaltyfrequency_penalty | ژمارە | نەخێر | کۆنتڕۆڵەکانی دووبارەکردنەوە، هەر یەک لە -٢ بۆ ٢. |
response_format | تەن | نەخێر | {"type": "json_object"} یان {"type": "json_schema", "json_schema": {…}}, لەو شوێنەی مۆدێلەکە پشتگیری لێ دەکات. بەکار نایەت لەلایەن nymbot/auto. |
toolstool_choiceparallel_tool_calls | array، string یان object، boolean | نەخێر | بانگکردنی فەنکشن. ببینە بانگکردنەوەی ئامرازەکان. A web_search ئامێرەکە کار دەکات گەڕان لە وێببە朽ترین ١٢٨ ئامراز و ٥١٢ کیلۆبەیت پێناسە، بە ڕادەی پێشوەختە لە نیوەوە تا ٦٤ ئاست؛ زیاتر دەبێتە 400. |
reasoning_effortreasoning | دەجم (string), تەنیشتە (object) | نەخێر | "minimal", "low", "medium" یان "high"، یان {"effort": "high"}. "none" یان {"enabled": false} دەکوژێتەوە. ببینە ڕەوانسازی. |
plugins | ئەرێی (Array) | نەخێر | [{"id": "web", "max_results": 5}] هەمیشە سەرەتا لە وێب دەگەڕێت. تا ١٠ ئەنجام. |
n | بەشگێڕ (integer) | نەخێر | تەنها ١. هەر شتێکی تر دەگەڕێتەوە 400. |
logit_biasusermetadata | ئەگەر (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 لەگەڵ “no endpoints found”. |
: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) | نەخێر | زۆرترین تۆکەن بۆ نووسین. |
temperaturetop_p | ژمارە | نەخێر | کۆنتڕۆڵەکانی نمونەگرتن، لەو شوێنەی مۆدێلەکە ئەوان وەردەگرێت. |
toolstool_choiceparallel_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.formatresponse_format | تەن | نەخێر | دەرهێنانی ڕێکخراو، وەک شێوازێکی JSON یان json_object. |
metadata | تەن | نەخێر | بێگۆڕانەوە لە وەڵامەکەدا گەڕێنراوەوە. لانی کەم ١٦ بەهای سترینگ، کلیلی تا ٦٤ کارەکتەر و بەهایان تا ٥١٢. |
stream | بۆلیان | نەخێر | دوویمەی ڕووداوەکان وەک لە خوارەوە وەسف کراوە. |
store | بۆلیان | نەخێر | پشتگوێخراوە. هیچ شتێک پاشەکەوت ناکرێت، و وەڵامەکە هەمیشە دەڵێت "store": false. |
previous_response_idconversationbackground | سترینگ، ئۆبجێکت، بۆڵین | نەخێر | پشتیوانی ناکرێت: 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 کە وەشانەکەی کاتۆلۆگەکە هەمانە یان نوێترە لەوەی داواکراوە.
- ناوێک کە لەگەڵ هیچ شتێک ناگونجێت دەگەڕێتەوە
404not_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) | نەخێر | پڕۆمپتی سیستەم، وەک ستڕینگ یان بلوکی دەق. |
temperaturetop_p | ژمارە | نەخێر | کۆنتڕۆڵەکانی نمونەگرتن، لەو شوێنەی مۆدێلەکە ئەوان وەردەگرێت. top_k وەخذەگیرایەوە و ڕەتکرایەوە. |
stop_sequences | ڕیزبەندی سترینگەکان | نەخێر | دەقێک کە وەڵامەکە کۆتایی پێ دەهێنێت. ل坏ین زیادترین ٤ ستینگ، هەر یەک لێیان ل坏ین زیادترین ٢٥٦ خانە. |
toolstool_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_typespeechیان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);