Ба мундариҷа гузаред
Баргаштан ба Nymbot

Пойгоҳи дониш Таҳиягарон

Чат, Ҷавобҳо ва Паёмҳо

Се роҳ барои пурсидани чизе аз модел, дар се форматие, ки мизоҷон аллакай истифода мебаранд, ки ҳама дар як моделҳо кор мекунанд ва ба як тарз ҳисоб карда мешаванд.

Таммими чат

Формати чати OpenAI ва оне, ки қариб ҳар як асбоб дастгирӣ мекунад. Мубодилаи суҳбатро то ҳол фиристед ва паёми навбатиро қабул кунед.

POST https://nymbot.ai/api/v1/chat/completions — ба калиди API ниёз дорад.

Танҳо model ва messages заруранд. Параметри намунагирӣ, ки модели интихобшуда қабул намекунад, бидуни хатогӣ партофта мешавад, бинобар ин як бади ван дар ҳамаи моделҳо кор мекунад. Рӯйхати моделҳо маълумоти ҳар як моделро медиҳад supported_parametersОн чизе, ки ба ҷои партофтан рад карда мешавад, ҳар чизест, ки модел умуман тавонои иҷрои онро надорад: расмҳо барои модели, ки надида метавонад, асбобҳо барои модели, ки наметавонад онҳоро истифода барад.

МайдонНавъЛозим астТавсиф
modelсатрБалеnymbot/auto (ё auto) барои маршрутизатсияи Nymbot дар тавозуни стандартӣ, ё ID-и модели каталог чун anthropic/claude-sonnet-5 дар тавозуни Pro. Номҳои кӯтоҳ ва лақабҳои барнома низ қабул карда мешаванд. Шояд бо «а» тамом шавад замима.
messagesмассивБалеМуколама. Навбатҳо system, developer (ҳамчун система ҳисоб мешавад), user, assistant ва toolМазмун сатр ё рӯйхати ... аст text ва image_url ҷузъҳо; танҳо аксҳо дар паёмҳои корбар. input_audio ва қисмҳои файл рад карда шуданд.
streamбулеанНеҶавобро ҳамон тавре ки навишта шудааст, фиристед. Бинед стриминг.
stream_optionsобъектНе{"include_usage": true} ҳиссаи охиринро бо ҳисоби токенҳо ва арзиш илова мекунад.
max_tokens
max_completion_tokens
адади бутунНеБештарин токенҳо барои навиштан. Агар аз ҳадди ниҳоии модел зиёд бошад, то ҳадди maximum-и модел коҳиш дода мешавад. Инчунин муайян мекунад, ки чанд қисм аз маблағи шумо нигоҳ дошта мешавад, бинобар ин рақами хурдтар барои оғоз ба кредити камтар ниёз дорад.
temperature
top_p
рақамНеНазорати намунавӣ: temperature аз 0 то 2, top_p аз 0 то 1.
stopсатр ё массивНеМатне, ки ҷавобро тамом мекунад: як сатр ё на аксар аз 4 сатр, ҳар кадоми онҳо на бештар аз 256 а荷arakтер. Аз ҷониби истифода намешавад nymbot/auto.
seedадади бутунНеБарои намунагирии такроршаванда, дар ҳолатҳое, ки модел онро дастгирӣ мекунад.
presence_penalty
frequency_penalty
рақамНеНазоратҳои такрор, ҳар кадоме аз -2 то 2.
response_formatобъектНе{"type": "json_object"} ё {"type": "json_schema", "json_schema": {…}}, дар ҳолатҳое, ки модел онро дастгирӣ мекунад. Аз ҷониби истифода намешавад nymbot/auto.
tools
tool_choice
parallel_tool_calls
array, string ё object, booleanНеДаъвати функсия. Бинед даъватҳои асбобҳо. А web_search асбоб фаъол мешавад ҷустуҷӯ дар вебБештар аз 128 асбоб ва 512 КБ таърифиҳо, бо амидии на ҳамчун дар зинаҳои амиқ то 64 сатҳ; бештар аз ин... 400.
reasoning_effort
reasoning
сатр, объектНе"minimal", "low", "medium" ё "high", ё {"effort": "high"}. "none" ё {"enabled": false} онро хомӯш мекунад. Бинед оқибатдорӣ.
pluginsмассивНе[{"id": "web", "max_results": 5}] ҳамеша аввал дар веб ҷустуҷӯ мекунад. То 10 натиҷа.
nадади бутунНеТанҳо 1. Ҳар чизи дигар бармегардонад. 400.
logit_bias
user
metadata
объект, string, объектНеҚабул шуд ва интихоб нашуд. logit_bias беш аз 300 ID-и токенро ба ададҳо аз -100 то 100 монанд мекунад; user на бештар аз 256 аломат; metadata на бештар аз 16 қимати сатрӣ, калидҳои то 64 аломат ва қиматҳои то 512-ро дар бар мегирад.

