सामग्री पर जाओ
निम्बॉट पर बापस जाओ

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

चैट, प्रतिक्रियां ते संदेश

इक माडल शा किश पूछने दे त्रै तरीके, त्रै प्रारूपें च गाह्क पैह्लें शा गै बोलदे न, सारे इक गै माडल पर चलदे न ते इक गै चाल्ली कन्नै बिल दिंदे न।

चैट कम्प्लीशन

ओपनएआई चैट प्रारूप, ते तकरीबन हर इक उपकरण समर्थन करदा ऐ। हून तक्कर दी गल्ल-बात गी भेजो ते अगला संदेश बापस प्राप्त करो।

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 0 कोला 2 तक्कर, top_p 0 कोला 1 तक्कर।
stopस्ट्रिंग जां ऐरेनेईं।जवाब दी आखरी लिखत: इक स्ट्रिंग या ऐती मक्की 4 स्ट्रिंग्स, हर इक 256 कैरेक्टर तक। दे द्वारा इस्तेमाल नी कीता जांदा 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 अधिकतम 256 अक्षर; 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]
  • कन्नै शुरू होने आह्ली लाइनें : कीप-अलाइव टिप्पणियां न, हर 15 सैकेंड च भेजी जंदियां न जिसलै माडल सोचदा ऐ। ऐस्स. ऐस्स. ई. गाह्क उʼनें गी छड्डदे न।
  • पुच्छो "stream_options": {"include_usage": true} उप्परला खीरला हिस्सा हासल करने आस्तै, इक ख़ाली दे कन्नै choices, टोकन गिनती, लागत ते nymbot ऑब्जेक्ट।
  • चार्ज स्ट्रीम खत्म होने दे परैंत्त सैटल होई जंदा ऐ। जे तुस कनेक्शन गी पैह्लें गै बंद करी दिंदे ओ, तां माडल गी नेईं रोकेआ जंदा ऐः निम्बॉट प्रदाता दी बाकी धारा गी 25 सैकेंट्ट तक्कर पढ़दा ऐ, तां जे एह्दे टोकन गिनती गी हासल कीता जाई सकै, ते तुस ओह् भुगतान करो जेह्ड़ा प्रदाता रिपोर्ट करदा ऐ। उस गिनती दे बगैर शुल्क दा अंदाज़ा तुंʼदे इनपुट ते केह् लिखेआ गेआ हा, कन्नै गै इक माडल आस्तै पूरा आउटपुट भत्ता जेह्ड़ा कारण ऐ।
  • पैह्लें हिस्से शा पैह्लें इक गलती, जिʼयां जे 401 जां 402, अपने स्थिति कोड दे कन्नै सधारण जे. ऐस्स. ओ. ऐन्न. दे रूपै च बापस आउदा ऐ, स्ट्रीम दे रूपै च नेईं। स्ट्रीम शुरू होने दे परैंत्त इक गलती आखरी जे. ऐस्स. ओ. ऐन्न. दे रूपै च आउदी ऐ data: {"error": {…}} घटना, ते धारा बगैर कार्यक्रम दे खत्म होई जंदी ऐ [DONE].
  • उपकरणें दे कन्नै अनुरोध, ते ओपनएआई दे प्रतिक्रिया परिवहन पर माडल, प्रदाता थमां प्रसारत नेईं होंदे न। ओह् अजें बी इक वैध धारा दे कन्नै जवाब दिंदे न, जेह्ड़ा जवाब पूरा होने दे परैंत्त भेजेआ जंदा ऐ।

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, ते गल्ल-बात गी परतियै भेजो। निम्बॉट कदें बी तुंʼदे कम्में गी नेईं चलांदा ऐ; एह् माडल दी विनती तुसें गी बापस भेजदा ऐ।

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

देगे "stream": trueउपकरणें दे कन्नै इक विनती इक टुकड़े च चलदी ऐ ते फ्ही इक सधारण चंक तरतीब दे रूप च भेजी जंदी ऐः भूमिका, इक चंक जेह्दे च हर इक टूल काल गी एह्दे सूचकांक, आईडी, नांऽ ते तर्कें दे कन्नै लाया जंदा ऐ, ते फिनिश चंक। स्ट्रीम कीते गेदे टूल कालें गी पढ़ने आह्ले ग्राहक इसगी आमतौरा पर सम्हालदे न।

जवाब, किश हिस्सें च

"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तस्वीरां छड़ा उपयोगकर्ता संदेशें च गै होई सकदियां न। इक लिंक गी सार्वजनक मेजबान दी बक्खी इशारा करना चाहिदा ऐ; निम्बॉट तस्वीर गी माडल दे प्रदाता गी पास करदा ऐ ते इसगी नेईं रखदा ऐ।

इक तस्वीर गी चार्ज कीता जंदा ऐ की जे इनपुट टोकन दे रूप च प्रदाता एह्दे आस्तै गिनती करदा ऐ, बाकी विनती दी चाल्ली।

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 विनती गी मानक तर्क रस्ते पर भेजदा ऐ।

