مەزمۇنغا ئاتلاڭ
Nymbotكە قايتىش

بىلىم ئاساسى دىۋېلپەرلەر

چېت، جاۋابلار ۋە خەبارلار

مودېل بىر نەرسەلىك سوراشنىڭ ئۈچ ئۇسۇلى، mijozlarning ئادەتتىكى ئۈچ خىل شەكلىدە، باريە مودېلنىڭ ئۆزىدە ئىگىلەنىدۇ ۋە بىر خىل ئۇسۇلدا ھېساب-كىتاب قىلىنىدۇ.

چات تاللىمى (Chat Completions)

OpenAI چات فورماتى، ۋە ئەقىل قىلىنغان كۈنكى ھەر بىر قۇرالنىڭ قوللىغان فورماتى. ھەمدەم سۆزلىشىشتىن بۇلغۇچتىكى مۇناقاشنى يەڭىلىپ يөرتىڭ ۋە كېلىسىكى مۇلاھەزەنى قايتارۇڭ.

POST https://nymbot.ai/api/v1/chat/completions — API ئۆزتىكىگە ئىھتىياج بار.

ھەرقەتلىك model ۋە messages تەلەپ قىلىنىدۇ. تاللانغان مودېل ئېلىپ يۈرۈلمىگەن بىر نەرسە تەكلىك پارامېت্ৰى خاتالىق كۆرسەتمىسىسىز چىقىرىپ تاشلىنىدۇ، شۇڭچە ئۇچۇن بىر ਤەلەپ گۇۋاھى (request body) بارلىق مودېللاردا ئىشلىشى مۇمكىن. مودېل رەپسىتى ھەر بىر مودېلنىڭ... supported_parametersتۆۋەلىك بىلlyك بىلlyك تۇۋىلىشىدىن كۆپ تۇۋىلىشىنىڭ سېزىلمىسى — مودېلنىڭ ئاممەن قىلەلمەيدىغان ھەر قايسى ئىشىدۇر: كۆرىش قۇراپ بولمايدىغان مودېل ئۈچۈن رەسىملار، ئۇنى ئىشلىتىپ بولمايدىغان مودېل ئۈچۈن قۇراپ بېرىلگەن ئىشقا ئالما ئالما قۇراپ بېرىلغان قوراللار.

مەيدانتەپتەلەپ قىلىنىدۇتەپسىۋەر
modelسىlying (تار)ھەئەnymbot/auto (ياكىلاسە auto) ستاندارت توازنلىق يۇلۇشتا Nymbot يۇلۇشقا ئۈچۈن، ياكى تۆۋەندىكىدەك كاتالاگ ئېلىمېدۇ (model id) بولغانلىقىدا anthropic/claude-sonnet-5 Pro balance ئۈستىدە. تətبيقىنىڭ قىسقا ئەللىبەلىرى ۋە لەرەپلىرىمىنى بېلگىلىنىش قىلىنىدۇ. "a" بىلەن تۇگຳلىنىشى مۇمكىن ئونغا ئېلىنىش (suffix).
messagesئارەye (array)ھەئەSuhbat. روللار (Roles) system, developer (تېزلىك بىلەن تۈزۈلگەن),\\ user, assistant ۋە tool. Mazmun string ýa-da ... ro'yxəti. text ۋە image_url قىParts; تەنھا ئىزاھاتلاردا رەسىملەر بار. input_audio ۋە fayl بۆلەكلىرى رد قىلىندى.
streamبۇلىئەن (boolean)يوقJav opposite yazilganidek yuboring. Ko'ring غاۋر تېزلىكلىق يayıمقاچرىلىش (streaming).
stream_optionsئۇچۇنچەيوق{"include_usage": true} تېكىن سانلىرى ۋە ھاراجات بىلەن ئاخىرقى پارچىنى قوشۇپ يۇرىدۇ.
max_tokens
max_completion_tokens
بۇت سانيوقيېزىلىدىغان ئەڭ كۆپ توكىن سېزىلىدۇ. ئەگەر كۆپ بولسا، مودېلنىڭ ئەڭ يۇقىرى چەكلىمىسىگە تۈشۈرۈلىدۇ. شۇنداقلا بالانسىڭىزدىن نېچە مىقداردا ئېلىنىدىغانلىقىنى بېلگىلەيدۇ، شۇڭا كىچىك سان مۇھിملىق kredi تاللىنىشىنى تەھmin قىلىدۇ.
temperature
top_p
سانيوقناپېرسىز تىزىم تەكلىللىرى: temperature 0 نىňدىن 2 غىچە، top_p 0 تىنچە 1گە چەڭ.
stopسترگ (string) ياكىMassiv (array)يوقجاۋابنى تۇگەتكەن تېكىست: بىر سطر ياكى ئەڭ مۇقامىدىن 4 سطر، ھەر بىرى ئەڭ مۇقامىدىن 256 ئى字符. بۇ ... تەرىپىدىن ئىشلىتىلمىغان. nymbot/auto.
seedبۇت سانيوقمېدل قوللىغى بولغان يەردە، تəkراৰلىنىشى مۇمكىن بولغان سىملېڭ ئۈچۈن.
presence_penalty
frequency_penalty
سانيوقتəkراپلاش باشقۇرۇشلىرى، ھەر بىرى -2 دىن 2 گىچە.
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 ئالەت ئON بولىدۇ ۋېب ئىزدەشئەڭ ئۈچۈنچە 128 دىرەپچە ۋە 512 KB تەrifلەش، ئەڭ ئۈچۈنچە 64 قەدەملىك تۈزۈلمە؛ كۆپىراقى بولسا 400.
reasoning_effort
reasoning
سېترىڭ, ئوبجېكتيوق"minimal", "low", "medium" ياكىلا "high", ياكىلىق {"effort": "high"}. "none" ياكىلا {"enabled": false} ئۆچۈرۈپ qo'yىدۇ. كۆرۈڭ مۇقuyەتىلۈش.
pluginsئارەye (array)يوق[{"id": "web", "max_results": 5}] ھەپسەر ئىلگىرىنە ئىنتערنىەتتىن қиدىرەيدۇ. 10 تۇغۇمچەگىمچە nəتىجە.
nبۇت سانيوقFەقەت 1. باشقا بولغان ھەرچە 何گە qaytariladi 400.
logit_bias
user
metadata
ئوبجېكت، سٽرىڭ، ئوبجېكتيوققىبۇل قىلىندى ۋە يەڭىدىن يۆتكىلىمىدى. logit_bias ئەڭ كۆپ 300 دان كۆپ بولمىغان تېكىن ئىدىسىنى -100 تىن 100 گىچە سانلىق قېلىپلارغا تەڭسىلىشىدۇ; user چەتى 256 خarakter; metadata ئەڭ ئۈچۈن 16 دانغا ئۇچۇنلىق قىymەتنى، تۈگۈنلىرىنى 64 خاراكتەرگە چەEngلىك ۋە قىymەتلىرىنى 512 خاراكتەرگە چەنگلىكتە تۇتۇۋېلىدۇ.