Ҷавоб як чизи оддӣ аст chat.completion, бо хароҷот дар usage.cost (бо доллар) ва дар nymbot объект. model ин ID модели ҳалшуда аст, бинобар ин номи кӯтоҳ ҳамчун номи пурра бармегардад. Агар модел пеш аз ҷавоб додан мулоҳиза карда бошад, мулоҳизаи он дар... 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); беш аз 20 сурат (too_many_images); параметри намунагирӣ аз навъи нодуст ё берун аз ҳудуди иҷроидашаванда аст (invalid_value); пайванди акс, ки истифодабарандагони дигар наметавонанд бубинанд (invalid_image_url); асбобҳо дар модел, ки наметавонад онҳоро даъват кунад (unsupported_tool); n ба ғайр аз 1; 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). Ҳеҷ чиз напулида намешавад, магар ин ки таъминкунанда барои кӯшиш ҳисоб накунад.

Кодҳои ҳолат, ки ҳар як нуқтаи андоза (endpoint) муштарак доранд, дар зер рӯйбарқат карда шудаанд хатогиҳо.

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.

Ҳар чизеро, ки метавонад бештар аз тақрибан 100 сония вақт гирад, аз қаимонаш (stream) гузаронед, ба мисли ҷавоби тӯлонӣ, як чизи калон max_tokens ё модели мулоҳизакор. Дархосте, ки стрим намешавад, то вақте ки ҷавоб пурра намешавад, ҳеҷ чиз намефиристад ва шабакаи байни шумо ва Nymbot метавонад пайвандакшикани бисёр кор накардаро пас аз тақрибан 100 сония пӯшад; модель ҳатман корро анҷом медиҳад ва он чизеро, ки навиштааст, ҳаққи истифода мепулояд, аммо ҷавоб гум мешавад. Стрим сигналҳои нигоҳдорандаро (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 ҳангоми фикр кардани модел ҳар 15 сония як бор фиристода мешаванд. Клиентҳои SSE онҳоро сарпашӣ мекунанд.
  • Дархост кардан барои "stream_options": {"include_usage": true} барои гирифтани қисми охирини боло, бо як холӣ choices, шумораи токенҳо, арзиш ва nymbot объект.
  • Пардохт пас аз анҷоми ҷараён сурат мегирад. Агар шумо пайвандро барвақт пӯшед, модел таваққуф намекунад: Nymbot боқимондаи ҷараёни провайдерро то 25 сония мехонад, то шумораи токенҳоро муайян кунад ва шумо он чизеро пардохт мекунед, ки провайдер ҳисобот медиҳад. Бе он ҳисоб, пардохт аз рӯи маълумоти воридии шумо ва он чизеро, ки навишта шудааст, плюс тамоми иҷозатномаи барояри модели мулоҳизакунанда (reasoning model) баҳо дода мешавад.
  • Хатогӣ пеш аз қисми аввал, ба монанди 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);
}

Даъватҳои асбобҳо

Вазифаҳоро дар тавсиф кунед tools ва модел метавонад хоҳиш кунад, ки ба ҷои ҷавоб додан, яке аз онҳо даъват карда шавад. Шумо функсияро иҷро мекунед, натиҷаашро ҳамчун а... tool паёми ҳамонгуна tool_call_id, ва суҳбатро дубора фиристед. Nymbot функсияҳои шуморо иҷро намекунад; он дархости моделро ба шумо бармегардонад.

