सामग्रीं प्रति गच्छन्तु
Back to Nymbot

ज्ञानाधारः विकासकाः।

वार्तालापः, प्रतिक्रियाः, सन्देशाः च

प्रतिरूपं किमपि पृच्छितुं त्रयः मार्गाः सन्ति, येषु त्रिषु स्वरूपेषु ग्राहकाः पूर्वमेव वदन्ति, सर्वे समान-प्रतिरूपेषु प्रचलन्ति, तथा च समानरूपेण बिल् कुर्वन्ति।

संवादपूर्णपूर्णताः

ओपन् ए. ए. ऐ. वार्तालापविन्यासः, प्रायः प्रत्येकं साधनं च समर्थयति। एतावत्पर्यन्तं वार्तालापं प्रेषयतु, अग्रिमसन्देशम् पुनः प्राप्नुयात्।

POST https://nymbot.ai/api/v1/chat/completions - एकं ए. पि. ऐ. की आवश्यकम्।

केवलम्। model तथा messages आवश्यकं भवति। यः प्रतिरूपः न स्वीकरोति सः प्रतिमानमितिः दोषं विना एव निष्कास्यते, अतः एकः अनुरोध-समूहः प्रतिमानानां मध्ये कार्यं करोति। प्रतिमान-सूची प्रत्येकस्य प्रतिमानस्य विवरणं ददति। supported_parameters. What is refused rather than dropped is anything the model cannot do at all: pictures for a model that cannot see, tools for a model that cannot call them.

क्षेत्रम्।प्रकारःआवश्यकम्वर्णनम्
modelस्त्रिङ्ग्आम्‌nymbot/auto (अथवा auto) for Nymbot's routing on the standard balance, or a catalog model id such as 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 0 तः 1 पर्यन्तं भवति।
stopस्ट्रिङ्ग् अथवा एरेन।उत्तरं समापयतः पाठ्यं: एकं शृङ्खलं वा अधिकतमं चत्वारः शृङ्खलाः, प्रत्येकं अधिकतमं २५६ अक्षराणि। कस्यचित् प्रयुज्यते न। nymbot/auto.
seedपूर्णांकःन।पुनरावर्तनीय-प्रतिदर्शने, यत्र प्रतिमानम् तत् समर्थयति।
presence_penalty
frequency_penalty
सङ्ख्याः।न।पुनरावृत्ति-नियन्त्रणानि, प्रत्येकं -२ तः २ पर्यन्तम्।
response_formatवस्तुःन।{"type": "json_object"} अथवा {"type": "json_schema", "json_schema": {…}}, यत्र प्रतिरूपं तत् समर्थयति। द्वारा न उपयुज्यते। nymbot/auto.
tools
tool_choice
parallel_tool_calls
आरे, स्ट्रिङ्ग् अथवा वस्तु, बूलियन्न।फंक्शन्-कालिङ्ग्। पश्यतु। यन्त्रकार्याणि. A 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 अधिकतमं त्रिशत् टोकन-परिचयान् -१०० तः १०० पर्यन्तं संख्यानां प्रतिरूपयति। user अधिकतम २५६ अक्षराणि सन्ति; metadata अधिकतम १६ शृङ्खलामूल्यानि, ६४ अक्षरा पर्यन्तं कुञ्जिकाः तथा ५१२ पर्यन्तं मूल्यानि धारयति।

उत्तरम् सामान्यम् अस्ति। 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.

यत् किमपि १०० सेकण्डकारात् अधिकं समयं गृह्णाति, यथा दीर्घा उत्तरं वा विशालं वस्तु वा, तदेव प्रवहतु। max_tokens or a reasoning model. A request that is not streamed sends nothing until the answer is complete, and the network between you and Nymbot may close an idle connection after about 100 seconds; the model still finishes and what it wrote is charged, but the answer is lost. A stream sends keep-alives, so it stays open for as long as the model writes.

