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

ज्ञानाचा आधार विकासक

गप्पा, प्रतिसाद आणि संदेश

मॉडेलला काहीतरी विचारण्याचे तीन मार्ग आहेत, तीन स्वरूपांमध्ये ग्राहक आधीच बोलतात, सर्व एकाच मॉडेलवर चालतात आणि त्याच प्रकारे बिल देतात.

गप्पा पूर्ण करणे

OpenAI चॅट स्वरूप, आणि जवळजवळ प्रत्येक उपकरणे समर्थित आहे.

POST https://nymbot.ai/api/v1/chat/completions API चाचणीची गरज आहे.

फक्त 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स्ट्रिंग किंवा Arrayनाहीउत्तर समाप्त करणारे टेक्स्ट: एक स्ट्रिंग किंवा सर्वात जास्त 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
अ ॅरेज, String or Object, Booleanनाहीप्रवाशांना भेटायला हवेत. टूल कॉलअ. web_search टॉयलेट बदलते वेब शोधजास्तीत जास्त 128 साधने आणि 512 के. बी. व्याख्या, जास्तीत जास्त 64 पातळ्यांवर खोलवर नेस्ट केलेले; अधिक म्हणजे 400.
reasoning_effort
reasoning
वस्तू, वस्तूनाही"minimal", "low", "medium" या "high"या {"effort": "high"}. "none" या {"enabled": false} त्यातून निघून जातो. तर्कसंगती.
pluginsआराखडानाही[{"id": "web", "max_results": 5}] नेहमी प्रथम वेबवर शोधा. 10 पर्यंत परिणाम.
nअस्तित्वातनाही१) सर्व काही परत येते 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 केवळ १; a :thinking (आणि याचा अर्थ असा आहे की, याचा अर्थ नाही)model_not_found); किंवा पुरवठादाराने विनंती नाकारली (upstream_rejected).
402मॉडेलने खर्च केलेला संतुलन हा स्टोअर कवर करू शकत नाही.
403सर्वात वाईट स्थिती किल्लीच्या टोपीशी जुळत नाही (key_limit_reached) कमी max_tokens या कागदपत्रावर उतरवा.
404त्या नावाने कोणतेही मॉडेल नाही (model_not_found).
429या प्रकल्पाच्या माध्यमातून या प्रकल्पाचे (upstream_rate_limited).
502, 503प्रकल्पाची विफलता (upstream_error) या प्रकल्पाचे (upstream_overloadedआणि साथ Retry-After) प्रदाताने प्रयत्न केल्याशिवाय काहीही शुल्क घेतले जात नाही.

स्थिती कोड प्रत्येक अंतिम बिंदू समभाग खाली सूचीबद्ध आहेत चूक.

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 एक अनुरोध जिथे स्ट्रीमिंग होत नाही तो उत्तर पूर्ण होईपर्यंत काहीही पाठवत नाही आणि तुम्ही आणि Nymbot यांच्यातील नेटवर्क सुमारे 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 वस्तू
  • चार्ज संपल्यानंतर चार्ज संपते. जर आपण कनेक्शन लवकर बंद कराल तर मॉडेल थांबत नाही: 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_idNymbot कधीच तुमची कार्ये चालवत नाही; तो मॉडेलची मागणी परत तुमच्याकडे पाठवतो.

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:// लिंक किंवा A data:image/…;base64, या प्रकल्पाच्या तक्रारीनुसार या प्रकल्पाच्या तक्रारीनुसार या प्रकल्पाच्या तक्रारीनुसार या प्रकल्पाच्या तक्रारीनुसार या प्रकल्पाच्या तक्रारीनुसार या प्रकल्पाच्या तक्रारीनुसार या प्रकल्पाच्या तक्रारीनुसार या प्रकल्पाच्या तक्रारीनुसार या प्रकल्पाच्या तक्रारीनुसार (400 invalid_image_url) आव्हान detail आहे auto, low या high.

साथ nymbot/auto, त्यात चित्र असलेली विनंती मानक मॉडेलकडे पाठवली जाते जी पाहू शकते. कॅटलॉग मॉडेलशिवाय capabilities.vision फोटो काढण्यास नकार 400 unsupported_contentचित्र फक्त वापरकर्त्या संदेशात असू शकतात. लिंक सार्वजनिक होस्टवर लक्ष देणे आवश्यक आहे; Nymbot चित्र मॉडेलच्या पुरवठादारला पाठवतो आणि त्याला ठेवत नाही.

उर्वरित विनंतीप्रमाणेच, पुरवठादारासाठी मोजले जाणारे इनपुट टोकन म्हणून चित्र आकारले जाते.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "What is in this picture?"},
        {"type": "image_url", "image_url": {"url": "https://example.com/receipt.jpg"}}
      ]
    }]
  }'