tool_choice мегирад "auto", "none", "required" ё {"type": "function", "function": {"name": "…"}}Рӯйхати моделҳо қайд мекунад, ки кадом моделҳо метавонанд асбобҳоро (tools) истифода баранд (capabilities.tools). Асбобҳо бо имтиноъ карда мешаванд 400 unsupported_tool дар бораи nymbot/auto ва дар камбуд модели каталогҳое, ки дар OpenAI's Responses transport кор мекунанд, ки Nymbot наметавонад ба онҳо асбобҳо (tools) фиристод.

бо "stream": true, дархост бо асбобҳо дар як қисм иҷро шуда, сипас ҳамчун пайдарпайии оддии қисмҳо фиристода мешавад: нақш (role), як қисм, ки ҳар як даъвати асбобро бо индекси худ, id, ном ва аргументҳо дар бар мегирад, ва қисми анҷомӣ (finish chunk). Мизоҷон, ки даъватҳои асбобҳои потокиро мехонанд, онро ҳамчун маъмулӣ коркард мекунанд.

Ҷавоб, қисман

"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 қисме аз паёми корбар, бо ё either як умумӣ https:// пайваст ё а data:image/…;base64, URL. То 20 акс дар ҳар дархост. Аксҳои SVG рад карда мешаванд ва ҳамин тавр истинодҳои зиёд аз 4,096 аломат ё истинодҳое, ки дар онҳо ном ё пароли корбар мавҷуд аст, рад мешаванд (400 invalid_image_url). Интихобӣ detail аст auto, low ё high.

бо nymbot/auto, дархосте, ки дар он расм мавҷуд аст, ба модели стандартие, ки метавонад бинад, равона карда мешавад. Модели каталигӣ бидуни capabilities.vision аксҳоро бо рад мекунад 400 unsupported_contentСуратҳо танҳо метавонанд дар паёамҳои корбар бошанд. Истинод бояд ба хости ифтитоҳӣ нишон диҳад; 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 метавонанд пеш аз ҷавоб фикр кунанд. Дархост кунед, ки бештар ё камтар аз он бо reasoning_effort ("minimal", "low", "medium" ё "high") ё "reasoning": {"effort": "high"}, ё илова кардан :thinking ба номи модел, ки маънои кӯшиши зиёдро дорад. Дар модели бе мантиқ ин танзимот нодид гирифта мешавад. Бо nymbot/auto, :thinking дархостро ба масири стандартӣ тафаккур мефиристад.

Дар моделҳои Anthropic кӯшиш ба буҷети тафаккур табдил меёбад, ки тақрибан 1,000, 2,000, 8,000 ё 16,000 токенҳоро ташкил медиҳад, ҳеҷ гоҳ бештар аз ин max_tokens иҷозат медиҳад. Тафаккур вақте қатъ мешавад, ки tool_choice ...асбобро маҷбур мекунад ва вақте ки дархост давраи асбобро идома медиҳад (паёми охиринаш натиҷаи асбоб аст), зеро Anthropic барои идома додани он ба тафаккури қаблан имзошуда ниёз дорад. Ҳамин тавр, ин дар endpoint-ҳои Responses ва Messages низ татбиқ мешавад.

Мантиқ бармегардад 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);

Суфиксҳои модел

Замима дар номи модел тарзи коркарди дархостро бе истифодаи майдони дигар тағйир медиҳад. Онҳо ҳам дар бораи IDҳои пурра ва ҳам номҳои кӯтоҳ кор мекунанд, ба монанди anthropic/claude-sonnet-5:online.

ЗамевТаъсир
:onlineАввал дар интернет ҷустуҷӯ кунед, мисли plugins: [{"id": "web"}]Бинед. ҷустуҷӯ дар веб.
:thinkingКӯшиши мантиқии баланд; фаъол nymbot/auto, масири мулоҳизавӣ. Дар моделие, ки наметавонад мулоҳиза кунад, 400 model_not_found бо “no endpoints found”.
:nitro, :floor, :exacto, :extendedҚабул ва нодид гирифта шуд. Ҳар як модели каталог як хат (route) дорад, бинобар ин роҳи тезтар, арзонтар ё дарозтар барои интихоб вуҷуд надорад; пасвандҳо иҷозат дода мешаванд, то номҳои моделҳое, ки аз дигар сервисҳо нусхабардорӣ шудаанд, то ҳол кор кунанд.

