सामग्री पर जाउ
Nymbot पर वापस

ज्ञान के आधार डेवलपरस

गपशप, प्रतिक्रिया आ सन्देश

कोनो मॉडलसँ किछु पूछबाक तीन तरीका, तीन प्रारूपमे ग्राहक पहिनेसँ बाजि रहल छथि, सभ एकहि मॉडल पर चलैत अछि आ एकहि तरहेँ बिल दैत अछि।

गपशप समाप्ति

ओपनएआई गप प्रारूप, आ लगभग प्रत्येक उपकरण समर्थन करैत अछि। एखन धरि वार्तालाप पठाउ आ अगिला सन्देश वापस प्राप्त करू।

POST https://nymbot.ai/api/v1/chat/completions - एकटा एपीआई कुंजीक आवश्यकता अछि।

केवल model आओर messages एकर आवश्यकता अछि। एकटा नमूना पैरामीटर जे चुनल मॉडल नहि लैत अछि बिना कोनो त्रुटिक छोड़ल जाइत अछि, तेँ एकटा अनुरोध निकाय मॉडलसभ पर काज करैत अछि। मॉडल सूची प्रत्येक मॉडलक विवरण दैत अछि। supported_parametersछोड़य के बजाय जे मना कऽ देल गेल छै ओ किछु छै जे मॉडल बिलकुल नै कऽ सकै छैः एकटा मॉडल के लेल चित्र जे देखि नै सकै छै, एकटा मॉडल के लेल उपकरण जे ओकरा कॉल नै कऽ सकै छै।

मैदानप्रकारआवश्यक अछि।वर्णन
modelस्ट्रिंगहँnymbot/auto (वा auto) मानक शेष राशि पर निम्बॉटक मार्ग निर्धारण लेल, या कैटलॉग मॉडल आईडी जेना कि anthropic/claude-sonnet-5 प्रो शेष राशि पर। एपक छोट नाम आ उपनाम सेहो स्वीकार कयल जाइत अछि। मे समाप्त भऽ सकैत अछि प्रत्यय.
messagesसरणीहँवार्तालाप। भूमिका। system, developer (प्रणालीक रूपमे मानल जाइत अछि), user, assistant आओर toolसामग्री एकटा स्ट्रिंग या एकर सूची होइत अछि। text आओर image_url पार्ट्स; चित्र मात्र उपयोगकर्ता संदेशमे अछि। input_audio आ फाइलक भागकेँ मना कऽ देल जाइत अछि।
streamबुलियननहि।उत्तर जेना लिखल अछि, पठाउ। देखू। प्रवाहित भऽ रहल अछि।.
stream_optionsवस्तुनहि।{"include_usage": true} टोकन गणना आ लागतक संग एकटा अंतिम हिस्सा जोड़ल जाइत अछि।
max_tokens
max_completion_tokens
पूर्णांकनहि।लिखने लेल सबसँ बेसी टोकन। मॉडलक अधिकतम धरि कम कयल जाइत अछि यदि बेसी अछि। ई सेहो निर्धारित करैत अछि जे अहाँक शेष राशिसँ कतेक राखल जाइत अछि, ताहि लेल एकटा छोट सँख्याकेँ शुरू करबाक लेल कम क्रेडिटक आवश्यकता होयत अछि।
temperature
top_p
सङ्ख्यानहि।सेम्पलिंग कंट्रोल्स: temperature ० सँ २ धरि, top_p ० सँ १ धरि।
stopस्ट्रिंग या सरणीनहि।उत्तर के समाप्ति करै वाला टेक्स्ट: एकटा स्ट्रिंग वा अधिकतम ४टा स्ट्रिंग, प्रत्येक अधिकतम २५६ कैरेक्टर। @ के द्वारा प्रयोग नहि कएल जाइत। 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
सरणी, स्ट्रिंग या ऑब्जेक्ट, बूलियननहि।फंक्शन कॉलिंग। देखू। टूल कॉलअ. 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
ऑब्जेक्ट, स्ट्रिंग, ऑब्जेक्टनहि।स्वीकार कएल गेल आ आगे नै भेजल गेल। logit_bias अधिकतम 300 टोकन आईडीकेँ-100 सँ 100 धरि सँख्याक मानचित्र बनाउ। user अधिकतम २५६ अक्षर के अछि; metadata अधिकतम 16 स्ट्रिंग मान, 64 वर्ण तकक कुंजी आ 512 तकक मान धारण करैत अछि।