प्रवाहः।

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 वस्तु।
  • प्रवाहस्य समापनात् अनन्तरं शुल्कं निर्धार्यते। यदि भवान् पूर्वमेव संयोगं बन्धयति, तर्हि प्रारूपं (model) न निरुद्ध्यते: Nymbot प्रदातारस्य प्रवाहस्य शेषभागं, अधिकतमं २५ सेकण्डपर्यन्तं, तस्य टोकन-संख्यां (token count) प्राप्तुं पठति, तथा च प्रदाता येन संख्या प्रतिवेदितः तदेव भवान् ददाति। तस्य गणनायाः विना, शुल्कं भवतः प्रविशति शब्दात् लिखितभागात् च अनुमानितं भवति, सह तस्य तर्कशील-प्रारूपस्य (reasoning model) पूर्ण-फलस्य (output) अनुमतः।
  • प्रथमखण्डात् पूर्वं त्रुटिः, यथा - 401 अथवा 402, तस्य स्थिति-संकेतसह साधारणं JSON रूपेण प्रतिवर्तते, प्रवाहरूपेण न। प्रवाहस्य आरम्भानन्तरं त्रुटिः अन्तिमरूपेण आगच्छति। 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, and send the conversation again. Nymbot never runs your functions; it passes the model's request back to you.

tool_choice स्वीकरोति। "auto", "none", "required" अथवा {"type": "function", "function": {"name": "…"}}माडेल्-सूची सूचयति यत् काः माडेल्-विशेषाः उपकरणानि आह्वयितुं शक्नुवन्ति (capabilities.tools)। उपकरणेभ्यः निषेधः कृतः। 400 unsupported_tool अनः। nymbot/auto and on the few catalog models that run on OpenAI's Responses transport, which Nymbot cannot pass tools to.

तेन सह। "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. Pictures can only be in user messages. A link must point to a public host; Nymbot passes the picture to the model's provider and does not keep it.

चित्रस्य शुल्कं दत्तं भवति यतः प्रदातृः तस्य कृते इन्पुट्-टोकेन्स् गण्यते, यथा अन्याः याचनाः।

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 अनुरोधं मानक-तर्कमार्गं प्रति प्रेषयति।

एन्थ्रोपिक-प्रतिरूपेषु प्रयत्नः प्रायः १,०००, २,०००, ८,००० वा १६,००० टोकनां चिन्तन-बजटं भवति, कदापि अधिकं न। 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स्वीकृतं उपेक्षितं च। प्रत्येकस्य सूची-प्रतिरूपस्य एकः मार्गः भवति, अतः शीघ्रं, सुलभं वा दीर्घतरं वा न भवति, प्रत्ययाः अनुमन्यन्ते, अतः अन्यसेवानां प्रतिरूपाणि नामानि अद्यापि कार्यं कुर्वन्ति।

अन्यः कश्चित् प्रत्ययः उपेक्ष्यते। पूर्णा नाम प्रथमं प्रयुज्यते, अतः यस्य id इति मध्ये वास्तवतः विसर्गः (colon) अस्ति तस्य अपि कार्यं भवति; यदि तत् न भवति, तर्हि प्रत्ययाः अन्तःतः एकैकं दूरीकृत्य तदापर्यन्तं प्रयुज्यन्ते यावत् किमपि प्रतिरूपं (model) मेलितम्। प्रतिरूपस्य नाम अत्यन्तं द्विशत-अक्षराणाम् अधिकं न भवेत्, चतुष्-प्रत्ययात् अधिकं न भवेत्; अधिकं नाम अस्विकार्यं भविष्यति। 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);

Any chat model can answer from the live web. Nymbot searches for the last user message (its first 2,000 characters), reads the best pages and gives them to the model with the question, marked as outside content the model should not take instructions from. There are two modes:

  • सर्वदा अन्विष्यतु।: "plugins": [{"id": "web", "max_results": 5}], अथवा अ :online प्रतिरूपे प्रत्ययोपयोगः।
  • यदा साहाय्यं भवति तदा अन्वेषणं कुरु।: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}], अपि च ... इति स्वीकृतम् web_search_preview अथवा openrouter:web_search. Nymbot searches only when the question looks like it needs current information, the same test the app uses.

