NoTrack API — حوالہ

ایک OpenAI کے مطابق اینڈ پوائنٹ، ایک ماڈل، ایک کی۔ اگر آپ کا کوڈ پہلے ہی /v1/chat/completions سے بات کر رہا ہے، تو بیس URL اور کی بدل دیں، یہ ہم سے بات کرنے لگے گا۔

بیس URL اور توثیق

Base URL:  https://api.notrack.ai/v1
Header:    Authorization: Bearer sk-notrack-…

کیز کیز کا صفحہ پر بنائی جاتی ہیں۔ ایک کی صرف ایک بار، بننے کے وقت دکھائی جاتی ہے؛ ہم اس کا ہیش اور آخری چھ حروف محفوظ رکھتے ہیں۔ اسے صرف HTTPS پر اور صرف Authorization ہیڈر میں بھیجیں — کبھی URL میں نہیں۔

سب کچھ JSON (Content-Type: application/json) ہے۔ رسپانسز OpenAI اسکیما استعمال کرتے ہیں، اس لیے سرکاری openai SDKs اور ہر OpenAI کے مطابق کلائنٹ بغیر تبدیلی کے کام کرتا ہے۔

ماڈلز

GET /v1/models

{ "object": "list",
  "data": [ { "id": "notrack-uncensored", "object": "model", "owned_by": "notrack" } ] }

صرف ایک ماڈل ہے، notrack-uncensored: ہمارا اپنا ماڈل، ہمارے اپنے GPU سرورز پر چلایا جاتا ہے۔ آپ model کے طور پر جو کچھ بھیجیں، وہ اسی کی طرف بھیجا جاتا ہے؛ عوامی id استعمال کریں تاکہ آپ کے لاگز ہمارے لاگز سے میل کھائیں۔

چیٹ کمپلیشنز

POST /v1/chat/completions

{
  "model": "notrack-uncensored",
  "messages": [
    { "role": "system",    "content": "You are Mira, a wry bartender in 1920s Berlin." },
    { "role": "user",      "content": "Evening. What's good tonight?" }
  ],
  "max_tokens": 400,
  "temperature": 0.9
}

رسپانس — معیاری شکل، usage میں حقیقی ٹوکن کی گنتی کے ساتھ (یہی ہے جس پر آپ سے بلنگ ہوتی ہے):

{
  "id": "chatcmpl-…", "object": "chat.completion", "model": "notrack-uncensored",
  "choices": [ { "index": 0, "finish_reason": "stop",
                 "message": { "role": "assistant", "content": "…" } } ],
  "usage": { "prompt_tokens": 41, "completion_tokens": 118, "total_tokens": 159 }
}

آپ کا سسٹم پرامپٹ گفتگو کو کنٹرول کرتا ہے۔ ہم صرف ایک لائن پہلے سے شامل کرتے ہیں — ماڈل کی شناخت (کہ یہ notrack-uncensored ہے، NoTrack کا بنایا ہوا) — اور کچھ نہیں: نہ کوئی قاعدہ، نہ کوئی موضوع فلٹر۔ آپ کا سسٹم پیغام اس کے بعد آتا ہے اور پرسونا، انداز اور باقی سب کچھ طے کرتا ہے۔ واحد استثنا کنٹینٹ پالیسی میں ہے۔

سٹریمنگ

"stream": true سیٹ کریں اور سرور-سینٹ ایونٹس پڑھیں، بالکل OpenAI کی طرح۔ آخری حصے میں usage ہوتا ہے (ہم اسے ہمیشہ شامل کرتے ہیں، خواہ آپ stream_options مانگیں یا نہ مانگیں)، پھر data: [DONE]۔

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Ev"}}]}
data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"ening"}}]}
…
data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[],"usage":{"prompt_tokens":41,"completion_tokens":118,"total_tokens":159}}
data: [DONE]

پیرامیٹرز

فیلڈنوٹس
messagesلازمی۔ system، user، assistant کردار۔ فی الحال صرف متن — تصویری حصے مسترد کر دیے جاتے ہیں۔
modelnotrack-uncensored استعمال کریں۔
streamSSE کے لیے true۔ stream_options.include_usage ہمیشہ آن ہوتا ہے۔
max_tokensکمپلیشن پر حد۔ پرامپٹ + کمپلیشن کو 100,000-ٹوکن ونڈو میں فٹ ہونا چاہیے۔
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, nOpenAI کی طرح ماڈل کو منتقل کیا جاتا ہے۔ اگر آپ temperature نہ بھیجیں تو ہم 0.85 استعمال کرتے ہیں، ہماری چیٹ کی طرح۔ n > 1 آؤٹ پٹ لاگت کو ضرب دیتا ہے۔
tools, tool_choiceمعاون: auto، none، required، یا نامزد فنکشن۔ جواب میں tool_calls اور finish_reason: "tool_calls" ہوتے ہیں؛ نتیجہ role: "tool" پیغام کے طور پر واپس بھیجیں۔ ٹولز موجود ہونے پر سٹریم شدہ جواب ٹوکن بہ ٹوکن نہیں بلکہ ہر کال کے لیے ایک حصے کے طور پر آتا ہے۔
response_format{"type": "json_object"} معاون ہے (پرامپٹ میں بتائیں کہ آپ کون سا JSON چاہتے ہیں)۔ json_schema اور پرانی functions فیلڈ معاون نہیں ہیں۔