एकर उत्तर सामान्य अछि। chat.completionलागतक संग usage.cost (डॉलरमे) आ nymbot वस्तु। model हल मॉडल आईडी अछि, तेँ एकटा छोट नाम पूर्णक रूपमे वापस आबि जाइत अछि। यदि मॉडल उत्तर देबासँ पहिने तर्क करैत अछि, तऽ एकर तर्क एहिमे अछि। message.reasoning_content, उत्तरसँ अलग।

प्रतिक्रिया

{
  "id": "chatcmpl-5f1c0a9e27d84b3c",
  "object": "chat.completion",
  "created": 1790726400,
  "model": "anthropic/claude-sonnet-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "A Lightning invoice is a one-time payment request..."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1240,
    "completion_tokens": 380,
    "total_tokens": 1620,
    "prompt_tokens_details": { "cached_tokens": 0 },
    "completion_tokens_details": { "reasoning_tokens": 0 },
    "cost": 0.01895
  },
  "nymbot": {
    "balance": "pro",
    "charged_credits": 0.162,
    "charged_sats": 16.2,
    "balance_credits": 412.425,
    "balance_sats": 41242.5
  }
}

finish_reason जे वापस आयल ओकरा सँ पता लगाओल जाइत अछि, किएकि प्रदाता एकरा अलग तरह सँ रिपोर्ट करैत छथिः tool_calls जखन मॉडल उपकरणक माँग कयलक, length जखन जवाब मे अनुमति देल गेल प्रत्येक टोकन के इस्तेमाल कैल गेल (या मॉडल ओकरा सब तर्क मे खर्च केलक आ कोनो जवाब नै लिखल), content_filter जखन प्रदाता मना कऽ देलक, आ stop अन्यथा। usage.completion_tokens_details.reasoning_tokens हमेशा 0 होइत छैकः गुप्त तर्क टोकनकेँ गिनल जाइत छैक, आ चार्ज कयल जाइत छैक। completion_tokens.

स्थितिकखन?
400नहि। model अथवा messages (missing_required_parameter); एकटा ऑडियो या फाइल भाग, या एकटा मॉडलक लेल चित्र जे ओकरा नहि देखि सकैत अछि (unsupported_content); 20सँ बेसी चित्र (too_many_images); गलत प्रकार या सीमा के बाहर के एक नमूना पैरामीटर (invalid_value); एकटा चित्रक लिंक जे सार्वजनिक नहि अछि (invalid_image_url); एकटा मॉडल पर उपकरण जे ओकरा कॉल नहि कऽ सकैत अछि (unsupported_tool); n 1 के अलावा; ए :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). कोनो राशि तब धरि नहि लेल जाइत अछि जब धरि प्रदाता प्रयासक लेल बिल नहि भेजल हो।

प्रत्येक एंडप्वाइंट शेयरक स्टेटस कोड नीचाँ सूचीबद्ध अछि। त्रुटिहरू.

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 जवाब सर्वर द्वारा पठाओल गेल घटनाक रूपमे अबैत अछि जखन कि मॉडल एकरा लिखैत अछि। प्रत्येक घटना एकटा chat.completion.chunk एकटा अछि data: लाइन, आ धारा समाप्त होइत अछि data: [DONE]तर्क आगमन संबध मे आबय कए आबि रहल अछि delta.reasoning_content, उत्तर अछि delta.content.

एहन कोनो वस्तुकेँ प्रवाहित करू जाहिमे लगभग 100 सेकंडसँ बेसी समय लागि सकैत अछि, जेना कि लम्बा उत्तर, पैघ उत्तर। max_tokens या एकटा तर्क मॉडल। एकटा अनुरोध जे प्रवाहित नहि होइत अछि, उत्तर पूरा होय धरि किछु नहि पठाबैत अछि, आ अहाँ आ निम्बॉटक बीचक नेटवर्क लगभग 100 सेकंडक बाद एकटा निष्क्रिय कनेक्शन बंद कऽ सकैत अछि; मॉडल तखन सेहो समाप्त भऽ जाइत अछि आ जे ओ लिखल अछि ओ चार्ज भऽ जाइत अछि, मुदा उत्तर खतम भऽ जाइत अछि। एकटा धारा कीप-अलाइव्स पठाबैत अछि, तेँ ई मॉडल लिखने धरि खुजल रहैत अछि।