max_results पूर्वनिर्धारितम् 5, अधिकतमं 10 च भवति। मूलानि पुनः तत्र आगच्छन्ति। nymbot.web_search.sources, प्रत्येकं अ इत्यनेन सह title, snippet तथा urlतथा च यथा url_citation सन्देशस्य विषये टिप्पण्याः।

प्रत्येकं विलोचनं $0.008 मूल्यं व्ययते, यत् टोकनां अतिरिक्तं सटोज़् (sats) मध्ये परिवर्तितं भवति, तथा च तत् धारणेः (hold) भागः अस्ति। याः पृष्ठानि सः पठति तानि अपि इनपुट-टोकनानि सन्ति, अतः जालतः प्राप्तं उत्तरं तस्मात् अधिकं मूल्यं व्ययते यत् तर्हि निर्विकल्पेन (cold) पृष्टम्, कदाचित् बहुगुणं अधिकम्।

प्रत्युत्तरं, अंशतः

"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प्रतिक्रिया अपि अनुरोधस्य विन्यासान् (तापमानं, उपकरणानि, उपकरण-चयनम् इत्यादीन्) प्रतिध्वनयति यथा ओपन्-ए. ऐ. करोति, तथा च अभ्यर्थनां प्रतिध्वनयति। 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 शीर्षकाः स्वीकृताः उपेक्षिताः च भवन्ति। एन्थ्रोपिक्-माडेल्-नामानि सूच्यां सङ्गृहीताः भवन्ति, अतः क्लाड् कोड् तथा एस्. डी. के. इत्येते पूर्वमेव प्रयुज्यमानैः नामैः सह कार्यं कुर्वन्तिः

  • कैटलाग् इत्येतत् नाम जानाति, यथा - claude-sonnet-5 अथवा anthropic/claude-opus-5, यथा अस्ति तथैव उपयुज्यते।
  • अन्यथा दिनाङ्कः (-20260514), -latest, एकं संस्करणचिह्नं यथा -v1, एकः कोष्ठकयुक्तः ट्याग् यथा [1m] अपि च अ anthropic/ अथवा anthropic. उपसर्गानि निष्कास्यन्ते, तथा च संस्करणे डाट्स् तथा डैश् इत्येतौ उभयतः प्रयुज्यन्ते (claude-haiku-4-5 अन्विष्यत्। claude-haiku-4.5).
  • यदि तत् इदानीमपि किमपि न मिलति तर्हि परिवारः (ओपस्, सोनेट् अथवा हैकु) उपयुज्यते, यावत् सूचीपत्रस्य संस्करणं अपेक्षितस्य समानं वा नूतनं वा भवति।
  • एकं नाम यत् न किमपि योजयति तत् प्रत्यावर्तते। 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. A web_search सर्वर्-साधनं सक्रियं भवति। जालस्थले अन्वेषणं करोतु।; एन्थ्रोपिक् इत्यस्य अन्यानि अन्तर्निर्मितानि उपकरणानि (बाश्, टेक्सट्-एडिटर्, सङ्गणकस्य उपयोगः) निराकृतानि सन्ति। unsupported_tool. tool_choice स्वीकरोति। auto, any, tool अथवा none, तथा। disable_parallel_tool_use.
thinkingवस्तुःन।{"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} अथवा {"type": "disabled"}बजेटः एकं प्रयत्नस्तरं चिनोति: २,०४८ इत्यपेक्षं न्यूनं न्यूनतमं, २,०४८ इत्यपेक्षं न्यूनं, ८,१९२ इत्यपेक्षं मध्यमं, १६,३८४ इत्यपेक्षं उच्चं च। एडाप्टिवः प्रयुञ्जते output_config.effortअथवा उच्चः।
streamबुलियन्न।एन्थ्रोपिकस्य घटनाप्रारूपे प्रवाहितं कुरु।
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. A ping यदा प्रतिरूपम् कार्यं करोति तदा प्रति पञ्चदश सेके अपि प्रेष्यते। उपकरण-आह्वानाः पाठानन्तरं आगच्छन्ति, प्रत्येकम्... 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 - एकं ए. पि. ऐ. की अपेक्षितम्। निःशुल्कम्।

शरीरं तस्य इव एव अस्ति सन्देशाः, without 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);