AI ایجنٹس کے لیے: سیٹ اپ کی مرحلہ وار ہدایات — /docs/agents.md، دستاویزات کا انڈیکس — /llms.txt۔
API حوالہ
گیٹ وے کو بھیجی جانے والی درخواستوں سے متعلق سب کچھ: پروٹوکول، پتے، کیز اور پیرامیٹرز۔ ذیل میں — اسٹریمنگ، ٹول کالنگ، ریزننگ، پلگ انز اور جواب میں درخواست کی لاگت۔
پروٹوکولز اور پتے#
گیٹ وے OpenAI اور Anthropic دونوں فارمیٹ قبول کرتا ہے۔ OpenAI SDK کے لیے بیس URL — https://gate.joingonka.ai/v1، Anthropic SDK کے لیے — https://gate.joingonka.ai۔ تمام پروٹوکول ایک کلید اور ایک بیلنس پر کام کرتے ہیں: کسی بھی فارمیٹ کی درخواست اسی راستے سے جاتی ہے۔
| میتھڈ اور پاتھ | فارمیٹ | کس لیے | خصوصیات |
|---|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | چیٹ، ایجنٹس، ٹول کالز | بنیادی راستہ: باقی فارمیٹ گیٹ وے اسی میں بدلتا ہے۔ |
POST /v1/messages | Anthropic Messages | Claude Code اور Anthropic SDK | بیس URL /v1 کے بغیر؛ claude-* ماڈلز تجویز کردہ سے بدل جاتے ہیں؛ max_tokens فیلڈ لازمی ہے۔ |
POST /v1/responses | OpenAI Responses | Codex CLI اور نئے OpenAI SDK | بغیر حالت: ہر درخواست میں پوری تاریخ بھیجیں۔ |
POST /v1/completions | OpenAI Completions (legacy) | ایڈیٹرز میں آٹو کمپلیٹ اور کوڈ کی تدوین | suffix پرامپٹ میں اشارے کے طور پر ماڈل کو بھیجا جاتا ہے؛ جواب میں logprobs: null۔ |
POST /v1/embeddings | OpenAI Embeddings | متن کی ویکٹر نمائندگی | جواب 501: نیٹ ورک میں ایمبیڈنگ ماڈلز نہیں ہیں۔ |
حوالہ جاتی پتے#
بغیر کلید جواب دیتے ہیں۔ کانٹیکسٹ اور اسٹیٹس کے ساتھ ماڈلز کا جدول — ماڈلز حصے میں۔
| میتھڈ اور پاتھ | تفصیل |
|---|---|
GET /v1/models | ماڈلز کی فہرست: کانٹیکسٹ، قیمتیں، معاون پیرامیٹرز — OpenRouter فارمیٹ میں فیلڈز۔ |
GET /v1/models/{model} | ایک ماڈل کا کارڈ؛ id میں سلیش — جوں کا توں یا %2F۔ چھپا یا نامعلوم ماڈل — 404 model_not_found۔ |
GET /v1/capabilities | گیٹ وے کی صلاحیتیں: پیرامیٹرز، پروٹوکولز، پلگ انز، لاگت کے فیلڈز اور حدود (limits)۔ |
GET /v1/plugins | پلگ انز: id اور نام۔ |
GET /v1/network-status | نیٹ ورک کے ماڈلز کی حالت: دستیابی، تاخیر، اپ ٹائم۔ |
GET /v1/nodes | نوڈ پول کا خلاصہ: کل، فعال اور قرنطینہ میں کتنے۔ |
GET /v1/web-search/engines | ویب سرچ فعال ہے یا نہیں اور اس کے انجنز کی حالت۔ |
Anthropic Messages#
- بیس URL —
https://gate.joingonka.ai: SDK خود/v1/messagesشامل کرے گا۔ - کلید —
x-api-keyہیڈر میں (Anthropic SDK اسی طرح بھیجتا ہے) یاAuthorization: Bearerمیں۔ claude-*ماڈلز گیٹ وے تجویز کردہ ماڈل (MiniMaxAI/MiniMax-M2.7) سے بدل دیتا ہے؛ جواب کےmodelفیلڈ میں وہی نام رہتا ہے جو کلائنٹ نے بھیجا تھا۔max_tokensلازمی ہے، جیسا کہ Anthropic API میں؛ ماڈل کی حد سے زیادہ ہو تو کاٹ دیا جاتا ہے۔- اسٹریم — Anthropic ایونٹس؛ وقفوں میں گیٹ وے
event: pingبھیجتا ہے، خرابیevent: errorایونٹ میں آتی ہے۔ - ماڈل کی سوچ جواب میں شامل نہیں ہوتی:
thinkingبلاکس نہیں ہوتے۔ - بلٹ اِن
web_searchٹول گیٹ وے کا ویب سرچ پلگ ان چلاتا ہے — دیکھیں پلگ انز حصہ۔ - ٹوکنز کی گنتی (
/v1/messages/count_tokens) نہیں ہے — جواب404۔
Claude Code کو انسٹالر سے ترتیب دینا آسان ہے — ٹولز جوڑنا۔ دستی طور پر — ماحول کے متغیرات سے؛ ANTHROPIC_MODEL نیٹ ورک کا ماڈل مقرر کرتا ہے۔
export ANTHROPIC_BASE_URL=https://gate.joingonka.ai
export ANTHROPIC_AUTH_TOKEN=$JOINGONKA_API_KEY
export ANTHROPIC_MODEL=MiniMaxAI/MiniMax-M2.7
claudecurl https://gate.joingonka.ai/v1/messages \
-H "x-api-key: $JOINGONKA_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "What is Gonka?"}]
}'OpenAI Responses#
- گیٹ وے جوابات محفوظ نہیں کرتا:
inputمیں پوری تاریخ بھیجیں۔previous_response_idاورconversationفیلڈز — کوڈ کے ساتھ400خرابی۔ storeقبول کیا جاتا ہے اور کچھ تبدیل نہیں کرتا۔- ٹولز:
functionاورweb_search— آخری کو ویب سرچ پلگ ان چلاتا ہے۔ دیگر بلٹ اِن ٹولز گیٹ وے نظر انداز کر دیتا ہے اور درخواست ان کے بغیر مکمل ہوتی ہے؛tool_choiceسے ایسا ٹول طلب کرنا —400خرابی۔ input_imageاورinput_fileحصے —400خرابی: نیٹ ورک کے ماڈلز متن پر کام کرتے ہیں۔- اسٹیٹ روٹس (
GET /v1/responses/{id},DELETE /v1/responses/{id},GET /v1/responses/{id}/input_items,POST /v1/responses/{id}/cancel,POST /v1/responses/compact) کوڈ کے ساتھ404دیتے ہیں — گیٹ وے جوابات محفوظ نہیں کرتا۔ - Codex CLI:
model_providerمیں اپنا پرووائیڈر id دیں (openai نہیں) — تب Codex خود تاریخ سکیڑتا ہے،/v1/responses/compactکے بغیر۔
Legacy Completions#
prompt— ایک اسٹرنگ یا ایک اسٹرنگ کی ایرے؛ جواب —choices[].textمیں۔ متعدد پرامپٹس یا متن کے بجائے ٹوکنز —400خرابی۔suffixپرامپٹ میں اشارے کے طور پر ماڈل کو بھیجا جاتا ہے: نیٹ ورک میں حقیقی mid-fill نہیں ہے۔- جواب میں
logprobs: null؛best_ofنظر انداز؛echoکام کرتا ہے۔
کلیدیں اور اجازت#
کلید Authorization: Bearer jg-… یا x-api-key: jg-… ہیڈر میں بھیجی جاتی ہے — تمام پتوں پر۔ کلید gate.joingonka.ai/keys صفحے پر رجسٹریشن کے بعد بنائی جاتی ہے۔
| پری فکس | کلید | ماڈلز کو درخواستیں |
|---|---|---|
jg- | عام اکاؤنٹ کلید | ہاں |
gc- | ذیلی کلید: اپنی حدود، خرچ مالک کے بیلنس سے | ہاں |
gm- | مینیجمنٹ کلید: صرف ذیلی کلیدوں کا انتظام | نہیں — 403 forbidden |
- ڈیش بورڈ میں ہر کلید کے لیے روزانہ، ماہانہ اور کل خرچ کی حد مقرر کی جا سکتی ہے؛ حد سے تجاوز —
402 child_key_limit_exceeded۔ - فی کلید فی منٹ درخواستوں کی تعداد محدود ہے — اقدار حدود حصے میں۔
- بغیر کلید صرف سائٹ کی ڈیمو چیٹ کام کرتی ہے: اپنے کوڈ سے بغیر کلید درخواست
is_demoکے ساتھ402پائے گی۔ - کلیدوں کا انتظام صرف ڈیش بورڈ میں ہوتا ہے: API کلید کے ساتھ
/api/keysقابل رسائی نہیں۔ کلید کا بیلنس اور خرچ — API اکاؤنٹ۔
کلید ایک راز ہے: اسے ریپوزٹری یا فرنٹ اینڈ کوڈ میں محفوظ نہ کریں، انوائرنمنٹ ویری ایبلز کے ذریعے پاس کریں۔
مثالیں#
ایک ہی درخواست چار SDKs میں۔ ماڈل — تجویز کردہ (MiniMaxAI/MiniMax-M2.7)، کلید — انوائرنمنٹ ویری ایبل JOINGONKA_API_KEY سے۔
import os
from openai import OpenAI
client = OpenAI(
base_url="https://gate.joingonka.ai/v1",
api_key=os.environ["JOINGONKA_API_KEY"],
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[{"role": "user", "content": "What is Gonka?"}],
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://gate.joingonka.ai/v1",
apiKey: process.env.JOINGONKA_API_KEY,
});
const response = await client.chat.completions.create({
model: "MiniMaxAI/MiniMax-M2.7",
messages: [{ role: "user", content: "What is Gonka?" }],
});
console.log(response.choices[0].message.content);curl https://gate.joingonka.ai/v1/chat/completions \
-H "Authorization: Bearer $JOINGONKA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [{"role": "user", "content": "What is Gonka?"}]
}'import os
import anthropic
client = anthropic.Anthropic(
base_url="https://gate.joingonka.ai",
api_key=os.environ["JOINGONKA_API_KEY"],
)
message = client.messages.create(
model="MiniMaxAI/MiniMax-M2.7",
max_tokens=1024,
messages=[{"role": "user", "content": "What is Gonka?"}],
)
print(message.content[0].text)اسٹریمنگ جواب#
import os
from openai import OpenAI
client = OpenAI(base_url="https://gate.joingonka.ai/v1", api_key=os.environ["JOINGONKA_API_KEY"])
stream = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[{"role": "user", "content": "What is Gonka?"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://gate.joingonka.ai/v1", apiKey: process.env.JOINGONKA_API_KEY });
const stream = await client.chat.completions.create({
model: "MiniMaxAI/MiniMax-M2.7",
messages: [{ role: "user", content: "What is Gonka?" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}curl -N https://gate.joingonka.ai/v1/chat/completions \
-H "Authorization: Bearer $JOINGONKA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [{"role": "user", "content": "What is Gonka?"}],
"stream": true
}'import os
import anthropic
client = anthropic.Anthropic(base_url="https://gate.joingonka.ai", api_key=os.environ["JOINGONKA_API_KEY"])
with client.messages.stream(
model="MiniMaxAI/MiniMax-M2.7",
max_tokens=1024,
messages=[{"role": "user", "content": "What is Gonka?"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)درخواست کے پیرامیٹرز#
POST /v1/chat/completions کے وہ پیرامیٹرز جنہیں گیٹ وے خود یقینی بناتا ہے — صلاحیتوں کے جواب میں supported_parameters کی فہرست:
| پیرامیٹر | تفصیل |
|---|---|
temperature | جواب کی بے ترتیبی: جتنا زیادہ، اتنا متنوع۔ |
top_p | مجموعی احتمال کے مطابق ٹوکن کا انتخاب۔ |
top_k | k سب سے زیادہ ممکنہ ٹوکنز میں سے انتخاب۔ |
min_p | سب سے زیادہ ممکنہ ٹوکن کے مقابلے کم امکان والے ٹوکنز کو خارج کرنا۔ |
frequency_penalty | بار بار تکرار پر جرمانہ۔ |
presence_penalty | پہلے سے آنے والے ٹوکنز پر جرمانہ۔ |
repetition_penalty | تکرار کے خلاف ضارب۔ |
stop | وہ اسٹرنگز جن پر جنریشن رک جاتی ہے۔ |
seed | دوبارہ پیدا کرنے کے لیے سیڈ۔ |
max_tokens | جواب کے ٹوکنز کی حد؛ ماڈل کی چھت سے زیادہ ہو تو — چھت تک کاٹ دیا جاتا ہے۔ |
max_completion_tokens | max_tokens کا دوسرا نام: گیٹ وے قدر کو اس میں منتقل کرتا ہے۔ |
tools | وہ فنکشنز جو ماڈل کال کر سکتا ہے، OpenAI فارمیٹ میں۔ |
tool_choice | فنکشن کال کرنا ہے یا نہیں: ماڈل کی پسند، کبھی نہیں، لازمی یا کوئی مخصوص۔ |
response_format | ساختی جواب: json_object یا json_schema۔ |
temperatureکے بغیر گیٹ وے0.7لگاتا ہے۔max_tokensکے بغیر گیٹ وے ماڈل کی ڈیفالٹ لگاتا ہے: اسٹریم کے بغیر — کم، اسٹریم میں — ماڈل کی چھت۔ ماڈل کے مطابق اعداد — حدود سیکشن میں۔
نیٹ ورک میں جوں کا توں پاس ہوتے ہیں#
reasoning_effort, reasoning, enable_thinking, chat_template_kwargs, thinking_token_budget, min_tokens, logit_bias, n, parallel_tool_calls, extra_body۔ گیٹ وے انہیں چیک نہیں کرتا: نیٹ ورک کی فہرست سے باہر قدر — api_error قسم کی 400 غلطی۔
نیٹ ورک میں پاس نہیں ہوتے#
باقی فیلڈز گیٹ وے قبول کرتا ہے مگر نیٹ ورک میں پاس نہیں کرتا — مثلاً، user, metadata, store, logprobs, top_logprobs, thinking, stream_options, web_search_options۔ اسٹریم میں usage ہمیشہ آتا ہے۔
اسٹریمنگ#
stream: true— SSE ایونٹس کے طور پر جواب؛ آخری ایونٹ —data: [DONE]۔- اختتام سے پہلے
usageوالا چنک آتا ہے — ہمیشہ،stream_optionsکے بغیر بھی۔ - وقفے میں گیٹ وے ہر 15 سیکنڈ بعد
: keep-aliveتبصرہ بھیجتا ہے — SSE کلائنٹس اسے نظر انداز کرتے ہیں۔ - جب تک اسٹریم نہیں کھلا، انکار عام جواب کوڈ میں آتا ہے؛ کھلنے کے بعد —
joingonka-errorچنک میں۔ delta.tool_callsمیں — فی چنک ایک کال: نیٹ ورک میں جڑی ہوئی کالوں کو گیٹ وے کاٹ کر الگ کرتا ہے۔
data: {"object":"chat.completion.chunk","model":"MiniMaxAI/MiniMax-M2.7","choices":[{"index":0,"delta":{"content":"Hi"},"finish_reason":null}]}
data: {"object":"chat.completion.chunk","model":"MiniMaxAI/MiniMax-M2.7","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: {"object":"chat.completion.chunk","model":"MiniMaxAI/MiniMax-M2.7","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":2,"total_tokens":14}}
data: [DONE]گیٹ وے کے سروس چنکس#
انہیں id فیلڈ سے پہچانا جا سکتا ہے:
id | کب اور اندر کیا ہے |
|---|---|
joingonka-error | اسٹریم کھلنے کے بعد ناکامی: error فیلڈ، پھر [DONE] کے بغیر رابطہ منقطع۔ |
joingonka-stream-stalled | نیٹ ورک قابل اجازت وقفے سے زیادہ خاموش رہا: اسٹریم finish_reason: stop کے ساتھ بند ہوتا ہے۔ |
joingonka-stream-unfinished | نیٹ ورک نے جنریشن کاٹ دی: finish_reason: length — اگلی درخواست سے جاری رکھیں۔ |
joingonka-citations | ویب سرچ کے ذرائع delta.annotations میں — اختتام سے پہلے۔ |
joingonka-meta | لاگت اور ٹائمنگ — صرف x-joingonka-meta: 1 ہیڈر کے ساتھ۔ |
دیگر پروٹوکولز میں اسٹریم#
- Anthropic Messages: ایونٹس
message_startسےmessage_stopتک، وقفے میںevent: ping، ناکامی —event: error۔ - OpenAI Responses: ایونٹس
response.*، ناکامی —response.failed۔ - Legacy Completions: ناکامی پر —
data: {"error": …}، پھر[DONE]۔
ٹول کالنگ#
- OpenAI فارمیٹ:
toolsاورtool_choice۔ پرانا فارمیٹfunctionsاورfunction_callبھی قبول کیا جاتا ہے — جواب اسی میں آئے گا۔ - اسٹریم میں — فی چنک ایک کال: جو کلائنٹس صرف پہلا آئٹم پڑھتے ہیں، کالیں نہیں کھوتے۔
- وہ ہسٹری جس پر نیٹ ورک
400غلطی دیتا، گیٹ وے اسے درست کرتا ہے:developerرولsystemبن جاتا ہے، خالی اور مکرر کال id منفرد ملتی ہیں،argumentsبطور آبجیکٹ JSON اسٹرنگ بنتا ہے، گمشدہtypeمکمل ہوتا ہے، بلا نام کال نتیجے سمیت ہٹا دی جاتی ہے۔ - وہ کال جو ماڈل نے متن میں مارک اپ سے لکھی، گیٹ وے اسے
tool_callsمیں منتقل کرتا ہے؛ ٹولز کے بغیر درخواست کے جواب میں جھوٹی کالیں ہٹا دیتا ہے۔ - آرگیومنٹس کے بیچ جنریشن رک گئی —
tool_callsنہیں،finish_reason: lengthآئے گا: جواب کی حد بڑھائیں۔
{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [{"role": "user", "content": "What is the weather in Paris?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
}JSON-Schema کی پابندیاں#
ٹول اسکیماز اور response_format کو نیٹ ورک گرامر میں کمپائل کرتا ہے؛ ریگولر ایکسپریشنز — RE2 انجن سے۔ گیٹ وے اسکیمہ کو نیٹ ورک کے قبول کرنے والی شکل میں لاتا ہے:
$refاپنی جگہ پھیل جاتے ہیں،$defsاورdefinitionsسیکشنز ہٹا دیے جاتے ہیں؛ ریکرسیو حوالہ بلا پابندی اسکیمہ بن جاتا ہے۔- RE2 میں نہ ہونے والی ساختوں والا
pattern(لک آہیڈ اور لک بہائنڈ، بیک ریفرنسز، ایٹامک گروپس، پوسیسیو کوانٹیفائرز) ہٹا دیا جاتا ہے؛ 1000 سے زیادہ تکرار 1000 تک کم کی جاتی ہے۔ - کانسٹینٹس سے
anyOfاورoneOfenumمیں سمٹ جاتے ہیں؛ اگر ناقابلِ سمٹ شاخیں 16 سے زیادہ ہوں، یونین ہٹا دی جاتی ہے۔
اسکیمہ اصل سے نرم ہو سکتا ہے — اپنی طرف کال آرگیومنٹس کی جانچ کریں۔
ساختی جواب#
response_format: {"type": "json_object"} — جواب درست JSON، {"type": "json_schema", "json_schema": {"name": …, "schema": …}} — اوپر دی گئی پابندیوں کے ساتھ آپ کے اسکیمہ کے مطابق۔ اسٹریم کے بغیر کٹا ہوا JSON response-healing پلگ ان درست کرتا ہے۔
{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [{"role": "user", "content": "Name three planets."}],
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "planets",
"schema": {
"type": "object",
"properties": {"planets": {"type": "array", "items": {"type": "string"}}},
"required": ["planets"]
}
}
}
}ریزننگ#
- ماڈل کی ریزننگ جواب سے الگ آتی ہے:
message.reasoning_content، اسٹریم میں —delta.reasoning_content۔reasoningفیلڈ گیٹ وے اس فارمیٹ میں تبدیل کرتا ہے۔ - ریزننگ
max_tokensخرچ کرتی ہے: چھوٹی حد پر جواب متن سے پہلے ہی کٹ جاتا ہے (finish_reason: length)۔ - اگر جواب کا متن نہ ہو مگر ریزننگ ہو، گیٹ وے اسے
contentمیں منتقل کرتا ہے — ٹول کال والے جوابات کے سوا۔ reasoning_effortاورreasoning.effortنیٹ ورک میں پاس ہوتے ہیں۔ اگر ماڈل میں صرف دو موڈز ہوں، گیٹ وے قدر ان میں ڈھالتا ہے:noneاورminimal—lowمیں، بلند — ڈیفالٹ ریزننگ میں۔- اگر نوڈ نے قدر مسترد کی، گیٹ وے اسے کم کرتا ہے (
maxاورxhigh→high،minimal→low، ورنہ فیلڈ ہٹا دیتا ہے) اور درخواست دہراتا ہے۔ /v1/messagesمیں ریزننگ پاس نہیں ہوتی —thinkingبلاکس نہیں۔
پلگ انز#
پلگ انز plugins فیلڈ سے چالو ہوتے ہیں — اسٹرنگز کی ارے یا آپشنز والے آبجیکٹس۔ فہرست — GET /v1/plugins۔
| پلگ ان | تفصیل | شرائط |
|---|---|---|
response-healing | ماڈل کے جواب میں کٹے ہوئے JSON کو درست کرتا ہے۔ | صرف اسٹریم کے بغیر اور اگر جواب { یا [ سے شروع ہو۔ |
privacy-sanitization | متنی پیغامات میں email، IPv4، کارڈ نمبرز، JWT، 64 حروف والی hex کلیدیں اور sk-…, gw_…, gm-…, Bearer … جیسی کلیدیں ماسک کرتا ہے۔ | موڈ — privacy_mode فیلڈ: redact (ڈیفالٹ) یا tokenize۔ |
file-parser | PDF سے متن نکالتا ہے۔ | اگر پیغام کا متن مکمل طور پر base64 میں PDF ہو: data:application/pdf;base64,… یا بغیر پریفکس۔ |
web | ویب سرچ: نتائج درخواست میں شامل ہو جاتے ہیں، جواب کو ذرائع کے لنکس ملتے ہیں۔ | privacy-sanitization کے ساتھ — 400 غلطی۔ |
ویب سرچ#
- آپشنز:
max_results— 1 سے 10 تک، ڈیفالٹ 5؛engine— انجن کا اشارہ؛search_prompt— نتائج سے پہلے اپنا متن؛enabled: false— سرچ بند کریں۔ - ذرائع —
message.annotations[].url_citationمیں؛ اسٹریم میں — اختتام سے پہلےjoingonka-citationsچنک میں۔ mode: "agent"— ماڈل خود فیصلہ کرتا ہے کہ سرچ کرنی ہے یا نہیں اور کیا؛max_searches— 1 سے 5 تک، ڈیفالٹ 3۔- بلنگ: عام موڈ میں — صرف ٹوکنز (سرچ کے نتائج ان پٹ ٹوکنز میں شامل ہوتے ہیں)؛ ایجنٹ موڈ میں — تمام مراحل کے ٹوکنز کے علاوہ ہر مکمل سرچ پر 1000 nGNK (
x_joingonka.web_search_surcharge_ngonka)۔ - Anthropic Messages اور OpenAI Responses میں بلٹ اِن
web_searchٹول ایجنٹ موڈ میں یہی پلگ اِن چلاتا ہے۔
{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [{"role": "user", "content": "What is new in the Gonka network?"}],
"plugins": [{"id": "web", "max_results": 5}]
}{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [{"role": "user", "content": "What is new in the Gonka network?"}],
"plugins": [{"id": "web", "mode": "agent", "max_searches": 3}]
}لاگت اور سروس فیلڈز#
نان اسٹریم جواب usage میں درخواست کی لاگت رکھتا ہے:
| فیلڈ | تفصیل |
|---|---|
usage.cost_gnk | GNK میں درخواست کی لاگت |
usage.platform_fee_gnk | اس میں سے — پلیٹ فارم کا مارجن، GNK |
usage.total_cost_gnk | GNK میں کٹوتی کا کل |
usage.total_cost_usd | GNK کے موجودہ ریٹ پر ڈالر میں کل |
- اسٹریم میں
usageصرف ٹوکنز رکھتا ہے؛ لاگت —joingonka-metaچنک میں۔ x-joingonka-meta: 1ہیڈر کے ساتھPOST /v1/chat/completionsجوابx_joingonkaبلاک وصول کرتا ہے: لاگت (cost_ngonka)، کٹوتی کے بعد بیلنس (balance_ngonka، صرف نان اسٹریم میں) اور ٹائمنگز (ttft_ms)۔ دیگر پروٹوکولز یہ بلاک نہیں دیتے۔x-request-id— درخواست کا شناخت کنندہ: سپورٹ سے رابطے میں اسے شامل کریں۔Retry-After429کے ساتھ آتا ہے: دوبارہ کوشش سے پہلے اتنے سیکنڈ انتظار کریں۔X-TitleاورHTTP-Refererہیڈرز (OpenRouter کی طرح) گیٹ وے کو آپ کی ایپ پہچاننے میں مدد دیتے ہیں؛ ان کا متن محفوظ نہیں کیا جاتا۔
حدود#
- تصاویر:
image_urlحصے متنی پلیس ہولڈر سے بدل دیے جاتے ہیں — ماڈل تصویر نہیں دیکھ سکتا (صلاحیتوں میںvision: false)۔ - براؤزر سے API صرف JoinGonka ڈومینز سے قابل رسائی ہے (
Originکی جانچ): اپنے سرور سے کال کریں، کلید کبھی فرنٹ اینڈ میں نہ رکھیں۔ - ایمبیڈنگز:
POST /v1/embeddingsجواب دیتا ہے501— نیٹ ورک میں کوئی ایمبیڈنگ ماڈل نہیں۔ - ایرر کوڈز، حدود اور ٹائم آؤٹس — خرابیاں اور حدود سیکشن میں۔