XUSS. / AI API दस्तावेज़ पैनल
इस पृष्ठ पर

XUSS AI API

XUSS होस्टिंग प्लेटफ़ॉर्म के ऊपर एक प्रोडक्शन OpenAI-संगत API। किसी भी OpenAI SDK, एडिटर या चैट क्लाइंट को XUSS की ओर इंगित करें — कोई वेंडर लॉक-इन नहीं, एक कुंजी, XUSS बैलेंस से उपयोग के अनुसार भुगतान।

त्वरित शुरुआत

1. API कुंजी बनाएं पैनल में: API → API कुंजियाँ → कुंजी बनाएं। इसे कॉपी करें — यह केवल एक बार दिखाई जाती है। कुंजियाँ xsk- से शुरू होती हैं।

2. API कॉल करें किसी भी भाषा से — एक टैब चुनें:

curl https://xuss.us/v1/chat/completions \
  -H "Authorization: Bearer xsk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "xuss/kitsune",
    "messages": [{"role": "user", "content": "नमस्ते!"}]
  }'
from openai import OpenAI

client = OpenAI(base_url="https://xuss.us/v1", api_key="xsk-YOUR_KEY")

r = client.chat.completions.create(
    model="xuss/kitsune",
    messages=[{"role": "user", "content": "नमस्ते!"}],
)
print(r.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://xuss.us/v1", apiKey: "xsk-YOUR_KEY" });

const r = await client.chat.completions.create({
  model: "xuss/kitsune",
  messages: [{ role: "user", content: "नमस्ते!" }],
});
console.log(r.choices[0].message.content);
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	body := []byte(`{"model":"xuss/kitsune","messages":[{"role":"user","content":"नमस्ते!"}]}`)
	req, _ := http.NewRequest("POST", "https://xuss.us/v1/chat/completions", bytes.NewReader(body))
	req.Header.Set("Authorization", "Bearer xsk-YOUR_KEY")
	req.Header.Set("Content-Type", "application/json")

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	out, _ := io.ReadAll(res.Body)
	fmt.Println(string(out))
}
<?php
$ch = curl_init('https://xuss.us/v1/chat/completions');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer xsk-YOUR_KEY',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'model' => 'xuss/kitsune',
        'messages' => [['role' => 'user', 'content' => 'नमस्ते!']],
    ]),
]);
$res = json_decode(curl_exec($ch), true);
echo $res['choices'][0]['message']['content'], PHP_EOL;

बस इतना ही — XUSS बैलेंस से प्रति टोकन शुल्क लिया जाता है, कोई सदस्यता आवश्यक नहीं।

प्रमाणीकरण

हर अनुरोध को bearer टोकन चाहिए:

Authorization: Bearer xsk-YOUR_KEY
Content-Type: application/json

कुंजियाँ पैनल → API में बनाई और रद्द की जाती हैं। नियम:

कुंजी को कभी क्लाइंट-साइड कोड या सार्वजनिक रिपॉज़िटरी में उजागर न करें। कुंजी लीक हो जाए तो उसे पैनल में रद्द करें और नई बनाएं।

एंडपॉइंट्स

मेथडपथविवरण
GET/v1/modelsआपकी कुंजी के लिए उपलब्ध मॉडलों की सूची, मूल्य और क्षमताओं सहित
POST/v1/chat/completionsएक चैट कम्पलीशन बनाएं (स्ट्रीमिंग या नहीं)
GET/v1/toolsउन सर्वर टूल्स की सूची जो API आपके लिए चला सकता है
GET/v1/skillsउन संदर्भ कौशलों की सूची जो असिस्टेंट लोड कर सकता है

सभी Authorization: Bearer xsk-… स्वीकार करते हैं।

मॉडल

…

GET /v1/models API में मौजूद मॉडलों को कॉन्टेक्स्ट विंडो, विज़न समर्थन और प्रति-टोकन मूल्य के साथ लौटाता है:

{
  "object": "list",
  "data": [
    {
      "id": "xuss/kitsune",
      "object": "model",
      "owned_by": "xuss",
      "context_window": 1048576,
      "vision": true,
      "pricing": {
        "prompt": 0.00000029,
        "completion": 0.00000129,
        "input_cache_read": 0.0000000099
      }
    }
  ]
}

मूल्य USD प्रति टोकन में हैं। पैनल में दिखाई गई प्रति-मिलियन दर पाने के लिए 1,000,000 से गुणा करें।