جاۋاب ئاددىي بىر نარსە chat.completion, تۇگۈن muchini بىلەن usage.cost (دوللاردا) ۋە ...دا nymbot مۇقامان. model ئەگەر ناتAmmed (resolved) مودېل ID بولسا، شۇنداققا قېرىشتا قىسقا نوم مۇنقۇل تولۇق نوم بولۇپ قايتىدۇ. ئەگەر مودېل جاۋاب بېرىشتىن بұلۇنۇش مۇنەزەھ تۇرىپ بولسا، ئۇنىڭ مۇنەزەھى تۆۋەندىكىدەك: message.reasoning_content, جەۋابدىن separate.

جەۋاب

{
  "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 كېلىپ تۈشگەن ئۇچۇرلار ئاساسدا ھېسابلانغان، چۈنكى مۇجەززەت قىلغۇچILAR ئۇنى ھەرخىل شەكلىدە تە melapەت قىلىدۇ: tool_calls مودېل قۇرا decirle ئىزاھاتلارنى سورىغانda, length جاۋاب بۈتۈنلىكچە رۇخسات قىلىنغان ھەر بىر توكىنى ئىستانسىلاغاندا (ياكى مودېل بۇلۇنچە تەھلىل قىلىشقا ئىگىلىك بەرىپ ھېچ قاندا جاۋاب يازمىغاندا)، content_filter تەminەتچى رەت قىلغاندا، ۋە stop بولمىسا usage.completion_tokens_details.reasoning_tokens ھەمىدە ئېگىز 0: يوشۇرۇن سەۋەپلىشىش تېكىلىرى ھېسابلانىدۇ، ۋە تولەنەيدۇ، ئېگىزدا completion_tokens.

ھۆلقاي قanda؟
400يوق model ياكىلا messages (missing_required_parameter); ئاۋزىئۇ ياكى fayl قىسىمى، ياكى ئۇنى كۆرەلمەيدۇغان مودېل ئۈچۈن رەسىملەر (unsupported_content); 20تىن more pictures (too_many_images); نەمۇنە ئېلىش پارامېت্ৰى خاتە تىپتە ياكى كۆرۈلگەن كۆرۈلگەن دائىردىن تاشقىرى (invalid_value); ئورتاق بولمىغان رەسىم بىلغۇلىڭكۈลิงگە تۈزىلگەن (invalid_image_url); ئۇنى چاققىرىپ بولالغۇچقىچە بىر مودېل ئۈستىدىكى قۇراپلانغۇچلار (unsupported_tool); n 1 دىگەچتىن باشقا؛ a :thinking مۇنازىرە قىلەلمايدىغان بىر مودېلگە تېگىلىدىغان سۈفىكس (model_not_found); ياكى ئۇقۇمۇتچى تەلەپنى رەت قىلدى (upstream_rejected).
402مۆدل تۇسۇۋاتقان بالانسى بېكىتىلگەن مىرنى يەتەلمەيدۇ.
403ئ Eichى ئەڭ يامان ھالدا تۇچىنىڭ قاپىسىغا تۇخشامايدۇ (key_limit_reached). تۆۋەن max_tokens ياكىلا چەڭەلىكنى ئۆسۈرۈڭ.
404بۇ نومۇنغا ئاساسلانغان ھېچ قانداق مودېل يوق (model_not_found).
429تۈگۈننىڭ چەكلىك سۈرەتلىنىش tezligi، ياكى تەʼمىنلەۋچىنىڭ (upstream_rate_limited).
502, 503تەminەتچى خতা قىلغان (upstream_error) ياكى بولمىسا تەھلىق قىلىنغان (upstream_overloaded, بىلەن Retry-After). ھызمەت كۆršەتكۈچى بۇ تىرىش ئۈچۈن ھەقى ئېلىۋالماسវិញ ھېچなんچە ھەقى ئېلىنمەيدۇ.

ھەر بىر ئېنېپت (endpoint) تەرىپىدىن تۇتقان ھالەت كودلىرى تۆۋەندىكى مۇساۋۋە تىزىملىدە كۆرسىتىلغان خاتالىقlar.

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 ئىجىت مودېل يازغەن ۋاقىتتا، جاۋاب سېرىۋېر تەرىپىدىن يгүتۈلۈش ھىسسələرى (server-sent events) ش biçىمدە كېلىپ تۇرىدۇ. ھەر بىر ھىسسىە بىر chat.completion.chunk بىر ئۈستىدە data: سىطر، ۋە ئېقىم ... بىلەن تۇگىتىدۇ data: [DONE]. مۇلاھەزە يېتىپ كېلىدۇ delta.reasoning_content, جاۋابى ئۇيغۇرچە delta.content.

تەkkى تاكى 100 سائلاتتىن كوناكلىق بولاتقان ھەر قانداق ئىچەرگە (مەسىلەن، ئۇزۇن جاۋاب، چوڭ) ئۇچۇرلارنى تېخلىۋېرىش (Stream) قىلىڭ max_tokens ياكىلا ئاقىمىلانمايدۇغان مۇنداق سورۇلغانلايدۇكىlik، جاۋاب تا 마찬가지لا كۆterenly ne kadar uzun sürerse sürsün, جاۋاب تاكى تۈگەتىلگىچە ھېچ نאַר يۆتكىزمەيدۇ، شۇنداقلا سىز بىلەن Nymbot ئارىسىدىكى تەرەپتىكى تور مۇلاقات ئېغىر 100 سېكۇندىن كېيىن ئىشلىمەيدىغان ئۇلاﻧىشن يۇپۇپ تۇرىدۇ؛ مۇنداق ھالەتتە مۇنداق مودېل ھالاقە ئېلىپ بارىدۇ ۋە ئۇنىڭ يازغانلىرى ئۈجىرلىنىدۇ، ئەمما جاۋاب يوق بولىدۇ. ئاقىمىلانما (stream) تەرەپتىكى ئالماشتۇرۇش ئالاھىدى ئالماشتۇرۇش信号لارنى (keep-alives) يۆتكىمەكىلىك ئارقىلىق مودېل يازغان ۋاقىتنىڭمۇ بىر تەرەپتىكىدە ئېچىق تۇرىدۇ.

ئەگىرە (Stream)

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]
  • بۇ سطرلار تۆۋەندىكىلەر بىلەن باشلىنىدۇ : ماشىنە ئىشلىگەن ۋاقىتتا ھەر 15 سېكۇندە بىر يەڭىلىش (keep-alive) コmentلار يەڭىلىپ تۇرىدۇ. SSE mijazلىرى ئۇنى ئۆتكۈزۈپ ئۆتىدۇ.
  • سۈرەش تۇرىدۇ "stream_options": {"include_usage": true} يۇققىداكى ئۆتكىلىمە پارچىنى ئېلىش ئۈچۈن، بوشقۇن بىلەن choices, تېكىست سانلىرى، تۇرىنىش ۋە nymbot مۇقامان.
  • تۆلە quite ئېگىز ست lریم تۇگەتكەنلىكىدىن كېيىن بېكىتىلىدۇ. ئەگەر تۇزۇلغان ئالاقىنى ۋاقىتتىن ئەတەگىرى يۇپۇپ قىلساڭىز، مودېل تۇختىتىلمايدۇ: Nymbot تېگىشلىك تەلىپچىنىڭ ست lریمىدىكى قېلىپقىچە بولغان قىسمىنى، تېگىشلىك تەلىپچىنىڭ تېگىشلىك تۆكنە سانلىقىنى ئېلىش ئۈچۈن 25ىچە سانگە چəkلىك ئوقۇيدۇ، سىز تېگىشلىك تەلىپچى بىلدۈرگەن م amount مىنى تۆلەيسىز. ئۇشۇ سانلىق ئۇچۇرلىق بولمىسا، تۆلەش مىقدارى سىزنىڭ كىرگۈزگەن ئۇچۇرىڭىز ۋە يېزىلغان نۇقتىلار، بۇنىڭ ئۈستىگە ئېلىش-بېرىش كۈچى بار مودېللىرىنىڭ تولۇق چىقىش رۇخساتى ئاساسلىنىپ تەخمینلىنىدۇ.
  • بىرىنچى بۆلۈككە يەتەيدىن ئەمەلى تۇغۇلغان خاتالىق، مەسىلەن 401 ياكىلا 402, ستاتۇس کۇدى بىلەن ئادەتتىكى JSON بولۇپ قايتىدۇ، ست l rېم (stream) بولۇپ ئەمەس. ست l rېم باشلانغانلىقىدىن كېيىن يۈز بەرگەن خاتالىق ئەڭ ئاخىرقى قېلىپتە كېلىدۇ data: {"error": {…}} ئىۋېنت، ۋە تېزلىك ئېقىمىنىڭ ئاخىرىتىشسىز تۈگەشچانلىقى [DONE].
  • ئاسارلار ۋە OpenAI'نىڭ جەۋاب تېخپىلىلىقى (Responses transport) ئاستىدىكى مودېللار، قۇرۇلمىلار (tools) بىلەن جايغا كېلىشنى تەلەپ قىلغان ئۇچۇرلار پ="")تېخپىلىلىق مۇۋەسسەلدىن (provider) تېزلىكلىق ئۆتۈش (stream) قىلمايدۇ. ئۇلار ئۇچۇر تاۋۋۇش بولغاندىن كېيىن، تەمىز جەۋاب ئېلىنغان بىرلىكتە ئۆتۈش (stream) ش biçىمیدە جەۋاب بېرىدۇ.

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

