ज्ञानाचा आधार विकासक
गप्पा, प्रतिसाद आणि संदेश
मॉडेलला काहीतरी विचारण्याचे तीन मार्ग आहेत, तीन स्वरूपांमध्ये ग्राहक आधीच बोलतात, सर्व एकाच मॉडेलवर चालतात आणि त्याच प्रकारे बिल देतात.
हे पृष्ठ सोयीसाठी मशीन-अनुवादित आहे. मूळ इंग्रजी ही आवृत्ती लागू होते.
गप्पा पूर्ण करणे
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_tokensmax_completion_tokens | अस्तित्वात | नाही | सर्वात जास्त टोकन लिहावे. मॉडेलच्या अधिकतमपर्यंत कमी केले जाते, तर अधिक. तसेच आपल्या सल्ल्यातून किती ठेवण्यात येते, म्हणून कमी संख्या सुरू करण्यासाठी कमी क्रेडिटची गरज असते. |
temperaturetop_p | संख्या | नाही | चॅनलिंग नियंत्रण : temperature 0 ते 2 पर्यंत, top_p 0 ते 1 पर्यंत. |
stop | स्ट्रिंग किंवा Array | नाही | उत्तर समाप्त करणारे टेक्स्ट: एक स्ट्रिंग किंवा सर्वात जास्त 4 स्ट्रिंग, प्रत्येक 256 वर्ण अधिक. nymbot/auto. |
seed | अस्तित्वात | नाही | पुनरावृत्त नमूनासाठी, जेथे मॉडेल त्याला समर्थन करतो. |
presence_penaltyfrequency_penalty | संख्या | नाही | प्रत्येक नियंत्रण, -2 ते 2 पर्यंत. |
response_format | वस्तू | नाही | {"type": "json_object"} या {"type": "json_schema", "json_schema": {…}}, जेथे मॉडेल समर्थित आहे ते वापरले नाही nymbot/auto. |
toolstool_choiceparallel_tool_calls | अ ॅरेज, String or Object, Boolean | नाही | प्रवाशांना भेटायला हवेत. टूल कॉलअ. web_search टॉयलेट बदलते वेब शोधजास्तीत जास्त 128 साधने आणि 512 के. बी. व्याख्या, जास्तीत जास्त 64 पातळ्यांवर खोलवर नेस्ट केलेले; अधिक म्हणजे 400. |
reasoning_effortreasoning | वस्तू, वस्तू | नाही | "minimal", "low", "medium" या "high"या {"effort": "high"}. "none" या {"enabled": false} त्यातून निघून जातो. तर्कसंगती. |
plugins | आराखडा | नाही | [{"id": "web", "max_results": 5}] नेहमी प्रथम वेबवर शोधा. 10 पर्यंत परिणाम. |
n | अस्तित्वात | नाही | १) सर्व काही परत येते 400. |
logit_biasusermetadata | व्हॉट्सअॅप, व्हॉट्सअॅप | नाही | स्वीकारले आणि पाठविले नाही. 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 | अस्तित्वात | नाही | लिहिण्यासाठी सर्वात जास्त टोकन. |
temperaturetop_p | संख्या | नाही | नमुने नियंत्रण, जेथे मॉडेल त्यांना घेऊन जाते. |
toolstool_choiceparallel_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.formatresponse_format | वस्तू | नाही | संरचित उत्पादन, जे. एस. ओ. एन. योजना म्हणून किंवा json_object. |
metadata | वस्तू | नाही | या प्रश्नाला उत्तर द्यायचा आहे की, 16 लाखांची किंमत, 64 वर्ण आणि 512 लाखांची किंमत. |
stream | बुलियन | नाही | थोड्याच वेळाने थोड्या वेळाने थोड्या वेळाने थोड्या वेळाने थोड्या वेळाने थोड्या वेळाने थोड्या वेळाने थोड्या वेळाने थोड्या वेळाने थोड्या वेळाने थोड्या वेळाने. |
store | बुलियन | नाही | काहीही संग्रहीत नाही, आणि उत्तर नेहमी म्हणतो "store": false. |
previous_response_idconversationbackground | स्ट्रिंग, ऑब्जेक्ट, बूलियन | नाही | समर्थित नाहीः 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). - जर ते अजूनही काहीही जुळत नसेल, तर कुटुंब (ओपस, सॉनेट किंवा हाइकू) वापरले जाते, जोपर्यंत कॅटलॉगची आवृत्ती विचारलेल्या आवृत्तीसारखीच किंवा नवीन आहे.
- काहीही न जुळणारे नाव परत येते
404not_found_error.
| मैदान. | प्रकार | आवश्यक | वर्णन. |
|---|---|---|---|
model | स्ट्रिंग | होय | एक कॅटलॉग मॉडेल आयडी, किंवा एक एंथ्रोपिक मॉडेल नाव. |
max_tokens | अस्तित्वात | होय | लिहिण्यासाठी सर्वात जास्त टोकन. |
messages | आराखडा | होय | user आणि assistant रुग्णालयात, साथ text, image (base64 किंवा URL स्रोत) tool_use आणि tool_result ब्लॉक thinking यापूर्वीच्या टप्प्यांमधील ब्लॉक स्वीकारले जातात आणि सोडले जातात. |
system | स्ट्रिंग किंवा Array | नाही | सिस्टम पॅमट, एक स्ट्रिंग किंवा टेक्स्ट ब्लॉक म्हणून. |
temperaturetop_p | संख्या | नाही | नमुने नियंत्रण, जेथे मॉडेल त्यांना घेऊन जाते. top_k ते स्वीकारले आणि सोडले. |
stop_sequences | तारांची मांडणी | नाही | या प्रश्नाचे शेवटचे वर्णन करावे लागेल, तर प्रत्येक प्रश्नाचे शेवटचे वर्णन 256 वर्ण असतील. |
toolstool_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_typespeechया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);