Ҳар суффи дигар нодид гирифта мешавад. Аввал тамоми ном кӯшиш карда мешавад, бинобар ин моделие, ки ID-аш воқеан дорои дучисмӣ (colon) мебошад, то ҳол кор мекунад; дар сурати нобарор будан, суффиҳо як-як аз охир гирифта мешаванд, то ки модел мувофиқат кунад. Номи модел метавонад на бештар аз 200 а矛з бо на бештар аз 4 суффи бўшад; номи дарозтар бо error рад карда мешавад 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 паёми охирини корбарро (2,000 ҳарфи аввалини онро) ҷустуҷӯ мекунад, беҳтарин саҳифаҳоро мехонад ва онҳоро бо савол ба модел медиҳад, ки ҳамчун мундариҷаи беруна қайд шудаанд, ки модел набояд аз онҳо дастур гирад. Ду реҷа мавҷуд аст:

  • Ҳамеша ҷустуҷӯ кунед: "plugins": [{"id": "web", "max_results": 5}], ё а :online суффикс дар модел.
  • Ҷустуҷӯ кунед, вақте ки ин кӯмак мекунад: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}], инчунин қабулшуда ҳамчун web_search_preview ё openrouter:web_search. Nymbot танҳо вақте ҷустуҷӯ мекунад, ки савол чунин ба назар расад, ки ба маълумоти ҷорӣ ниёз дорад, ҳамон санҷише, ки замима истифода мебарад.

max_results маъни чандтогӣ ба таври пешфарз 5 аст ва на бештар аз 10. Манбаъҳо ба таври ... меоянд nymbot.web_search.sources, ҳар кадоме бо title, snippet ва url, ва ҳамчун url_citation тавсияҳо дар паём.

Ҳар як ҷустуҷӯе, ки иҷро мешавад, 0.008 доллар, ки ба сатс табдил дода шудааст, илова бар токенҳо хароҷ мекунад ва он қисми 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сатрБалеДар бораи Таммими чат, бо ҳамроҳии пасвандҳо.
inputсатр ё массивБалеСард, ё рӯйхати элементҳо: паёмҳо (нақшҳо user, assistant, system, developer) бо input_text, input_image ва output_text ҷузъҳо, ва function_call ва function_call_output ашёҳо барои асбобҳо. input_image мегирад як image_url пайванд ё URL-и маълумот, на ID-и файл. reasoning ва web_search_call ашёҳо партофта шуданд; item_reference равд.
instructionsсатрНеДастурҳои системавӣ.
max_output_tokensадади бутунНеБештар аз ҳама токенҳо барои навиштан.
temperature
top_p
рақамНеКонтролҳои намунагирӣ, ки модел онҳоро мегирад.
tools
tool_choice
parallel_tool_calls
array, string ё object, booleanНеАсбобҳои функсия, дар шакли ҷавобҳо ({"type": "function", "name": …, "parameters": …}). А web_search ё web_search_preview асбоб фаъол мешавад ҷустуҷӯ дар веб вақте ки кӯмак мекунад. Асбобҳои дигари дохилигардонӣ рад мешаванд.
reasoningобъектНе{"effort": "minimal" | "low" | "medium" | "high"}. xhigh ва max маъно high; none онро хомӯш мекунад.
text.format
response_format
объектНеНатиҷаи сохтмонавӣ, ба шакли схемаи JSON ё json_object.
metadataобъектНеДар ҷавоб бетағйир баргардонида шуд. Ҳомагӣ то 16 қимати сатрӣ, калидҳо то 64 асимвол ва қиматҳо то 512 асимвол.
streamбулеанНеРӯйдодҳоро тавре ки дар зер тавсиф шудааст, стрим кунед.
storeбулеанНеБекор карда шуд. Ҳеҷ чиз захира намешавад ва ҷавоб ҳамеша мегӯяд "store": false.
previous_response_id
conversation
background
сатр, объект, булеанНеДастгоҳӣ намешавад: 400 unsupported_parameterҶавобҳо захира намешаванд, бинобар ин тамоми муколамаро фиристед input ҳар дафъа.

Ҷавоб