Python

import base64, os
from openai import OpenAI

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

with open("receipt.jpg", "rb") as f:
    data_url = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()

reply = client.chat.completions.create(
    model="anthropic/claude-sonnet-5",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "What is in this picture?"},
            {"type": "image_url", "image_url": {"url": data_url}},
        ],
    }],
)
print(reply.choices[0].message.content)

JavaScript

import { readFile } from "node:fs/promises";
import OpenAI from "openai";

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

const dataUrl = "data:image/jpeg;base64," + (await readFile("receipt.jpg")).toString("base64");

const reply = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5",
  messages: [{
    role: "user",
    content: [
      { type: "text", text: "What is in this picture?" },
      { type: "image_url", image_url: { url: dataUrl } },
    ],
  }],
});
console.log(reply.choices[0].message.content);

तक्रार

सह मॉडेल्स capabilities.reasoning ते उत्तर देण्यापूर्वी विचार करू शकतात. कमी-अधिक प्रमाणात विचारा reasoning_effort ("minimal", "low", "medium" या "high") किंवा "reasoning": {"effort": "high"}या अतिरिक्त :thinking प्रतिकृतीच्या नावासाठी, ज्याचा अर्थ उच्च प्रयत्न असा होतो. प्रतिकृतीवर तर्क न करता मांडणीकडे दुर्लक्ष केले जाते. nymbot/auto, :thinking विनंती प्रमाणित तर्क मार्गाकडे पाठवते.

एंथ्रोपिक मॉडेल्सवर प्रयत्न हा सुमारे 1,000,2,000,8,000 किंवा 16,000 टोकनचा विचारशील अंदाजपत्रक बनतो, जो कधीही त्यापेक्षा जास्त नसतो. max_tokens परवानगी देते. विचार करणे सोडून दिले जाते जेव्हा tool_choice एक यंत्र मजबूर केला जातो, आणि जेव्हा अनुरोध एक यंत्र लूप जारी करते (त्याची शेवटची संदेश एक यंत्र परिणाम आहे), कारण Anthropic त्याची पुनरावृत्ती करण्यासाठी पूर्व हस्ताक्षर केलेला विचार करण्याची गरज आहे.

तर्क पुन्हा येतो 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);

मॉडेल suffixes

मॉडेल नावावर एक शेक्स बदलते की अनुरोध कसा संभालला जातो, अन्य क्षेत्राशिवाय. anthropic/claude-sonnet-5:online.

पर्यायप्रभाव
:onlineपहिल्याच वेळी इंटरनेटचा शोध घेता येईल, असे plugins: [{"id": "web"}]हे वेब शोध.
:thinkingउच्च तर्कशक्तीचा प्रयत्न; वर nymbot/autoयाचा अर्थ असा आहे की, कोणत्याही परिस्थितीला, कोणत्याही परिस्थितीला, 400 model_not_found “नाही अंत्यसंस्कार पाहिलेले नाही”
:nitro, :floor, :exacto, :extendedप्रत्येक कॅटलॉग मॉडेलला एक मार्ग आहे, म्हणून तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे तेवढे.

अन्य कोणतेही शेफिस नजर टाकता येते. संपूर्ण नाव पहिल्यांदाच प्रयत्न केले जाते, म्हणून एक मॉडेल ज्याच्या आयडीमध्ये खरंच एक कॉलोन आहे तो अजूनही काम करतो; अन्यथा, शेफिस शेवटी एकाच वेळी काढण्यात येतात तेव्हापर्यंत एक मॉडेल सामोरे जातो. 400 invalid_value.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5:thinking",
    "messages": [{"role": "user", "content": "Plan a three-day trip to Lisbon."}]
  }'

Python

import os
from openai import OpenAI

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

reply = client.chat.completions.create(
    model="anthropic/claude-sonnet-5:thinking",
    messages=[{"role": "user", "content": "Plan a three-day trip to Lisbon."}],
)
print(reply.choices[0].message.content)

JavaScript

import OpenAI from "openai";

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

const reply = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5:thinking",
  messages: [{ role: "user", content: "Plan a three-day trip to Lisbon." }],
});
console.log(reply.choices[0].message.content);

Nymbot अंतिम वापरकर्ता संदेश (त्यांची पहिली 2,000 वर्ण) शोधतो, सर्वोत्तम पृष्ठ वाचतो आणि त्यांना प्रश्नाबरोबर मॉडेलला देतो, ज्याला बाहेरच्या सामग्री म्हणून चिह्नित केले जाते त्या मॉडेलने निर्देश घेऊ नये.

  • नेहमी शोधा: "plugins": [{"id": "web", "max_results": 5}]किंवा A :online मॉडेलवर प्रत्यय.
  • मदत मिळाल्यावर शोध: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}], म्हणून देखील स्वीकारले web_search_preview या openrouter:web_searchNymbot फक्त प्रश्नाला वर्तमान माहिती आवश्यक असल्याचे दिसते तेव्हा सर्च करता येते, असाच परीक्षण अॅप वापरतो.

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