धारा।

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{"content":"A Lightning invoice"},"finish_reason":null}]}

: keep-alive

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[],"usage":{"prompt_tokens":1240,"completion_tokens":380,"total_tokens":1620,"cost":0.01895},"nymbot":{"balance":"pro","charged_credits":0.162,"charged_sats":16.2,"balance_credits":412.425,"balance_sats":41242.5}}

data: [DONE]
  • सँ आरम्भ भेल पंक्ति : keep-alive कमेंट्स, जे मॉडल सोचैत काल हर १५ सेकेन्ड में भेजल जाइत अछि। SSE क्लाइंट्स एहि के स्किप क' दैत अछि।
  • पूछू। "stream_options": {"include_usage": true} ऊपरक अन्तिम खण्ड प्राप्त करब लेल, खालि choices, टोकन क गणना, लागत आ nymbot वस्तु।
  • धारा समाप्त भेलाक बाद शुल्क स्थिर भऽ जाइत अछि। जँ अहाँ कनेक्शन जल्दी बंद कऽ दैत छी तँ मॉडल बन्द नहि होयतः निम्बॉट प्रदाताक शेष धारा केँ 25 सेकंड धरि पढ़ैत अछि, ताकि ओकर टोकन गिनती प्राप्त करी, आ अहाँ ओ भुगतान करैत छी जे प्रदाता रिपोर्ट करैत अछि। ओकर गणनाके बिना शुल्कक अनुमान अहाँक इनपुट आ जे लिखल गेल छल, सङ्गहि एकटा मॉडलक लेल पूरा आउटपुट भत्ता जे कारण छैक।
  • पहिल खण्डसँ पहिने एकटा त्रुटि, जेना कि 401 अथवा 402, एहि अपन स्टेटस कोडक साथ सामान्य JSON के रूप में वापस आबैत अछि, स्ट्रीम के रूप में नहि। स्ट्रीम शुरू भ' गेल सं बादक त्रुटि अन्तिम सं आबैत अछि। data: {"error": {…}} घटना, आ प्रवाह बिना खत्म भ जाएत अछि [DONE].
  • OpenAI क Response transport पर औजारक (tools) संगे आ मॉडलक अनुरोध, प्रदाता सँ स्ट्रीम नै करैत अछि। ओ एखन सेहो एकटा वैध स्ट्रीम सँ उत्तर दैत अछि, जे उत्तर पूरा भ' गेल पर भेजल जाइत अछि।

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 कखनो अहाँक फंक्शन (functions) नै चलाबैत अछि; एहि सँ ओ मॉडलक अनुरोध अहाँक पास वापस क' दैत अछि।

tool_choice लैत अछि। "auto", "none", "required" अथवा {"type": "function", "function": {"name": "…"}}. मॉडल सूची संकेत करैत अछि जे कोना मॉडल टूल कॉल क' सकैत अछि (capabilities.tools) सँ मना कऽ देल जाइत अछि। 400 unsupported_tool पर nymbot/auto आ किछु कैटलॉग मॉडल पर जे ओपनएआईक प्रतिक्रिया परिवहन पर चलैत अछि, जकरा निम्बॉट उपकरण नहि दऽ सकैत अछि।