قورال چاقىرىشلىرى

...دا ئىچىدىكى فنكشنلارنى تەسۋىرلىڭ tools ۋە مودېل جاۋاب بېرىش ئۈچۈن ئەمەس، ئەگەر بىر ئىزاھات تاللىنىشىنى سۈرەسىدە بولسا، ئۇنى سورىيلايدۇ. سىز فنكسىيىنى ئىگىلەيسىز، ئۇنىڭ نەتىجىسىنى ئىزاھات قىلىش ئۈچۈن qo'shasiz tool ئىلان بىلەن ئورۇنلىشىپ تۇرغان tool_call_id, ۋە س oczالاشنى قايتا يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتىپ يөڭگە يөڭلىتى

tool_choice ئېلىدۇ "auto", "none", "required" ياكىلا {"type": "function", "function": {"name": "…"}}. مودېل رەپسى قايسى مودېللارنىڭ قۇراھلارنى ئىشلىتىپ بولىدۇلىقىنى بىلدۈرىدۇ (capabilities.tools). قuralلار بىلەن رەت قىلىنغان 400 unsupported_tool ئون nymbot/auto ۋە OpenAI تېخنىكىسى (Responses transport) ئاساسىدا ئىشلىدىغان، ئەمما Nymbot قۇралلارنى يەتكۈزەلمەيدىغان سانلىق катаلوگ مودىلىرىدا.