मॉडल रूटिंग। एक ही मॉडल आइडी के पीछे, XUSS सेवा को तेज़ और उपलब्ध रखने के लिए अनुरोधों को अलग-अलग क्षमताओं पर भेज सकता है। यह आपके लिए अदृश्य है: अनुरोध किया गया model हमेशा वही होता है जो प्रतिक्रिया में लौटता है, और मॉडल अपना नाम जानता है। /v1/models में दिखाए मूल्य वही हैं जो आपसे लिए जाते हैं।

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

POST /v1/chat/completions

अनुरोध बॉडी

फ़ील्डप्रकारटिप्पणियाँ
modelstringआवश्यक — जैसे xuss/kitsune
messagesarrayआवश्यक — देखें Messages
streambooleantrue = Server-Sent Events
temperaturenumber0–2, डिफ़ॉल्ट 0.2
max_tokensintegerआउटपुट लंबाई सीमित करता है
max_completion_tokensintegermax_tokens का उपनाम
toolsarrayफ़ंक्शन/टूल परिभाषाएँ — देखें टूल्स
tool_choicestring/objectमॉडल को पास किया जाता है
response_formatobjectJSON मोड के लिए {"type":"json_object"}
top_p, stop, seed, presence_penalty, frequency_penalty, logit_bias, n, user, logprobs, top_logprobs—पास-थ्रू

messages OpenAI स्कीमा का पालन करता है (system, user, assistant, tool रोल; मल्टीमॉडल कंटेंट ऐरे)।

प्रतिक्रिया

{
  "id": "chatcmpl-3f9c1a...",
  "object": "chat.completion",
  "created": 1791000000,
  "model": "xuss/kitsune",
  "choices": [
    {
      "index": 0,
      "message": {"role": "assistant", "content": "नमस्ते! कैसे मदद करूँ?"},
      "finish_reason": "stop",
      "logprobs": null
    }
  ],
  "usage": {"prompt_tokens": 12, "completion_tokens": 7, "total_tokens": 19},
  "system_fingerprint": "xuss"
}

finish_reason stop, length या tool_calls होता है।

Messages

मानक OpenAI संदेश ऐरे। न्यूनतम एकल-टर्न अनुरोध:

{"model": "xuss/kitsune", "messages": [{"role": "user", "content": "नमस्ते"}]}

बहु-टर्न बातचीत — हर बार पूरा इतिहास भेजें:

{
  "model": "xuss/kitsune",
  "messages": [
    {"role": "system", "content": "तुम एक संक्षिप्त सहायक हो।"},
    {"role": "user", "content": "XUSS क्या है?"},
    {"role": "assistant", "content": "XUSS एक होस्टिंग प्लेटफ़ॉर्म है।"},
    {"role": "user", "content": "क्या इसमें AI API है?"}
  ]
}

स्ट्रीमिंग

Server-Sent Events पाने के लिए "stream": true सेट करें। प्रत्येक पंक्ति data: {json} है; स्ट्रीम data: [DONE] के साथ समाप्त होती है।

चंक्स ऐसे दिखते हैं:

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","created":…,"model":"xuss/kitsune","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}],"system_fingerprint":"xuss"}

data: {"id":"chatcmpl-…","choices":[{"index":0,"delta":{"content":"शांत "},"finish_reason":null}]}

data: {"id":"chatcmpl-…","choices":[{"index":0,"delta":{"content":"सर्वर "},"finish_reason":null}]}

data: {"id":"chatcmpl-…","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":9,"total_tokens":23}}

data: [DONE]

किसी भी भाषा में स्ट्रीम पढ़ें:

curl -N https://xuss.us/v1/chat/completions \
  -H "Authorization: Bearer xsk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"xuss/kitsune","stream":true,
       "messages":[{"role":"user","content":"सर्वरों पर एक हाइकु लिखें"}]}'