संग-संग "stream": true, एकटा अनुरोध जँ औज़ारक (tools) सँ चलैत अछि, ओ एकटा कणी में चलैत अछि आ ओकर बाद एकटा सामान्य चुंक अनुक्रम (chunk sequence) क रूप में भेजल जाइत अछि: भूमिका (role), एकटा चुंक जइ मे प्रत्येक औज़ार कॉल (tool call) ओकर अनुक्रमणिका (index), आईडी (id), नाम आ तर्क (arguments) सँ सहित होइत अछि, आ समाप्ति चुंक (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 एक यूजर मैसेजक भाग, जेना कि कोनो सार्वजनिक https:// लिंक या ए data:image/…;base64, यू. आर. एल.। प्रति अनुरोध 20 चित्र तक। एस. वी. जी. चित्र अस्वीकार कऽ देल जाइत अछि, आ तहिना 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 जखन तक ओ उत्तर नहि दैत छथि, ओ सोच सकैत छथि। एकरा कम या बेसी केर लेल पुछू with reasoning_effort ("minimal", "low", "medium" अथवा "high") वा "reasoning": {"effort": "high"}, वा जोड़ब :thinking मॉडलक नाम तक, जकर अर्थ अछि अत्यधिक प्रयास। बिना तर्कक मॉडल पर ई सेटिंग कें अनदेखा कएल जाइत अछि। कें साथ nymbot/auto, :thinking अनुरोध के मानक तर्क मार्ग पर भेजैत अछि।

एंथ्रोपिक मॉडल पर प्रयास लगभग 1,000,2,000,8,000 या 16,000 टोकनक सोच-विचार वाला बजट बनि जाइत अछि, जे कहियो बेसी नहि होइत अछि। max_tokens अनुमति दैत अछि। सोचब बंद भ' जाइत अछि जखन tool_choice एकर एक टूल के बलियो करैत अछि, आ जखन अनुरोध एकटा टूल लूप (एकर अन्तिम सन्देश एकटा टूल परिणाम अछि) के जारी रखैत अछि, कियाकेंAnthropic कें ओकरा पुन: शुरू करबाक लेल पहिनेक हस्ताक्षर कएल गएल सोचक आवश्यकता अछि। एहिना Responses आ Messages endpoint पर सेहो लागू होइत अछि।

तर्क फेरसँ भीतर आबि जाइत अछि। message.reasoning_content, वा delta.reasoning_content स्ट्रीमिंग करैत काल, उत्तर में कखनो नहि मिलाओल। तर्क (Reasoning) आउटपुट अछि आ ओकर शुल्क सेहो ओहिना लागैत अछि, भीतर 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);

मॉडल प्रत्यय

मॉडलक नाम पर एकटा प्रत्यय (suffix) दोसर फ़ील्ड के बिना रिक्वेस्ट के हैंडल कएला में बदलाव करैत अछि। एहि सँ पूरब आईडी (id) आ छोट नाम दुनू पर काम करैत अछि, जखन कि anthropic/claude-sonnet-5:online.

प्रत्ययप्रभाव
:onlineपहिले वेब में खोजू, जँ अछि तँ plugins: [{"id": "web"}]देखू। वेब खोज.
:thinkingउच्च तर्क प्रयास; चालू अछि nymbot/auto, तर्क मार्ग। ओहि मॉडल पर जे तर्क नहि क' सकैत अछि, 400 model_not_found “no endpoints found” क संग।
:nitro, :floor, :exacto, :extendedस्वीकार कएल गेल आ अनदेखा कएल गेल। प्रत्येक कैटलॉग मॉडलक एकटा रूट अछि, तऽ चुनब लेल कोनो सँ तेज, सस्ता या लंबा नहि अछि; suffixes के अनुमति अछि ताकि दोसर सेवा सँ कॉपी कएल गेल मॉडलक नाम सेहो काम करैत रहय।

कौनो दोसर प्रत्यय के अनदेखा कएल जाइत अछि। सबस पहिले पूरा नाम के कोशिश कएल जाइत अछि, ताहि सँ एहन मॉडल जेकर id में वास्तव में कोलन (colon) अछि ओ सेहो काम करैत अछि; ओकर बाद, एक-एक करके अंत सँ प्रत्यय हटाओल जाइत अछि जखन धरि कोनो मॉडल मेल नहि करैत अछि। एकटा मॉडलक नाम अधिकतम २०० अक्षर के भ' सकैत अछि आ ओकरा अधिकतम ४ प्रत्यय भ' सकैत अछि; एकरा सँ बेसी लम्बाई वाला नाम के अस्वीकार क' देल जाइत अछि। 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);