بىلەن "stream": true, قولاقلاسۇتۇلغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاقلاسۇتۇش قولاقلاسۇتۇش ئارقىلىق ئالماشتۇرۇش قىلىدىغان قولاق

جەۋاب، قەدەمدىن بولganچە

"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 رەسىملەرنى ئوقۇيالاي. بىر ... قوشۇڭ image_url بىر بەلگىلىمە تۈگۈن، يەنى ئورتاقلىققا ئېچىك بولغان ياكى... https:// بۇلىم or a data:image/…;base64, URL. ھەر بىر تەلەپ تال로 20 گىگىچكىگە چək. SVG گىگىچكىلىرى قوبۇل قىلىنمىدۇ، شۇنىڭدىن تۇتۇق 4,096 خەريپتىگە چəkلىگەن ياكى ئىچىدە بەلگىلىگەن بەلگىتەلەڭچە (user name) ياكى پאַسلىۋات (password) بار سىلتىقلىرى قوبۇل قىلىنمىدۇ (400 invalid_image_url). تاللانماق سۈپىتىدە detail دۇغۇشۇ auto, low ياكىلا high.

بىلەن nymbot/auto, ئىچىدە رەسىم بار بولغان سورۇۋال كۆرىش ئىقتىدارى بار ستاندارت مودېلگە يۆتكىلىدۇ. ئىقتىدارسىز كاتالوج مودېلى بولسا capabilities.vision ... بىلەن سۈرەتلەرنى رەت قىلىدۇ 400 unsupported_content. رەسىم simply ئىناڭچىلارنىڭ خەبارلىرىدە غا ئالغا قويلىشى مۇمكىن. بىر تاللىق (link) ئاممىۋى ئHost نىڭ ئالدىغا ئۇنىتىشلىكى كېرەك؛ Nymbot رەسىمىنى مودېل مۇھەببىگە ئۆتكىزۈپ بېرىدۇ ۋە ئۆزىدە ساقلاشمايدۇ.