{
  "id": "resp_8c1e4b0f9a2d4e61",
  "object": "response",
  "created_at": 1790726400,
  "status": "completed",
  "model": "anthropic/claude-sonnet-5",
  "output": [
    {
      "type": "message",
      "id": "msg_2b7f",
      "role": "assistant",
      "status": "completed",
      "content": [{ "type": "output_text", "text": "A Lightning invoice is...", "annotations": [] }]
    }
  ],
  "output_text": "A Lightning invoice is...",
  "usage": {
    "input_tokens": 1240,
    "input_tokens_details": { "cached_tokens": 0 },
    "output_tokens": 380,
    "output_tokens_details": { "reasoning_tokens": 0 },
    "total_tokens": 1620
  },
  "incomplete_details": null,
  "error": null,
  "instructions": null,
  "store": false,
  "previous_response_id": null,
  "metadata": {},
  "nymbot": { "balance": "pro", "charged_credits": 0.162, "charged_sats": 16.2, "balance_credits": 412.425, "balance_sats": 41242.5 }
}

Дархост барои асбоб пайдо мешавад дар output ҳамчун function_call ашё бо call_id, name ва arguments; натиҷаро ҳамчун a баргардонед function_call_output ашё бо ҳамон call_idМантиқ, вақте ки модел онро бармегардонад, мебошад reasoning ашё бо reasoning_text муҳтаво, аввал сабт шудааст. status аст incomplete вақте ки ҷавоб расид max_output_tokens ё провайдер рад кард, бо incomplete_details.reason танзим кардан ба max_output_tokens ё content_filterҶавоб инчунин танзимоти дархостро (ҳарорат, асбобҳо, интихоби асбоб ва ғайра) мисли OpenAI инъикос мекунад ва бардоштааст nymbot арзиш объект.

Ҳар як воқеа дар шакли ҷараён аст event: хат ва як data: сатри бо а 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Даъватҳои асбоб (Tool calls) пас аз паём меоянд, ҳар кадоме ҳамчун ашё бо 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. префиксҳоPad мегиранд, ва нуқтаҳо ва тиреҳо дар версия ду роҳ кӯшиш мешаванд (claude-haiku-4-5 ёфтҳо claude-haiku-4.5).
  • Агар ин то ҳол ба ҳеҷ чиз мувофиқат накунад, оила (Opus, Sonnet ё Haiku) истифода мешавад, ба шарте ки версияи каталог ҳамон ё навтар аз версияи талабшуда бошад.
  • Ном, ки ба ҳеҷ чиз мувофиқат намекунад, бармегардад 404 not_found_error.
МайдонНавъЛозим астТавсиф
modelсатрБалеID-и модели каталог ё номи модели Anthropic.
max_tokensадади бутунБалеБештар аз ҳама токенҳо барои навиштан.
messagesмассивБалеuser ва assistant гардишҳо, бо text, image (manбаи base64 ё URL), tool_use ва tool_result блокҳо. thinking блокҳо аз навбатҳои қаблии қабул ва партофта мешаванд.
systemсатр ё массивНеСабти системавӣ, ҳам ҳамчун сатр ё блокҳои матн.
temperature
top_p
рақамНеКонтролҳои намунагирӣ, ки модел онҳоро мегирад. top_k қабул ва партофта мешавад.
stop_sequencesмаҷмӯи сатрҳоНеМатне, ки ҷавобро анҷом медиҳад. Намаксимум 4 сатр, ҳар кадомаш набеш аз 256 аломат.
tools
tool_choice
массив, объектНеАсбобҳо бо name, description ва input_schema. А web_search асбоби сервер фаъол мешавад ҷустуҷӯ дар веб; Дигар абзорҳои дохилии Anthropic (bash, таҳриредони матн, истифодаи компютер) бо ин асос рад мешаванд 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булеанНеДар формати чорабинии 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 дар бораи Таммими чат; 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. А ping инчунин ҳар 15 сония як ҳангоми кор кардани модел фиристода мешавад. Call-ҳои асбоб пас аз матн мерасанд, ки ҳар кадоми онҳо ҳамчун 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 чӣ қадар токенҳои воридӣ истифода мебарад, то мизоҷ метавонист пеш аз фиристодан санҷад. Он ройгон аст, аммо то ҳол ба калид ниёз дорад.