कोनो गपशप मॉडल लाइव वेबसँ जवाब दऽ सकैत अछि। निम्बॉट अन्तिम उपयोगकर्ता संदेश (ओकर पहिल 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 होइत अछि, जे टोकनक शीर्ष पर सैट्समे परिवर्तित भऽ जाइत अछि, आ ई होल्डक हिस्सा अछि। जे पृष्ठ ओ पढ़ैत अछि ओ इनपुट टोकन सेहो होइत अछि, तेँ वेबसँ उत्तरक लागत ओहि प्रश्नसँ बेसी होइत अछि जे कखनो-कखनो कतेक गुना बेसी पुछल जाइत अछि।

अंशतः प्रतिउत्तर

"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 - एकटा एपीआई कुंजीक आवश्यकता अछि।

मैदानप्रकारआवश्यक अछि।वर्णन
modelस्ट्रिंगहँएकर लेल। गपशप समाप्ति, प्रत्यय सहित।
inputस्ट्रिंग या सरणीहँएकटा स्ट्रिंग, या वस्तुक सूची: संदेश (भूमिका सभ user, assistant, system, developer) सङ्ग। input_text, input_image आओर output_text भाग आ function_call आओर function_call_output औजारक सामानक लेल वस्तु। input_image एकटा लैत अछि। image_url लिङ्क वा डेटा URL, फाइल आईडी नहि। reasoning आओर web_search_call वस्तु छोड़ल जाइत अछि। item_reference अस्वीकार कएल गेल।
instructionsस्ट्रिंगनहि।प्रणाली निर्देश।
max_output_tokensपूर्णांकनहि।लिखबाक लेल सबसँ बेसी टोकन।
temperature
top_p
सङ्ख्यानहि।नमूना नियन्त्रण, जतय मॉडल ओकरा लऽ जाइत अछि।
tools
tool_choice
parallel_tool_calls
सरणी, स्ट्रिंग या ऑब्जेक्ट, बूलियननहि।फंक्शन टूल्स, रिस्पॉन्स के आकार में ({"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प्रतिक्रिया अनुरोधक सेटिंग (तापमान, उपकरण, उपकरणक विकल्प आदि) के प्रतिध्वनि सेहो करैत अछि जेना ओपनएआई करैत अछि, आ एकर प्रतिध्वनि करैत अछि nymbot लागत वस्तु।

प्रवाहित, प्रत्येक घटना एकटा अछि event: रेखा आ ए data: a सँ कमान sequence_numberएहि क्रममेः response.created, response.in_progress, response.output_item.added, response.content_part.addedकोनो सङ्ख्यामे response.output_text.delta, response.output_text.done, response.content_part.done, response.output_item.done, आ अन्तिम में response.completed उपयोग आ लागतक सङ्ग। एकटा जवाब कट शॉर्ट समाप्त होइत अछि response.incomplete एकर बदला, आ धारा शुरू भेलाक बाद एकटा विफलता response.failedतर्क अपन वस्तुक रूपमे प्रवाहित होइत अछि। response.reasoning_text.delta आओर .doneटूल कॉल सन्देशक बाद अबैत अछि, जाहिमे सँ प्रत्येक एक वस्तुक रूपमे होइत अछि। response.function_call_arguments.delta आओर .done.

स्थितिकखन?
400नहि। model अथवा input; previous_response_id, conversation, background अथवा item_reference (unsupported_parameter); एकटा असमर्थ टूल वा कंटेंट टाइप।
402, 403, 404, 429, 502, 503जखन Chat Completions के बात अछि।

cURL

curl https://nymbot.ai/api/v1/responses \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "instructions": "Answer in one short paragraph.",
    "input": "What is a Lightning invoice?"
  }'

Python

import os
from openai import OpenAI

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

response = client.responses.create(
    model="anthropic/claude-sonnet-5",
    instructions="Answer in one short paragraph.",
    input="What is a Lightning invoice?",
)
print(response.output_text)

JavaScript

import OpenAI from "openai";

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

const response = await client.responses.create({
  model: "anthropic/claude-sonnet-5",
  instructions: "Answer in one short paragraph.",
  input: "What is a Lightning invoice?",
});
console.log(response.output_text);

एन्थ्रोपिक सन्देश (Anthropic Messages)

एंथ्रोपिकक प्रारूप, एंथ्रोपिक एसडीके आ क्लाउड कोडक लेल। ई कैटलॉगमे प्रत्येक मॉडलक संग काज करैत अछि, न केवल क्लाउडः अनुरोधक अनुवाद कैल जाइत अछि, एकहि पाइपलाइनसँ चलाओल जाइत अछि, आ फेरसँ अनुवाद कैल जाइत अछि।

POST https://nymbot.ai/api/v1/messages - एकटा एपीआई कुंजीक आवश्यकता अछि, जेना कि x-api-key अथवा Authorization: Bearer.

ओहि anthropic-version आओर anthropic-beta हेडरकेँ स्वीकार आ नजरअंदाज कयल जाइत अछि। एंथ्रोपिक मॉडलक नाम कैटलॉगसँ मेल खाइत अछि, तेँ क्लाउड कोड आ एसडीके ओहि नामक सङ्ग काज करैत अछि जकर ओ पहिनेसँ उपयोग करैत छथिः

  • एकटा नाम जे कैटलॉग जानैत अछि, जेना कि claude-sonnet-5 अथवा anthropic/claude-opus-5, जेना अछि, ओहिना ही प्रयोग कएल जाइत अछि।
  • नहि तँ एकटा तिथि (-20260514), -latest, एकटा वर्जन टैग जँसन -v1, कोनो कोष्ठकमे लिखल टैग जँगाना [1m] अउर एकटा anthropic/ अथवा anthropic. उपसर्ग हटा देल जाइत अछि, आ संस्करणमे बिन्दु आ डैश दुनू तरीकासँ प्रयास कैल जाइत अछि (claude-haiku-4-5 ताकैत अछि। claude-haiku-4.5).
  • यदि ओहि सँ कोनो मेल नै भेटैत अछि, त' परिवार (Opus, Sonnet या Haiku) केँ प्रयोग कएल जाइत अछि, जबहि तक कैटलॉगक संस्करण ओहि सँ समान या ओहि सँ नव नहि अछि जेना माँगे गेल छल।
  • एकटा नाम जे कोनो चीजसँ मेल नहि खायत, वापस आबि जाइत अछि। 404 not_found_error.
मैदानप्रकारआवश्यक अछि।वर्णन
modelस्ट्रिंगहँएह एकटा कैटलॉग मॉडल आईडी, या एकटा Anthropic मॉडल के नाम अछि।
max_tokensपूर्णांकहँलिखबाक लेल सबसँ बेसी टोकन।
messagesसरणीहँuser आओर assistant फेरबदल, कें संगे text, image (बेस64 या यूआरएल स्रोत), 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, 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"}. बजट प्रयासक स्तर चुनी छै: २,०४८ सँ कम न्यूनतम, २,०४८ सँ निम्न, ८,१९२ सँ मध्यम, १६,३८४ सँ उच्च। 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 शीर्षक।

प्रवाहित, घटनासभ एंथ्रोपिकक अछिः 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 सेकंड में से सेने छल। टूल कॉल टेक्स्ट के बाद आबैत अछि, प्रत्येक एकटा tool_use एकर पूरा इनपुट के एकै ब्लॉक में राखू input_json_delta.

एहि एंडपॉइंट पर त्रुटि सभ 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);

टोकन गणना कय रहल छी

एकटा अनुमान जे सन्देशक अनुरोधमे कतेक इनपुट टोकनक उपयोग होयत, ताहि लेल ग्राहक पठायबसँ पहिने जाँच कऽ सकैत अछि। ई निःशुल्क अछि, मुदा तखन सेहो एकटा कुंजीक आवश्यकता अछि।

POST https://nymbot.ai/api/v1/messages/count_tokens — एकटा API key के आवश्यकता अछि। मुफ्त।

शरीर जेना अछि। सन्देशसभ, बिना max_tokens; मॉडलक नाम तय भ'ए के चाही। गणना एकटा अनुमान अछि: सिस्टम प्रॉम्प्ट, मैसेज, टूल कॉल आ टूल डेफिनेशनक अक्षर सभ केँ चार सं भाग क' एतय प्रत्येक तस्वीरक लेल १,६०० जोड़ा जाइत अछि। ई प्रदाताक अपन टोकेनाइज़र नहि अछि, त' वास्तविक गणना भिन्न भ' सकैत अछि। एहन की जे अपन सीमा तक पहुँचि गेल अछि, ओ एहिना प्रयोग क' सकैत अछि।

प्रतिक्रिया

{ "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 जे कोनो मॉडल आ जनरेटर स्वीकार करैत अछि, ओकर दर कतबा अछि। ई सूची ओही सजीव कैटलॉग सँ पढ़ल जाइत अछि जे ऐपक पिकर (picker) सँ जुड़ल अछि, ताहि लेल ई सदैव ओहि कोनी अछि जे सर्वर चलत।

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