एंथ्रोपिक माडलें पर जतन तकरीबन 1,000,2,000,8,000 जां 16,000 टोकन दा इक बिचारशील बजट बनी जंदा ऐ, जेह्ड़ा कदें बी 1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 max_tokens इजाज़त देओ। सोचने गी छोड़ी दित्ता जंदा ऐ जिसलै tool_choice कुसै औज़ार गी मजबूर करदा ऐ, ते जिसलै विनती इक औज़ार लूप गी जारी रखदी ऐ (एह्दे आखरी संदेश च इक औज़ार नतीजा होंदा ऐ), की जे एंथ्रोपिक गी इसगी परतियै शुरू करने आस्तै पैह्लें दस्तखत कीते गेदे बिचार दी लोड़ होंदी ऐ। एह् गै प्रतिक्रियाएं ते संदेशें दे अंत बिंदुएं पर लागू होंदा ऐ।

तर्क बापस आई जंदा ऐ message.reasoning_content, जां delta.reasoning_content स्ट्रीमिंग करदे समें, जवाब च कदें नेईं मिलाया जंदा ऐ। तर्क आउटपुट होंदा ऐ ते अंदर इस चाल्ली चार्ज कीता जंदा ऐ completion_tokensकिश प्रदाता तर्क पाठ गी बिलकुल नेईं मोड़दे न, ते एह् अजें बी चार्ज कीता जंदा ऐ।

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "reasoning_effort": "high",
    "messages": [{"role": "user", "content": "Is 2^61 - 1 prime? Show why."}]
  }'

Python

import os
from openai import OpenAI

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

reply = client.chat.completions.create(
    model="anthropic/claude-sonnet-5",
    reasoning_effort="high",
    messages=[{"role": "user", "content": "Is 2^61 - 1 prime? Show why."}],
)
message = reply.choices[0].message
print(getattr(message, "reasoning_content", None))
print(message.content)

JavaScript

import OpenAI from "openai";

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

const reply = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5",
  reasoning_effort: "high",
  messages: [{ role: "user", content: "Is 2^61 - 1 prime? Show why." }],
});
console.log(reply.choices[0].message.reasoning_content);
console.log(reply.choices[0].message.content);

माडल प्रत्यय

माडल दे नांऽ पर इक प्रत्यय बदलदा ऐ जे कुसै होर खेतर दे बगैर विनती गी किʼयां हैंडल कीता जंदा ऐ। ओह् पूरे आई. डी. ते लौह्के नांऽ पर बराबर रूप कन्नै कम्म करदे न, जिʼयां के anthropic/claude-sonnet-5:online.

प्रत्ययअसर
:onlineपहलें वेब पर खोजो, जिअं plugins: [{"id": "web"}]देखो। वेब खोज.
:thinkingउच्च तर्क जतन; पर nymbot/auto, तर्क मार्ग। इक माडल पर जेह्ड़ा तर्क नेईं करी सकदा, 400 model_not_found कन्नै & ldquo; कोई अंत बिंदु नेईं मिले & rdquo;।
:nitro, :floor, :exacto, :extendedमंजूर कीता गेआ ते नज़रअंदाज़ कीता गेआ। हर इक कैटलॉग माडल दा इक रस्ता होंदा ऐ, इस करियै चुनने आस्तै कोई तेज, सस्ता जां बड्डा नेईं होंदा ऐ; प्रत्यय दी इजाज़त होंदी ऐ इस करियै होरनें सेवां थमां नकल कीते गेदे माडल नांऽ अजें बी कम्म करदे न।

कौनो ऐहड़ा प्रत्यय (suffix) नजरअंदाज़ कीता जांदा ऐ। पूरा नाम पैली कोशिश करी जांदी ऐ, ताथै उस मॉडल दी आईडी जेह्ड़ी सचमुच कोलन (colon) गी हुंदी ऐ, ओह् वी काम करदी ऐ; जेकर ओह् ना करदा, ताथै आख़िरी तों इक-इक करदे हुंदे प्रत्यय हटाए जांदे न ताथै मॉडल मिल सकै। इक मॉडल दा नाम ज़्यादा तों ज़्यादा 200 अक्षरां दा हो सकदा ऐ जित्थे ज़्यादा तों ज़्यादा 4 प्रत्यय हो सकदे न; इक तों लमबे नाम गी ऐथी ए रिजेक्ट कीता जांदा ऐ 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 अक्षर) गी खोजदा ऐ, सब तों चंगे पेजे पढ़दा ऐ ते ओना गी सवाल दे कन्नै मॉडल गी दे दिंदा ऐ, जिहदे गी 'बाहरी कंटेंट' (outside content) दे तौर पर मार्क कीता जांदा ऐ ताकि मॉडल ओदे थमां कोई निर्देश न ले सकै। एदे दो मोड ऐ:

  • हमेशां तुप्पो: "plugins": [{"id": "web", "max_results": 5}], जां ए :online माडल पर प्रत्यय।
  • जिसलै एह् मदद करदा ऐ तां तुप्पो: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}], दे रूप च बी मंजूर कीता गेआ web_search_preview जां openrouter:web_searchनिम्बॉट तां गै खोज करदा ऐ जिसलै सुआल गी नेहा लगदा ऐ जे इसगी वर्तमान जानकारी दी लोड़ ऐ, ओही परख जेह्ड़ी ऐप इस्तेमाल करदी ऐ।

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