POST https://nymbot.ai/api/v1/messages/count_tokens — ба калиди API ниёз дорад. Ройгон.

Бадан ҳамон аст, ки барои Паёмҳо, бе max_tokens; номи модел бояд муайян шавад. Ҳисоб як тахмин аст: аломатҳои промти системавӣ, паёмҳо, даъватҳои асбоб ва таърифҳои асбоб, ки ба чор тақсим шудаанд, плюс 1600 барои ҳар як расм. Ин токенизатори худи провайдер нест, бинобар ин ҳисоби воқеӣ метавонад фарқ кунад. Калиде, ки ба меҳдоташ расидааст, то ҳол метавонад аз он истифода барад.

Ҷавоб

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

Нархҳоҳо он чизест, ки шумо мепардохед, ки дар он комиссия ва маржа аллакай ба назар гирифта шудаанд, бо доллар ва бо сатс дар нархи кунунии Биткоин. balance мегӯяд, ки модел кадом маблағро сарф мекунад. nymbot_key Оё номи кӯтоҳи модел дар барнома аст? created ҳамеша 0 аст, зеро каталог сабт намекунад, ки модел кай илова шудааст. Модели бе нархҳои токени нашршуда нархгузорӣ мешавад per_request ба чои.

nymbot/auto ҳамеша аввал аст, нархгузорӣ ҳамчун variable, бо як routes рӯйхат, ки нархҳои ҳар як масири стандартӣро медиҳад. Он дид ва мантиқро зикр мекунад, аммо асбобҳоро не.

GET /api/v1/models/{id} номҳои ҳамон гуна ва лақабҳоеро, ки дар дархост мавҷуданд, қабул мекунад ва сабти он моделиро, ки онҳо ба он ишорат мекунанд, бармегардонад.

Ҷавоб

{
  "object": "list",
  "data": [
    {
      "id": "anthropic/claude-sonnet-5",
      "object": "model",
      "type": "chat",
      "owned_by": "anthropic",
      "name": "Claude Sonnet 5",
      "created": 0,
      "context_length": 1000000,
      "max_output_tokens": 64000,
      "architecture": { "input_modalities": ["text", "image"], "output_modalities": ["text"] },
      "supported_parameters": ["max_tokens", "temperature", "tools", "tool_choice", "reasoning", "response_format", "stop"],
      "capabilities": { "vision": true, "video": false, "tools": true, "reasoning": true, "web_search": true },
      "balance": "pro",
      "pricing": {
        "type": "per_token",
        "currency": "USD",
        "input_per_1M_tokens": 4.725,
        "output_per_1M_tokens": 23.625,
        "cache_read_per_1M_tokens": 0.4725,
        "sats_input_per_1M_tokens": 4038,
        "sats_output_per_1M_tokens": 20192
      },
      "description": "...",
      "nymbot_key": "claude-sonnet"
    }
  ]
}

Дигар намудҳо:

  • Сурат сабтҳо доранд capabilities (accepts_image_url, requires_image_url, edit) ва нарх per_generation.
  • Видео сабтҳо доранд max_duration_seconds ва resolutions, ва нарх per_second барои ҳар як ҳалли масъала.
  • Аудио сабтҳо доранд audio_type speech ё transcription, нархгузорӣшуда per_1k_chars ё per_minute.
  • Ҷойгирсозӣ сабтҳо доранд dimensions, context_length, max_inputs ва нарх барои ҳар миллион токени воридотӣ.

Нархҳо қайд шудаанд "estimated": true инҳои тахминҳои барнома барои генераторие мебошанд, ки нархаш начитъирасидааст. Номаълум type баргардишҳо 400.

cURL

curl "https://nymbot.ai/api/v1/models?type=chat"

Python

import requests

models = requests.get("https://nymbot.ai/api/v1/models", params={"type": "chat"}).json()["data"]
for m in models:
    print(m["id"], m["balance"], m["pricing"].get("input_per_1M_tokens"))

JavaScript

const res = await fetch("https://nymbot.ai/api/v1/models?type=chat");
const { data } = await res.json();
for (const m of data) console.log(m.id, m.balance, m.pricing.input_per_1M_tokens);