سۈرەت، يۈكلىمىنىڭ قېلىدقىسىگە ئوخشاش، خىزمەت قىلىج تەرىپىدىن ھېسابلانغان كىرىش توكىنلىرى دەپ ھېسابلىنىدۇ.

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 جاۋاب بېرىشden بۇرلا ئالدىن ئۆتلىنىپ كېلىشنىمۇ مۇمكىن. ئۇنىڭ بىر تەرەپىنى كۆپ ياكى ئاز سۈرەۋلىشنى تەلەپ قىلىشنىمۇ مۇمكىن reasoning_effort ("minimal", "low", "medium" ياكىلا "high") ياكى ئەگەر "reasoning": {"effort": "high"}, ياكى ئقىلىم :thinking مىدل ئەلىپىھىنىڭ ئىسىمىگە، بۇ يۇقىرى كۈچ تۇتۇشنى بىلدۈرىدۇ. مۇنازىرە قىلمايدىغان مىدلدا بۇ تەزىم ئىتكىلмәيدۇ. بىلەن nymbot/auto, :thinking ئىستیگى تەرەپتىنle standard reasoning route بېگىلاسىلغان ئۇچۇرنى يөلتەۋەتىدۇ.

Anthropic مودېللىرىدە تىرىشتىرىش تەخمىنەن 1,000، 2,000، 8,000 ياكى 16,000 تەگىن (tokens) ئېقىلىش مۇبىغىسىغا ئايلىنىدۇ، ھەرگىدەم بۇنىڭدىن كۆپ بولمايدۇ max_tokens رعاقەت قىلغاندا ئېلىۋېلىنىدۇ. مۇتەپەككۈرلىك تۇتۇش توختىتىلىدۇ tool_choice قورالنى زۇرۇرىت قىلىدۇ، شۇنداقچە ئەگەر سورالغۇنىڭ داۋاملىشى قورال تۈرۈگىدە (ئۇنىڭ ئەڭ ئاخىرقى خېبارى قورال нәتىجىسى بولسا) بولسا، چۈنكى Anthropic ئەگەرچە ئالدىنكى تاللانغان ئېقىدىلىنى داۋاملۇتۇش ئۈچۈن ئۇنى قايتا ئىشلاتىشى كېرەك. شۇنداق ئۇسۇل Responses ۋە Messages ئۇچى (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);

Modل ئۇسۇللىرى

ماڈەل ئىسمىغا قوشۇلغان ئەپلىكچە، باشقا بىر ئۇچۇر lack بولمىغان حالدا، سۈرەنگىنىڭ قانداق باشقارىلىدىغانلىقىنى ئۆزگەرتىدۇ. ئۇلار توھۇم ئىدېلەر ۋە قىسقا ئىملار بىلەن بىព្រەنگ ئىشلايدۇ، مەسىلەن anthropic/claude-sonnet-5:online.

ئونچەكىلگۈچى (Suffix)تاثير
:onlineئانلىنىتنى ئရင်چە قىدىرىدۇ، كabi plugins: [{"id": "web"}]كۆر. ۋېب ئىزدەش.
:thinkingيۇقىرى مۇلقىقلىق تەھەققىق كۈچى؛ ئۆچۈك nymbot/auto, مۇنازىرە يولى. مۇنازىرە قىلەلەيدىغان بولماغان مودېلدا, 400 model_not_found «هیچ قانداق ئاخىركى نۇقتىلار تېپىلمىدى» بىلەن.
:nitro, :floor, :exacto, :extendedقabul قىلىندى ۋە چاكلىدى. ھەر بىر كاتالوج مودېلىنىڭ بىر يولى بار، شۇڭا تاللىنىدىغان تېزроك، ئەڭ ئالدىنălۇق ياكى ئەڭ ئۇزۇن يول يوق؛ سۈپەتلىك ئىزاھاتلارغا رۇخسات بېرىلىدۇ، شۇنداقچە باشقا خىزمەتləردىن كۆچۈرۈلگەن مودېل ئىملىرى ھەر kaip ئىشلىشىكى possible.

ھەرھانقى باشقا ئونچە تۇگۇلما (suffix) چۆت قىلىنىدۇ. تۇخشۇم ئىسمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ تۇخشۇمىنىڭ 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 ئاخىرقى پايدىlanچىنىڭ خەبارىتىنى (ئۇنىڭ بىرىنچى 2,000 خarakتېرىنى) ئىزدەيدۇ، ئەڭ yaxشى سېپىتۇرلارنى ئوناۋلىۋېلىدۇ ۋە ئۇنى سۆرۈلگەن سۆဇىمەنلىك بىلەن بىرلىكتە مودېلگە بېرىدۇ، بۇ ئارقىلىق مودېل ئۇنىڭ تۇتۇنلىق مەزمۇن ئىكاڭلىقتا ئىقتىدار ئالماشتۇرمايدۇ دەپ بىلالىدۇ. ئىككى خىل رېجىم بار:

  • ھەمىدە ئىزدەپ تۇرۇش: "plugins": [{"id": "web", "max_results": 5}], ياكى ئەگەر :online مۆدېلدىكى قۇشۇمچە (suffix)
  • كۆمەك بولغان ۋەقتى ئىزدەڭ: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}], شۇنداقلا قabul قىلىنغان web_search_preview ياكىلا openrouter:web_search. Nymbot سولالغان سۆز ئۆچۈچىلىك ئۇچۇرى كېرەك بولغانلىقىنى ئىزاھە قىلغاندا ڳىدىش ئۆتۈشلىرىنى ئېلىپ بارىدۇ، بۇ ئاپپلىكىنىڭ ئىشلىتىدىغان سىناقنىڭ ئۆزىدۇر.