प्रतिक्रियाएं दा ए. पी. आई.

ओपनएआई दा नमां प्रारूप, ओपनएआई एजेंट्स एसडीके ते कोडेक्स आसेआ इस्तेमाल कीता जंदा ऐ। एह् उʼनें माडलें, बिलिंग ते फीचरें पर चलदा ऐ जिʼयां चैट कम्प्लीशन।

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 लिंक जां डेटा यू. आर. एल., फाइल आई. डी. नेईं। 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_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नतीजा दे रूप च बापस भेजो function_call_output इक गै चीज कन्नै call_idतर्क करना, जिसलै माडल इसगी मोड़दा ऐ, इक ऐ reasoning आइटम दे कन्नै reasoning_text सामग्री, पैह्लें सूचीबद्ध। status ऐ incomplete जवाब कुसलै औग max_output_tokens जां प्रदाता ने इन्कार करी दित्ता, कन्नै incomplete_details.reason आस्तै सैट्ट करो max_output_tokens जां content_filter. जवाबी उत्तर रिक़्वैस्ट दी सेटिंग्स (temperature, tools, tool choice ऐना जेहे) नत्थै बी दोहरांदा ऐ जियां 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टूल कॉल संदेश दे परैंत्त आउदियां न, हर इक दे कन्नै इक आइटम दे रूप च response.function_call_arguments.delta ते .done.

स्थितिकɗे
400नेईं। model जां input; previous_response_id, conversation, background जां इक item_reference (unsupported_parameter); इक अनसपोर्टेड टूल या कंटेंट टाइप।
402, 403, 404, 429, 502, 503जिʼयां तक्कर चैट समापन दा सवाल ऐ।

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

एंथ्रोपिक संदेश

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

POST https://nymbot.ai/api/v1/messages - इक ए. पी. आई. कुंजी दी लोड़ ऐ, की जे x-api-key जां Authorization: Bearer.

दा ऐ। anthropic-version ते anthropic-beta हेडर मंजूर कीते जंदे न ते नज़रअंदाज़ कीते जंदे न। एंथ्रोपिक माडल दे नांऽ कैटलॉग कन्नै मेल खाते न, इस करियै क्लाउड कोड ते SDKs उ'नें नांऽएं दे कन्नै कम्म करदे न जेह्ड़े ओह् पैह्लें शा गै इस्तेमाल करदे नः

  • इक नांऽ जेह्ड़ा सूची-सूची जानदी ऐ, जिʼयां जे 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स्ट्रिंगहांइक कैटलॉग माडल आईडी, जां इक एंथ्रोपिक माडल दा नांऽ।
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 सर्वर टूल चालू हुंदा ऐ वेब खोज; एंथ्रोपिक दे होर दुए अंतर्निर्मित उपकरणें (बैश, पाठ संपादक, कंप्यूटर उपयोग) कन्नै इन्कार करी दित्ता जंदा ऐ 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 कोला घट्ट। अनुकूलत उपयोग। output_config.effort, जां उच्चा।
streamबुलियननेईं।एंथ्रोपिक दे इवेंट फार्मेट च स्ट्रीम करो।
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.

इस अंत बिंदु पर त्रुटियां एंथ्रोपिक दे प्रारूप दा उपयोग करदियां नः {"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 - इक ए. पी. आई. कुंजी दी लोड़ ऐ। मुफ्त।

शरीर उही ऐ है जेहड़ा संदेश, बगैर max_tokensमाडल दे नांऽ गी हल करना होग। गिनती इक अंदाज़ा ऐः सिस्टम प्रॉम्प्ट दे वर्ण, संदेश, टूल कॉल ते टूल परिभाशाएं गी च'ऊं कन्नै बंडियै, ते हर इक तस्वीर आस्तै 1,600। एह् प्रदाता दा अपना टोकनाइज़र नेईं ऐ, इस करियै असली गिनती बक्ख होई सकदी ऐ। इक कुंजी जेह्ड़ी अपनी सीमा तक्कर पुज्जे दी ऐ, अजें बी इसगी इस्तेमाल करी सकदी ऐ।

प्रतिक्रिया

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

मॉडल्स दी सूची

हर इक माडल ते जनरेटर गी ए. पी. आई. स्वीकार करदा ऐ, जेह्दे च उंʼदी लागत केह् ऐ। सूची गी उसी लाइव कैटलॉग थमां पढ़ेआ जंदा ऐ जेह्ड़ा ऐप दे पिकर दे रूप च होंदा ऐ, इस करियै एह् नेहे समें पर होंदा ऐ जेह्ड़ा सर्वर चलाएगा।

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