अग्निशमन प्रतिक्रिया

OpenAI Agents SDK आणि Codex द्वारा वापरले जाणारे नवीन स्वरूप.

POST https://nymbot.ai/api/v1/responses API चाचणीची गरज आहे.

मैदान.प्रकारआवश्यकवर्णन.
modelस्ट्रिंगहोयम्हणून गप्पा पूर्ण करणे, प्रत्यय समाविष्ट आहेत.
inputस्ट्रिंग किंवा Arrayहोयएक स्ट्रिंग किंवा वस्तूंची यादीः संदेश (भूमिका) 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
अ ॅरेज, String or Object, Booleanनाहीव्हॉट्सअॅपच्या माध्यमातून ({"type": "function", "name": …, "parameters": …}) अ. web_search या web_search_preview टॉयलेट बदलते वेब शोध अन्य उपकरणे अद्याप नकार देतात.
reasoningवस्तूनाही{"effort": "minimal" | "low" | "medium" | "high"}. xhigh आणि max अर्थ high; none ती बंद करा.
text.format
response_format
वस्तूनाहीसंरचित उत्पादन, जे. एस. ओ. एन. योजना म्हणून किंवा json_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 म्हणून A function_call वस्तूंची call_id, name आणि argumentsपरिणाम परत पाठवण्यासाठी A function_call_output वेगवेगळ्या वस्तूंचा call_idजेव्हा मॉडेल ते परत करते तेव्हा तर्क करणे म्हणजे reasoning वस्तूंची reasoning_text प्रथम लिहिलेले, प्रथम लिहिलेले. status आहे incomplete उत्तर मिळाल्यावर max_output_tokens या निमित्ताने नकार दिला. incomplete_details.reason असे सेट करा max_output_tokens या content_filterप्रतिक्रियासुद्धा अनुरोधचे सेटिंग्स ( तापमान, उपकरणे, उपकरणे निवड आणि तितकेच) OpenAI चाचणी करतो, आणि संदेश चालवते. nymbot वस्तूंची किंमत

यामुळे प्रत्येक घटना एक event: रेषा आणि अ data: अ सह ओळ sequence_numberया क्रमांकावर : response.created, response.in_progress, response.output_item.added, response.content_part.addedकोणत्याही संख्या response.output_text.delta, response.output_text.done, response.content_part.done, response.output_item.doneआणि शेवटी response.completed या प्रश्नाचे उत्तर आणि शेवटच्या प्रश्नाचे उत्तर response.incomplete यामुळे, या प्रकल्पाची सुरुवात झाल्यानंतर response.failedत्याचबरोबर त्याने स्वतःच्या वस्तूंना response.reasoning_text.delta आणि .doneटूल कॉल संदेशानंतर येतात, प्रत्येक एक आयटम म्हणून 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 - एक API कुंजी आवश्यक आहे, म्हणून 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 (base64 किंवा URL स्रोत) tool_use आणि tool_result ब्लॉक thinking यापूर्वीच्या टप्प्यांमधील ब्लॉक स्वीकारले जातात आणि सोडले जातात.
systemस्ट्रिंग किंवा Arrayनाहीसिस्टम पॅमट, एक स्ट्रिंग किंवा टेक्स्ट ब्लॉक म्हणून.
temperature
top_p
संख्यानाहीनमुने नियंत्रण, जेथे मॉडेल त्यांना घेऊन जाते. top_k ते स्वीकारले आणि सोडले.
stop_sequencesतारांची मांडणीनाहीया प्रश्नाचे शेवटचे वर्णन करावे लागेल, तर प्रत्येक प्रश्नाचे शेवटचे वर्णन 256 वर्ण असतील.
tools
tool_choice
अॅरे, ऑब्जेक्टनाहीउपकरणे name, description आणि input_schemaअ. web_search सर्वेक्षणाचा टॉयलेट चालू वेब शोध; Anthropic च्या इतर अंतर्निहित उपकरणे (बॅश, टेक्स्ट एडिटर, संगणक वापर) प्रतिबंधित आहेत 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.

किंमत आहे जे आपण भुगतान करतो, शुल्क आणि मार्जिन आधीच आहे, डॉलरमध्ये आणि वर्तमान बिटकॉइन किंमतीत sats मध्ये. 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);