max_results دەبىرىتتە 5 ۋە ئەڭ ئەڭغۇلىغى 10. مەقسىdlەر قايتىپ كېلىدۇ nymbot.web_search.sources, ھەر بىرى بىلەن title, snippet ۋە url, ۋە ... سۈپىتىدە url_citation خەبارىدىكى ئىزاھاتلار.

ھەر بىر ئىزلىش 0.008 \$ بولغان cost (خەرج) تەbibقى قىلىدۇ، بۇ تېگى تېكىستلار (tokens) بىلەن بىگەر ساتسىغا (sats) ئۆتكۈزۈلۈپ ھېسابلانىدۇ ۋە ئۇ ھالدىقى كېلىش ۋەقىتىنىڭ بىر قىسمى ھېلىنىدۇ. ئۇ ئوناۋلىغان بەھتەپەرەتلەر بەن ҳам كىرگۈزۈلگەن تېكىستلار (input tokens) بولۇپ ھېلىنىدۇ، شۇڭا ئانlineToۋ ئىرەتكۈن ئۇلىكتىن ئېلىنغان جاۋاب، شۇ مۇشۇق سۆزنىڭ قول بەلگەن حالدا سورالغان حالىدىكى جاۋابىغا قارىغاندا كۆپ خەرج تەطلبىدۇ، بەزىدە بىر قانچە قېتىم كۆپ خەرج تەطلبىدۇ.

جەۋاب، قەدەمدىن بولganچە

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

Javob APIsi

OpenAI'نىڭ يېڭى فورماتى، OpenAI Agents SDK ۋە Codex تەرىپىدىن ئىشلىتىلىدۇ. ئۇ Chat Completions بىلەن ئانۇغى مودېل، تومۇلقات ۋە ئىဆောင်ىت تەرىپىدىن ئىشلىتىلىدۇ.

POST https://nymbot.ai/api/v1/responses — API ئۆزتىكىگە ئىھتىياج بار.

مەيدانتەپتەلەپ قىلىنىدۇتەپسىۋەر
modelسىlying (تار)ھەئەمەزەلىگە كېلىگەچە چات تاللىمى (Chat Completions), quite qoshilgan.
inputسترگ (string) ياكىMassiv (array)ھەئەبىر تىزىملىمۇ ياكى تىزىملىك ئېقىمى: خىبارلار (روللار user, assistant, system, developer) بىلەن input_text, input_image ۋە output_text بۇزغۇچلار، ۋە function_call ۋە function_call_output قاناقلار ئۈچۈن بۇلماقلار. input_image ئالىدۇ image_url لینک ياكى داتا URL، fayl ID ئەمەس. reasoning ۋە web_search_call نەرسىلەر ئۆتكۈزۈلگەن; item_reference بەركىلەندى-لىدى.
instructionsسىlying (تار)يوقتېزلىك ئۇچۇرلىرى.
max_output_tokensبۇت سانيوقيېزىلويدۇگىچە ئەڭ كۆپ توكنلار.
temperature
top_p
سانيوقنمۇنىلەش コنتروللىرى، ئۇنىڭدا مودېل ئۇنى ئالىدۇ.
tools
tool_choice
parallel_tool_calls
ئېرىيە (array)، سټرىڭ (string) ياكى ئوبجېكت (object)، بولېئەن (boolean)يوقфункسیيا قۇراល់-اسىبابلىرى، جاۋابلار شەكلىدە ({"type": "function", "name": …, "parameters": …}). A web_search ياكىلا web_search_preview ئالەت ئON بولىدۇ ۋېب ئىزدەش ۋاقىت قىلىپ ياردەم بەرسە. باشقا ئىچكى قۇرۇلغان قوراللار رەت قىلىنىدۇ.
reasoningئۇچۇنچەيوق{"effort": "minimal" | "low" | "medium" | "high"}. xhigh ۋە max مەنى high; none ئۆچۈرۈدۇ.
text.format
response_format
ئۇچۇنچەيوقتېخىپتلىگەن ناتىجە، JSON ስېماسى سىكىل ئەمىسە json_object.
metadataئۇچۇنچەيوقجەۋابتا ئۆزگىرىشسىز قايتۇلدۇ. ئەڭ كۆپ 16 دان ست lring قىymەتلىكى، كљуچلىرى 64 خarakterگە چəkلىدە ۋە قىymەتلىرى 512گە چəkلىدە.
streamبۇلىئەن (boolean)يوقتۆۋەندەle تەسۋرلانغان دەكەمدە ئىزدەم ئەقىدىم (stream) قىلىڭ.
storeبۇلىئەن (boolean)يوقچۈچۈتۈلدى. ھېچنە ساقلانمايدۇ، ۋە جاۋاب ھەمىدە مۇنداق دەپ ئېچىلىدۇ "store": false.
previous_response_id
conversation
background
ست lring, obyekt, boolenيوققۇتاپ بولمايدۇ: 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; نەت simplement a بولۇپ قayıتارۇپ يөڭلىنىدۇ function_call_output ئانۇنىڭ ئۆزىگە ئۇخشاش ئىتېم call_id. سۈنكىيى باشلاش (Reasoning)، مودेल ئۇنىڭگە ئۆزلىكى بېرگەچكىدىن، بىر 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, بۇ tartipte: 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 ئىشلىتىش ۋە بىھا بىلەن. قىسقىراپ قالغان جاۋاب تۆۋەندىكىدەك ئانتىتىمە بىلەن tugatlydı response.incomplete ئۇنىڭ ئورنىغا، ۋە ئۆز ئالدىغا كېلىۋاتقان تېزلىق ئېقىمى باشلانغانلىقىدىن كېيىنقى بىر مۇمكىيەتلىك مېتتەپ بولغان ئۇچۇر lack response.failed. Thinking jarraqlari öz ئۆزۈچە ماددىسى سۈپىتىدە response.reasoning_text.delta ۋە .done. ئاممىتىق كىلىم قېلىشلار خەبارىدىن كېيىن كېلىدۇ، ھەر بىر ئىتیمەن ... بىلەن. response.function_call_arguments.delta ۋە .done.