حدود اور رسپانس ہیڈرز

حدقدرجب تجاوز ہو
فی کی بیک وقت درخواستیں8429 concurrency
فی کی فی منٹ درخواستیں300429 rate_limit
کنٹیکسٹ ونڈو (پرامپٹ + کمپلیشن)100,000 ٹوکنز400 context_limit — تاریخ کم کریں اور دوبارہ کوشش کریں
فی کی روزانہ خرچ (اختیاری)کیز کے صفحے پر آپ کے ذریعے مقرر کیا گیا402 key_daily_cap 00:00 UTC تک

آزمائشی کلیدیں (پہلے ری چارج سے پہلے): بیک وقت درخواستیں — 2، فی منٹ درخواستیں — 60۔ پہلے ری چارج کے بعد کلید کو پوری حدیں مل جاتی ہیں: 8 اور 300۔

ہر کامیاب رسپانس میں شامل ہوتا ہے:

ہیڈرمعنی
X-Request-Idسپورٹ کو لکھتے وقت اس کا حوالہ دیں؛ یہی ایک چیز ہے جو ہم کسی درخواست کے بارے میں رکھتے ہیں۔
X-NoTrack-Balance-USDآپ کا کریڈٹ پہلے اس درخواست پر چارج ہوا، ڈالر میں۔
X-RateLimit-Limit-Requestsاس کی کے لیے فی منٹ اجازت یافتہ درخواستیں۔
X-RateLimit-Limit-Concurrencyاس کی کے لیے اجازت یافتہ متوازی درخواستیں۔
X-NoTrack-Content-Flagصرف کنٹینٹ سے انکار پر: minor_in_sexual_context یا child_safety۔

ایررز

ایررز ایک مستقل type کے ساتھ JSON ہیں؛ message انسانوں کے لیے ہے اور بدل سکتا ہے۔

{ "error": { "type": "no_credit", "message": "no credit left on this account — top up at notrack.ai/api-keys" } }
HTTPtypeکیا کریں
400bodyغلط JSON یا messages موجود نہیں۔
400context_limit100,000-ٹوکن ونڈو کے لیے پرامپٹ بہت طویل ہے۔ پرانی باریاں ہٹا دیں۔
400content_policy + X-NoTrack-Content-Flag: minor_in_sexual_contextمنظر جنسی معلوم ہوتا ہے اور کوئی کردار نابالغ معلوم ہوتا ہے۔ کرداروں کو غیر مبہم طور پر بالغ بنا کر دوبارہ بھیجیں؛ چارج نہیں کیا جاتا۔
401auth, invalid_key, key_revoked, key_expiredکی درست کریں یا بدل دیں۔
402no_creditبیلنس صفر ہے۔ بیلنس بڑھائیں؛ درخواستیں فوراً دوبارہ شروع ہو جاتی ہیں۔
402key_daily_capاس کی نے آپ کی مقرر کردہ روزانہ حد کو چھو لیا ہے۔ اسے بڑھائیں یا 00:00 UTC کا انتظار کریں۔
403content_policy + X-NoTrack-Content-Flag: child_safetyمسترد کر دیا گیا اور چارج نہیں کیا گیا۔ دیکھیں کنٹینٹ پالیسی۔
429rate_limit, concurrencyرفتار کم کریں اور دوبارہ کوشش کریں؛ دونوں X-RateLimit-* ہیڈرز کا خیال رکھیں۔
502upstreamماڈل نے جواب نہیں دیا۔ بیک آف کے ساتھ دوبارہ کوشش کریں؛ چارج نہیں کیا جاتا۔
503billing, safetyہماری ایک انحصار شدہ سروس بند ہے۔ چند ثانیوں میں دوبارہ کوشش کریں؛ چارج نہیں کیا جاتا۔

بلنگ

پیشگی ادا شدہ کریڈٹ، ہر جواب کے حقیقی usage سے فی ٹوکن چارج کیا جاتا ہے: 10 لاکھ ان پٹ ٹوکنز کے لیے $0.15، 10 لاکھ آؤٹ پٹ ٹوکنز کے لیے $0.50۔ ان پٹ وہ سب کچھ ہے جو آپ بھیجتے ہیں (سسٹم پرامپٹ، تاریخ، نیا پیغام)؛ آؤٹ پٹ وہ ہے جو ماڈل لکھتا ہے۔

پرسونا — خالص ماڈل یا NoTrack کا کردار

ہر کی کا ایک انداز ہوتا ہے، جو کیز کے صفحے پر منتخب کیا جاتا ہے اور کسی بھی وقت بدلا جا سکتا ہے:

کوئی درخواست کی کی سیٹنگ کو کسی فیلڈ یا ماڈل سفیکس کے ذریعے اووررائیڈ کر سکتی ہے (ان کلائنٹس کے لیے جو صرف ماڈل کا نام سیٹ کر سکتے ہیں):