stream = client.chat.completions.create(
    model="xuss/kitsune",
    messages=[{"role": "user", "content": "सर्वरों पर एक हाइकु लिखें"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content if chunk.choices else None
    if delta:
        print(delta, end="", flush=True)
const stream = await client.chat.completions.create({
  model: "xuss/kitsune",
  messages: [{ role: "user", content: "सर्वरों पर एक हाइकु लिखें" }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
package main

import (
	"bufio"
	"bytes"
	"fmt"
	"net/http"
	"strings"
)

func main() {
	body := []byte(`{"model":"xuss/kitsune","stream":true,"messages":[{"role":"user","content":"सर्वरों पर एक हाइकु लिखें"}]}`)
	req, _ := http.NewRequest("POST", "https://xuss.us/v1/chat/completions", bytes.NewReader(body))
	req.Header.Set("Authorization", "Bearer xsk-YOUR_KEY")
	req.Header.Set("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()

	sc := bufio.NewScanner(res.Body)
	for sc.Scan() {
		line := sc.Text()
		if !strings.HasPrefix(line, "data: ") || strings.HasSuffix(line, "[DONE]") {
			continue
		}
		fmt.Println(line[6:]) // parse JSON, read choices[0].delta.content
	}
}
<?php
$ch = curl_init('https://xuss.us/v1/chat/completions');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer xsk-YOUR_KEY',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'model' => 'xuss/kitsune',
        'stream' => true,
        'messages' => [['role' => 'user', 'content' => 'सर्वरों पर एक हाइकु लिखें']],
    ]),
    CURLOPT_WRITEFUNCTION => function ($ch, $chunk) {
        foreach (explode("\n", $chunk) as $line) {
            if (str_starts_with($line, 'data: ') && !str_contains($line, '[DONE]')) {
                $j = json_decode(substr($line, 6), true);
                echo $j['choices'][0]['delta']['content'] ?? '';
            }
        }
        return strlen($chunk);
    },
]);
curl_exec($ch);
जब मॉडल तर्क (reasoning) का समर्थन करता है, तो स्ट्रीम चंक्स में delta में अतिरिक्त reasoning_content फ़ील्ड हो सकता है। मानक SDK इसे अनदेखा करते हैं और इसे आउटपुट के रूप में संभालना आवश्यक नहीं है।

सिस्टम प्रॉम्प्ट और पहचान

आपके system संदेशों का सम्मान किया जाता है। मॉडल अपना प्रदर्शित नाम भी जानता है और पूछे जाने पर कि यह कौन-सा मॉडल है, केवल उसी नाम से उत्तर देता है — यह कभी कोई अपस्ट्रीम प्रोवाइडर या रूट प्रकट नहीं करता।

{
  "model": "xuss/kitsune",
  "messages": [
    {"role": "system", "content": "तुम एक संक्षिप्त DevOps सहायक हो। बिंदुओं में उत्तर दो।"},
    {"role": "user", "content": "systemd सेवा को पुनः आरंभ कैसे करूँ?"}
  ]
}

विज़न (छवियाँ)

छवियों को OpenAI image_url कंटेंट भागों के रूप में भेजें (data URL या सार्वजनिक http(s) URL)। /v1/models में "vision": true वाले मॉडल ही छवियाँ स्वीकार करते हैं; बिना विज़न वाले मॉडल को छवि भेजने पर एक टेक्स्ट नोट लौटता है और मॉडल केवल टेक्स्ट पर उत्तर देता है।

r = client.chat.completions.create(
    model="xuss/kitsune",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "इस छवि में क्या है?"},
            {"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBORw0KGgo..."}},
        ],
    }],
)

सीमाएँ: अधिकतम 8 छवि भाग, प्रत्येक अधिकतम ~6 MB; छवियाँ टेक्स्ट बजट में नहीं गिनी जातीं।

फ़ंक्शन कॉलिंग

OpenAI-शैली tools भेजें। जब मॉडल कोई फ़ंक्शन कॉल करने का निर्णय लेता है, तो finish_reason tool_calls होता है और संदेश में tool_calls होता है।

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]

r = client.chat.completions.create(
    model="xuss/kitsune",
    messages=[{"role": "user", "content": "ताशकंद में मौसम?"}],
    tools=tools,
)

call = r.choices[0].message.tool_calls[0]
print(call.function.name, call.function.arguments)

फिर परिणाम को tool संदेश के रूप में वापस भेजें:

messages = [
    {"role": "user", "content": "ताशकंद में मौसम?"},
    r.choices[0].message,
    {"role": "tool", "tool_call_id": call.id, "content": '{"temp_c": 24, "sky": "clear"}'},
]
final = client.chat.completions.create(model="xuss/kitsune", messages=messages)

सर्वर टूल्स (वेब + कौशल)

प्रति अनुरोध ऑप्ट-इन। "xuss_tools": true (सभी) या जो चाहिए उनका ऐरे जोड़ें। तब XUSS इन टूल्स को सर्वर पर आपके लिए चलाता है — मॉडल उन्हें कॉल करता है, सर्वर निष्पादित करके आगे बढ़ता है, और आपको उसी प्रतिक्रिया में अंतिम उत्तर मिलता है। क्लाइंट-साइड लूप की आवश्यकता नहीं।