ھۆلقاي قanda؟
400يوق model ياكىلا input; previous_response_id, conversation, background ياكى تۇۋە item_reference (unsupported_parameter); قوللىۋالمايدۇغان قورال ياكى مەزمۇن تىپى.
402, 403, 404, 429, 502, 503Chat Completions بولغان قىسمغا كelsەك.

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-لىرى ۋە Claude Code ئۈچۈن Anthropicنىڭ فورماتى. ئۇ پەقەت Claude بىلەنلا ئەمەس، كاتالوجدىكى ھەر قايسى مودېل بىلەنلا ئىشلايدۇ: سۆزلىك تىلغا ئۆگۈرۈلۈدۇ، شۇنداق پىپelin (pipeline) ئارقىلىق ئۆتكۈزۈلۈدۇ ۋە قايتىدىن تىلغا ئۆگۈرۈلۈدۇ.

POST https://nymbot.ai/api/v1/messages — API تاللىقى كېي (key) تىلەيدۇ، چۈنكى x-api-key ياكىلا Authorization: Bearer.

The anthropic-version ۋە anthropic-beta سەۋلىرى قabul قىلىنىدۇ ۋە بۇلغۇچلىق قىلىنىدۇ. Anthropic مودېل ئەللىرى كاتالاگقا ئۇيغۇنلىشتىرىلىدۇ، شۇندۇنچە Claude Code ۋە SDK-لار ئۆزلىرى ئىشلىتىۋاتقان ئەللىلار بىلەن ئىشلىشىدۇ:

  • katalog bilidigan nom, masalan claude-sonnet-5 ياكىلا anthropic/claude-opus-5, كالتەك ئىشلىتىلىدۇ.
  • بولمىسا بىر ۋاقىت (-20260514), -latest, مەسىلەن ۋერსىيە تېگى بىلەن -v1, قەterەملەنغان تەگ (tag) بولغان سۈپەتتىكى [1m] ۋە بىر anthropic/ ياكىلا anthropic. ئالماق ئېلىنى ئالدىغا قويمايان، ۋە ۋერსىيەدىكى نۇقتىلار ۋە تىزىملەر ئىككى ئۇسۇل بىلەن سىناپ كۆرۈلىدۇ (claude-haiku-4-5 تاپقانلىقلىرى claude-haiku-4.5).
  • ئەگەر بۇنىڭ ئۈچۈن ھەرخەللە ئۇيغۇنلاشماسا، كاتالوجنىڭ ۋერსىيەسى سورۇلغان ۋერსىيەگە تەڭ ياكى ئۇنىڭدىن يېڭى بولغان شەرتىدە، ئائىلە (Opus, Sonnet ياكى Haiku) ئىشلىتىلىدۇ.
  • ھېچ نאַרگە تۇخشاشمايدىغان بىر ئىسم قايتىدۇ 404 not_found_error.
مەيدانتەپتەلەپ قىلىنىدۇتەپسىۋەر
modelسىlying (تار)ھەئەکاتالوج مودېل ID ياكى Anthropic مودېل نۇمۇسى.
max_tokensبۇت سانھەئەيېزىلويدۇگىچە ئەڭ كۆپ توكنلار.
messagesئارەye (array)ھەئەuser ۋە assistant بۇرۇلار، بىلەن text, image (base64 ياكى URL مەنبەسى)، tool_use ۋە tool_result بロッک enough thinking ئالدىنكى تۇرىملىردىكىلا بلوكلار قəبۇل قىلىنىدۇ ۋە تاشلىنىدۇ.
systemسترگ (string) ياكىMassiv (array)يوقسىستېم پرومپتى، سېتىر (string) يا تېكىست بەگلىرى سۈپىتىدە.
temperature
top_p
سانيوقنمۇنىلەش コنتروللىرى، ئۇنىڭدا مودېل ئۇنى ئالىدۇ. top_k قىبۇل قىلىندى ۋە تاشلىندى.
stop_sequencesسىپتەتلەرنىڭ تىزىلمىسىيوقJavabsini تۇگەتكەن تېكىست. ئەڭ كۆپ 4 دان تېكىست، ھەر بىرى ئەڭ كۆپ 256 خاراكتېردىن ئىبارەت.
tools
tool_choice
ئارەيە (array), ئوبجېكت (object)يوقگەزلىك ئالەتلەر بىلەن name, description ۋە input_schema. A web_search سېرۋېر قورالى ئۆچىلدى ۋېب ئىزدەش; Anthropic'نىڭ باشقا ئىچكى قوراللىرى (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"}بۇجەت تىرىش مىقدارىنى تاللايدۇ: 2,048 تىن تۆۋەن ئەڭ ئەسلىمە، 2,048 دىن باشلىغان تۆۋەن، 8,192 دىن باشلىغان ئۆمۈرلۈك، 16,384 دىن باشلىغان يۇقىرى. ئاداپتىۋ (Adaptive) ئۆزگەرمە تۈرىدە ئىشلىتىدۇ output_config.effort, ياكى يۇقىرى.
streamبۇلىئەن (boolean)يوق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 تەگىلىشىش təkkî deleyley bera bilit tool_use بلىققا ۋە a 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 سەرۋەپە