{ "model": "notrack-uncensored", "notrack": { "persona": "notrack" }, "messages": [ … ] }

{ "model": "notrack-uncensored:notrack", "messages": [ … ] }      // same thing, by model name
{ "model": "notrack-uncensored:bare",    "messages": [ … ] }      // force the bare model on a persona key

پرسونا کے نام: notrack (سادہ کردار)، concise، detailed، creative (وہی ورائینٹس جو چیٹ پیش کرتی ہے)، bare۔ رسپانس ہیڈر X-NoTrack-Persona بتاتا ہے کہ کون سا لاگو ہوا۔

کنٹینٹ پالیسی

ہم کوئی سسٹم پرامپٹ شامل نہیں کرتے اور کوئی موضوع فلٹر نہیں چلاتے۔ بالغ فکشن، تاریک موضوعات، سخت زبان، فکشن میں تشدد — ماڈل جیسا لکھا گیا ہے ویسا ہی جواب دیتا ہے۔ ایک قاعدہ کوڈ میں نافذ ہے اور اسے بند نہیں کیا جا سکتا: نابالغ سے متعلق کوئی بھی جنسی مواد مسترد کیا جاتا ہے۔

کسی کی پر بار بار 403 کی وجہ سے پہلے کی، پھر اکاؤنٹ بند ہو جاتا ہے۔ مکمل متن قابل قبول استعمال کی پالیسی میں ہے۔

پرائیویسی

پرامپٹس اور کمپلیشنز ڈسک پر نہیں لکھے جاتے — نہ گیٹ وے کے ذریعے، نہ ماڈل سرورز کے ذریعے۔ ہم فی درخواست جو کچھ رکھتے ہیں وہ ہے درخواست id، کی id، ٹوکن کی گنتی اور قیمت، کیونکہ یہی بل ہے۔ حفاظتی انکار کیٹیگری کے لحاظ سے لاگ کیے جاتے ہیں، متن کے بغیر۔ کوئی بھی تھرڈ پارٹی ماڈل فراہم کنندہ آپ کا ٹریفک کبھی نہیں دیکھتا: ماڈل ہمارے اپنے GPU سرورز پر چلتا ہے۔

کلائنٹس اور SDKs

NoTrack ویب سائٹ اور NoTrack ایپ ہماری اپنی چیٹ ہیں — ان میں API کی کے لیے کوئی فیلڈ نہیں ہے اور کبھی نہیں ہوگی۔ کی دیگر پروگراموں کے لیے ہے: اسے ذیل کے کسی کلائنٹ میں پیسٹ کریں، یا اپنے کوڈ میں۔

Python

from openai import OpenAI
client = OpenAI(base_url="https://api.notrack.ai/v1", api_key="sk-notrack-…")
stream = client.chat.completions.create(model="notrack-uncensored",
    messages=[{"role": "user", "content": "Hello"}], stream=True)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Node.js

import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.notrack.ai/v1", apiKey: process.env.NOTRACK_KEY });
const r = await client.chat.completions.create({ model: "notrack-uncensored",
  messages: [{ role: "user", content: "Hello" }] });
console.log(r.choices[0].message.content);

SillyTavern

API Connections → API: Chat Completion → Source: Custom (OpenAI-compatible) → Custom Endpoint https://api.notrack.ai/v1 → Custom API Key → Connect → Model notrack-uncensored۔ سٹریمنگ آن رکھیں۔ کنٹیکسٹ سائز کو 100,000 ٹوکنز یا اس سے کم رکھیں۔

Chatbox

Settings → Model Provider → Add → Add Custom Provider، موڈ OpenAI API Compatible → بیس URL اور کی پیسٹ کریں، پھر notrack-uncensored کو ماڈل کے طور پر شامل کریں۔

NextChat

Settings → Custom Endpoint آن کریں (OpenAI کے مطابق) → بیس URL اور کی، پھر ماڈل کا نام ماڈل فیلڈ میں ٹائپ کریں۔

Cherry Studio

Settings → Model Providers → Add Provider → OpenAI ٹائپ کریں → بیس URL اور کی، پھر "Add model" → notrack-uncensored۔

LobeChat

Settings → AI Service Provider → OpenAI → custom API endpoint فعال کریں، بیس URL اور کی پیسٹ کریں، اور ماڈل کو ماڈل لسٹ میں شامل کریں۔

کچھ اور

LangChain، LlamaIndex، Open WebUI، Continue، JanitorAI پراکسی سیٹنگز، curl — کوئی بھی کلائنٹ جس میں "OpenAI-compatible" یا "custom base URL" کا آپشن ہو۔

اوپر مینو کے الفاظ ایپ ورژنز کے درمیان بدلتے رہتے ہیں — اگر کوئی لیبل بالکل میل نہ کھائے، تو وہ سیٹنگ ڈھونڈیں جس میں "custom"، "OpenAI-compatible"، یا "base URL" کا ذکر ہو۔

اگر کوئی کلائنٹ کنیکٹ نہ ہو

کیز

سوالات یا دیکھنے کے لیے ایک درخواست id: سپورٹ · [email protected]۔