r = client.chat.completions.create(
    model="xuss/kitsune",
    xuss_tools=True,                       # या ["web_search", "read_skill"]
    messages=[{"role": "user",
               "content": "वेब पर Python का नवीनतम रिलीज़ खोजें और सारांश दें।"}],
)
print(r.choices[0].message.content)
{
  "model": "xuss/kitsune",
  "xuss_tools": true,
  "messages": [{"role": "user", "content": "https://example.com खोलें और पृष्ठ शीर्षक बताएँ।"}]
}
टूलक्या करता है
web_searchवेब खोज (SearXNG मेटासर्च): शीर्षक, URL और स्निपेट
fetch_urlसर्वर-साइड HTTP(S) URL लाता है और उसका टेक्स्ट लौटाता है (HTML टेक्स्ट में बदला जाता है)
browser_renderपृष्ठ को वास्तविक headless ब्राउज़र में खोलता है: HTTP स्थिति, शीर्षक, दृश्य टेक्स्ट, कंसोल त्रुटियाँ, विफल अनुरोध, लेआउट मेट्रिक्स, वैकल्पिक JS eval
read_skillनीचे दिए किसी संदर्भ कौशल (पूरी गाइड) को मॉडल के कॉन्टेक्स्ट में लोड करता है

ये केवल-पढ़ने योग्य हैं: फ़ाइलों, डेटाबेस, होस्टिंग या आपके खाते तक कोई पहुँच नहीं। चीज़ें बदलने वाले टूल्स (फ़ाइल प्रबंधन, DNS, डेटाबेस, आदि) आपके ही हाथों में रहते हैं और जान-बूझकर उपलब्ध नहीं कराए गए हैं।

उपलब्ध कौशल

read_skill इनमें से किसी का भी पूरा संदर्भ दस्तावेज़ कॉन्टेक्स्ट में लोड करता है — मॉडल को बस बताएँ कि कौन-सा (जैसे "product-design कौशल इस्तेमाल करें")।