يayınلانغان، ئىۋېنتلار Anthropic'نىڭ: message_start, content_block_start, ping, content_block_delta (text_delta, input_json_delta ياكىلا thinking_delta), content_block_stop, message_delta toxtash سانى، ئىشلىتىش ۋە ... بىلەن nymbot خەرجات نىشانىسى، ۋە message_stop. A ping مەزۇل ئىشلىۋاتقان ۋاقىتتا ھەر 15 سېكۇندە بىر يەنە ئىرسىلىدۇ. قۇرال چاقىرىشلىرى تېكىستتىن كېيىن كېلىدۇ، ھەر بىرى بىر tool_use بۇنىڭ خەلقئەتلىك تۈرتىدىكى بىۋېقىتىگە ئاساسلانغان تۈركىچە تەرجىمىسىنى بىرلىكتە قىلىڭ input_json_delta.

بۇ endpointتىدىكى خاتالىقلار Anthropicنىڭ فورماتىنى ئىشلەتلىدۇ: {"type": "error", "error": {"type": "not_found_error", "message": "…"}}. A قىسقى بالانستائ (قېسقى مىڭلىق) دەپ ئاتلىنىدۇ 402 billing_error, ئېلىپ تۇتۇلغان تەمىنلىگۈچى 503 overloaded_errorتېخۇپ يەتكۈزۈش باشلانغانلىقتا يۈز بەلگەن مېڭۋاللار (failure) بىر ... سۈپىتىدە يەڭىلىنىدۇ 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);

تېكىن تېكىنلەرنى سانلاش

بىر تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز تېخىرسىز

POST https://nymbot.ai/api/v1/messages/count_tokens — API كاليھىتى كېرەك. بېسىز.

ۋەدىئەنىڭ مەزمۇنى ... بىلەن ئēngىش بىلەن ئىلگىرىكىدىكىگە ئۇخشاش خىبارلاربېسىز max_tokens; مەظۇرلىنىشى كېرەك بولغان مودېل ئىسمى. سان بىر تەخմىن: سىستېم پرامپتى، خەبارلار، قۇرال چاقىرىشلىرى ۋە قۇرال تەrifلىرىنىڭ تەرجىمە خاراكتەرلىرىنىڭ تۆتتىگە بۆلۈنىدىغان سانىغا قوشۇپ، ھەر بىر رەسىم ئۈچۈن 1,600 نىڭ قوشۇلغۇچىسى. بۇ تەقڽىمچىنىڭ (provider) ئۆزلىكىنىڭ تېكىنۇمىزا ($(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 ھەمىدە ئېرىپ تۇرىدۇ، چۈنكى كاتالاگدا مودېلنىڭ قايسى ۋاقىتتا قوشۇلغانلىقىگە ئېتىلماسلان. يايىلىپ چىقىلغان توكن باھىسى يوق مودېلنىڭ باھىسى per_request ئۇنىڭ ئورنىغا.

nymbot/auto ھەمىدە ئالدىن كېلىدۇ، باھىسى تېللىنىدۇ variable, بىر routes ھەر بىر ستاندرت يولنىڭ نرخلىرىنى كۆرسىتىدىغان رەپس. ئۇ كۆرۈش ۋە مەنلىكچىلىكنى كۆرسىتىدۇ، ئەمما قوراللارنى كۆرسەتمەيدۇ.

GET /api/v1/models/{id} گەزلىك سورۇلغان ئىسimlەر ۋە لاتىنچە ئىسimlەرنى قəبۇل قىلىدۇ، شۇنىڭچە ئۇلارنىڭ كۆرسەتكۈچى بولغان مودېل ئەۋازىنى قايتۇرىدۇ.

جەۋاب

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

باقى تىپلىرى:

  • Surat كېرىشەرلەر بار 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.
  • ئېمبېدىنگ (Embedding) كېرىشەرلەر بار dimensions, context_length, max_inputs ۋە مMillon giriş توكىنىنىڭ بىر نۇقتا ئېقىرىسىدىكى باھىسى.

باھىتى بېلدەلمىچە تىزىمەلەنگ "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);