कौशल idक्या कवर करता है
telegram-botsपूरा Telegram Bot API 10.3: हर मेथड/प्रकार, aiogram 3 उदाहरण, भुगतान/Stars, वेबहुक, प्रीमियम इमोजी/उपहार, रिच संदेश और स्ट्रीमिंग ड्राफ़्ट
product-designजान-बूझकर डिज़ाइन किए गए दिखने वाले साइट/पेज/गैलरी/UI: टोकन, स्लॉप-रोधी नियम, लेआउट, फोटो-वॉलपेपर गैलरी
cybersecurityसुरक्षित कोड लिखें और ऑडिट करें: इंजेक्शन/XSS/CSRF/IDOR, सीक्रेट प्रबंधन, बॉट सुरक्षा, घटना प्रतिक्रिया
telegram-miniappsTelegram WebApp: initData प्रमाणीकरण, थीम वेरिएबल, MainButton/BackButton, Stars, डिप्लॉयमेंट
shop-botपूरा Telegram स्टोर बॉट: कैटलॉग, कार्ट, ऑर्डर, एडमिन पैनल, डिलीवरी, भुगतान प्रवाह
paymentsClick/Payme/Paylov/Uzum + Crypto Pay + Telegram Stars: इनवॉइस, वेबहुक सत्यापन, आइडेम्पोटेंसी
php-webPHP साइट और WordPress: संरचना, PDO, प्रमाणीकरण/CSRF, टेम्पलेट, सुरक्षा, डिप्लॉयमेंट
ai-integrationआपके ऐप्स में LLM: चैट/स्ट्रीमिंग, RAG, प्रॉम्प्टिंग, लागत सीमा, API कुंजी सुरक्षा
python-backendप्रोडक्शन Python: बॉट, FastAPI/Flask, asyncio अनुशासन, DB पहुँच, run सेवाएँ, त्रुटि प्रबंधन
node-backendNode/TypeScript बैकेंड और बॉट: Express/Fastify/Telegraf, env, प्रोसेस प्रबंधन, त्रुटियाँ
databasesMySQL/PostgreSQL/SQLite: स्कीमा डिज़ाइन, इंडेक्स, माइग्रेशन, ट्रांज़ैक्शन, बैकअप
rest-apiAPI डिज़ाइन: प्रमाणीकरण, सत्यापन, पेजिनेशन, एक त्रुटि आकार, रेट लिमिट, वेबहुक हस्ताक्षर
deployment-opsइस होस्टिंग पर प्रोजेक्ट डिप्लॉय करें: डोमेन/DNS/SSL, रिवर्स प्रॉक्सी, पोर्ट, cron, बैकअप, लॉग
git-githubgit वर्कफ़्लो, डिप्लॉय कुंजियाँ, ऑटो-डिप्लॉय वेबहुक, सीक्रेट स्वच्छता, रोलबैक
scraping-automationनैतिक स्क्रैपर और वॉचर: संरचित स्रोत, बैकऑफ़, डिडुप्लिकेशन, शेड्यूलिंग, अलर्ट
seoतकनीकी SEO: शीर्षक, संरचित डेटा, साइटमैप, hreflang, इंडेक्सिंग (Google और Yandex)
media-pipelineइमेज/वीडियो पाइपलाइन: रीसाइज़, WebP, थंबनेल, कम्प्रेशन, ffmpeg प्रीव्यू
i18n-localizationuz/ru/en + RTL: स्ट्रिंग डिक्शनरी, संख्या/तिथि/बहुवचन प्रारूप, बॉट भाषा, hreflang
testing-qualityचलाने/सत्यापित/डीबग करने का अनुशासन, यूनिट टेस्ट, लिंटिंग, "हो गया" कहने से पहले समीक्षा की आदतें
analytics-monitoringuptime जाँच, त्रुटि ट्रैकिंग, दैनिक आँकड़े, गोपनीयता-सुरक्षित एनालिटिक्स और अलर्ट
legal-templatesprivacy/terms/refund पेज + सहमति + डेटा-हटाने के प्रवाह (व्यावहारिक आधार)
react-best-practicesReact/Next.js प्रदर्शन: वॉटरफ़ॉल, बंडल, रेंडरिंग, हाइड्रेशन, रीरेंडर
mobile-designनेटिव मोबाइल UX: प्लेटफ़ॉर्म पैटर्न, स्पर्श मनोविज्ञान, मोबाइल प्रदर्शन
senior-frontendसीनियर फ्रंटएंड इंजीनियरिंग: आर्किटेक्चर, कंपोनेंट, प्रदर्शन समीक्षा
senior-backendसीनियर बैकएंड इंजीनियरिंग: API/DB डिज़ाइन, स्केलिंग, कोड समीक्षा
senior-securityसुरक्षा आर्किटेक्चर, खतरा मॉडलिंग, क्रिप्टो कार्यान्वयन, ऑडिट
ui-design-systemडिज़ाइन टोकन, कंपोनेंट, हैंडऑफ़; ब्रांड रंग से टोकन सिस्टम बनाएं
tgbot-cloneTelegram बॉट की सुविधाओं को सुरक्षित रूप से क्लोन करें: जाँच, फ़ीचर मैप, कार्यान्वयन और परीक्षण
product-layersस्तरित उत्पाद/UX विधि: आवश्यकताएँ → रणनीति → अवधारणात्मक मॉडल → सतह
find-skillsएजेंट प्रोजेक्ट्स के लिए पुनः प्रयोग योग्य कौशल खोजें और इंस्टॉल करें

संरचित आउटपुट (JSON मोड)

response_format को {"type":"json_object"} पर सेट करें और मॉडल से JSON निकालने को कहें। उत्तर का content एक JSON स्ट्रिंग होता है।

r = client.chat.completions.create(
    model="xuss/kitsune",
    response_format={"type": "json_object"},
    messages=[{"role": "user",
               "content": "a और b कुंजियों वाला JSON लौटाएँ, a=1, b=2"}],
)
import json
print(json.loads(r.choices[0].message.content))  # {'a': 1, 'b': 2}
हमेशा सुरक्षात्मक रूप से पार्स करें और प्रॉम्प्ट में वांछित सटीक आकार बताएँ।

बिलिंग और टोकन गणना

लागत सूत्र (प्रति अनुरोध):

cost = cache_miss_tokens × price_in
     + cache_hit_tokens  × price_cache
     + completion_tokens × price_out

(कीमतें प्रति टोकन; प्रति-मिलियन के लिए 1,000,000 से विभाजित करें।)

रेट लिमिट और कोटा

दायराडिफ़ॉल्ट
प्रति उपयोगकर्ता300 अनुरोध / मिनट
प्रति API कुंजी600 अनुरोध / मिनट

सीमा से अधिक होने पर 429 लौटता है, Retry-After अर्थ के साथ (पीछे हटें और पुनः प्रयास करें)। अनुरोध बॉडी की सीमा 25 MB है।

त्रुटियाँ

त्रुटियाँ OpenAI त्रुटि प्रारूप का पालन करती हैं:

{
  "error": {
    "message": "Model 'xuss/foo' not found",
    "type": "invalid_request_error",
    "param": "model",
    "code": "model_not_found"
  }
}
स्थितिtype / codeअर्थ
400invalid_request_errorअमान्य अनुरोध (अनुपस्थित/अमान्य फ़ील्ड, अपार्सेबल बॉडी)
401authentication_error · invalid_api_key, key_expiredAPI कुंजी अनुपस्थित, अमान्य या समाप्त
402insufficient_quota · key_spend_limit_reachedबैलेंस खाली या कुंजी खर्च सीमा तक पहुँची
403permission_errorआपके खाते के लिए API सक्षम नहीं, या खाता अक्षम
404invalid_request_error · model_not_foundअज्ञात मॉडल
413invalid_request_errorअनुरोध बॉडी बहुत बड़ी (> 25 MB)
422invalid_request_errorअमान्य अनुरोध पेलोड (स्कीमा)
429rate_limit_error · rate_limit_exceededरेट लिमिट पार — धीमे करें
500 / 502api_error · upstream_errorअस्थायी अपस्ट्रीम समस्या — बैकऑफ़ के साथ पुनः प्रयास करें
503api_error · service_unavailableAI API इस समय अक्षम है

param तब सेट होता है जब त्रुटि किसी विशिष्ट अनुरोध फ़ील्ड से संबंधित हो। मानक SDK सीधे error.message (और error.code) पढ़ते हैं।

यदि स्ट्रीम पहले ही शुरू हो चुकी हो, तो अस्थायी विफलताएँ "The model is temporarily unavailable…" से शुरू होने वाले सामान्य असिस्टेंट संदेश के रूप में भी दी जाती हैं।

OpenAI-संगत टूल्स के साथ उपयोग

कोई भी क्लाइंट जो कस्टम OpenAI बेस URL का समर्थन करता है, काम करता है। सेट करें:

उदाहरण:

# open-webui / LibreChat / Cursor / Cline / Continue / LangChain:
#   set the OpenAI base URL to https://xuss.us/v1 and paste your key

पर्यावरण-चर शैली (कई टूल इनका पालन करते हैं):

export OPENAI_BASE_URL="https://xuss.us/v1"
export OPENAI_API_KEY="xsk-YOUR_KEY"

LangChain (Python):

from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="xuss/kitsune", base_url="https://xuss.us/v1",
                 api_key="xsk-YOUR_KEY")
print(llm.invoke("नमस्ते").content)

उन्नत पैरामीटर

जब समर्थित हों तो स्वीकार किए जाते हैं और मॉडल को पास किए जाते हैं: top_p, stop, seed, presence_penalty, frequency_penalty, logit_bias, user, n, parallel_tool_calls, tool_choice.

सामान्य प्रश्न

क्या मुझे अलग सदस्यता चाहिए? नहीं। आप XUSS बैलेंस से प्रति टोकन भुगतान करते हैं।

कौन-से मॉडल आइडी उपयोग करूँ? बिल्कुल वही जो GET /v1/models में हैं (जैसे xuss/kitsune)। "Kitsune" जैसे प्रदर्शित नाम पैनल में दिखाए जाते हैं।

क्या मैं छवियाँ भेज सकता हूँ? हाँ, "vision": true वाले मॉडलों को।

क्या मेरा डेटा प्रशिक्षण के लिए उपयोग होता है? नहीं — अनुरोध आपका उत्तर बनाने के लिए मॉडल को प्रॉक्सी किए जाते हैं और प्रशिक्षण के लिए उपयोग नहीं होते।

यदि कोई प्रोवाइडर धीमा या बंद हो तो क्या होगा? अनुरोध पारदर्शी रूप से वैकल्पिक क्षमता पर पुनः प्रयास किया जाता है; मॉडल आइडी और मूल्य वही रहते हैं।

कुंजी कैसे बदलूँ? नई कुंजी बनाएं, अपने ऐप्स उस पर स्विच करें, फिर पुरानी को पैनल में रद्द करें।

सहायता