NoTrack API — ma'lumotnoma
Bitta OpenAI bilan mos endpoint, bitta model, bitta kalit. Agar kodingiz allaqachon /v1/chat/completions bilan gaplashayotgan bo'lsa, bazaviy URL va kalitni almashtiring — u biz bilan gaplasha boshlaydi.
Bazaviy URL va autentifikatsiya
Base URL: https://api.notrack.ai/v1
Header: Authorization: Bearer sk-notrack-…
Kalitlar kalitlar sahifasi sahifasida yaratiladi. Kalit faqat yaratilgan paytda bir marta ko'rsatiladi; biz uning hashini va oxirgi olti belgisini saqlaymiz. Uni faqat HTTPS orqali va faqat Authorization sarlavhasida yuboring — hech qachon URL ichida emas.
Hamma narsa JSON (Content-Type: application/json) shaklida. Javoblar OpenAI sxemasidan foydalanadi, shuning uchun rasmiy openai SDK'lari va OpenAI bilan mos har qanday klient hech qanday o'zgarishsiz ishlaydi.
Modellar
GET /v1/models
{ "object": "list",
"data": [ { "id": "notrack-uncensored", "object": "model", "owned_by": "notrack" } ] }
Bitta model bor, notrack-uncensored: bizning o'z modelimiz, o'z GPU serverlarimizda ishlaydi. model sifatida nima yuborsangiz, shu modelga yo'naltiriladi; loglaringiz bizning loglarimiz bilan mos kelishi uchun ommaviy id'dan foydalaning.
Chat completions
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
}
Javob — standart shakl, usage ichida haqiqiy token soni bilan (aynan shu narsa uchun sizdan to'lov olinadi):
{
"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 }
}
Sizning tizim promptingiz suhbatni boshqaradi. Biz oldiga faqat bitta qator qo'shamiz — modelning identifikatsiyasi (uning notrack-uncensored ekanligi, NoTrack tomonidan yaratilgani) — va boshqa hech narsa: qoida yo'q, mavzu filtri yo'q. Sizning tizim xabaringiz undan keyin keladi va personani, uslubni va qolgan hamma narsani belgilaydi. Yagona istisno Kontent siyosati da.
Streaming
"stream": trueni o'rnating va server-sent event'larni OpenAI'dagi kabi o'qing. Oxirgi qism usageni olib yuradi (siz stream_optionsni so'ramaganingizda ham, biz uni doim qo'shamiz), so'ngra data: [DONE] keladi.
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]
Parametrlar
| Maydon | Izohlar |
|---|---|
messages | Majburiy. system, user, assistant rollari. Hozircha faqat matn — rasm qismlari rad etiladi. |
model | notrack-uncensoreddan foydalaning. |
stream | SSE uchun true. stream_options.include_usage doim yoqilgan. |
max_tokens | Completion uchun chegara. Prompt + completion 100,000 tokenlik oynaga sig'ishi kerak. |
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, n | OpenAI'dagidek modelga uzatiladi. Agar temperature yubormasangiz, biz 0.85 dan foydalanamiz — bizning chatimizdagidek. n > 1 chiqish narxini ko'paytiradi. |
tools, tool_choice | Qo'llab-quvvatlanadi: auto, none, required yoki nomlangan funksiya. Javobda tool_calls va finish_reason: "tool_calls" bo'ladi; natijani role: "tool" xabari sifatida qaytarib yuboring. Tool'lar mavjud bo'lganda, oqim shaklidagi javob token-baton emas, har bir chaqiruv uchun bitta qism sifatida keladi. |
response_format | {"type": "json_object"} qo'llab-quvvatlanadi (promptda qaysi JSON kerakligini aytib bering). json_schema va eski functions maydoni qo'llab-quvvatlanmaydi. |
Cheklovlar va javob sarlavhalari
| Cheklov | Qiymat | Oshib ketganda |
|---|---|---|
| Har bir kalit uchun bir vaqtdagi so'rovlar | 8 | 429 concurrency |
| Har bir kalit uchun daqiqadagi so'rovlar | 300 | 429 rate_limit |
| Kontekst oynasi (prompt + completion) | 100,000 token | 400 context_limit — tarixni qisqartiring va qayta urinib ko'ring |
| Har bir kalit uchun kunlik xarajat (ixtiyoriy) | kalitlar sahifasida siz tomoningizdan o'rnatiladi | 402 key_daily_cap 00:00 UTC gacha |
Sinov kalitlari (birinchi to‘ldirishgacha): bir vaqtdagi so‘rovlar — 2, daqiqasiga so‘rovlar — 60. Birinchi to‘ldirishdan keyin kalit to‘liq limitlarni oladi: 8 va 300.
Har bir muvaffaqiyatli javob quyidagilarni olib yuradi:
| Sarlavha | Ma'nosi |
|---|---|
X-Request-Id | Yordam xizmatiga yozganingizda shuni keltiring; bu so'rov haqida biz saqlaydigan yagona narsa. |
X-NoTrack-Balance-USD | Ushbu so'rov uchun oldin yechib olingan balansingiz, dollarda. |
X-RateLimit-Limit-Requests | Ushbu kalit uchun daqiqada ruxsat etilgan so'rovlar soni. |
X-RateLimit-Limit-Concurrency | Ushbu kalit uchun ruxsat etilgan parallel so'rovlar soni. |
X-NoTrack-Content-Flag | Faqat kontent rad etilganda: minor_in_sexual_context yoki child_safety. |
Xatolar
Xatolar barqaror typega ega JSON ko'rinishida; message odamlar uchun mo'ljallangan va o'zgarishi mumkin.
{ "error": { "type": "no_credit", "message": "no credit left on this account — top up at notrack.ai/api-keys" } }
| HTTP | type | Nima qilish kerak |
|---|---|---|
| 400 | body | Noto'g'ri JSON yoki messages yo'q. |
| 400 | context_limit | Prompt 100,000 tokenlik oyna uchun juda uzun. Eski xabarlarni olib tashlang. |
| 400 | content_policy + X-NoTrack-Content-Flag: minor_in_sexual_context | Sahna jinsiy mazmunga ega deb o'qiladi va bir personaj voyaga yetmagan deb o'qiladi. Personajlarni bir ma'noli tarzda voyaga yetgan qiling va qayta yuboring; to'lov olinmaydi. |
| 401 | auth, invalid_key, key_revoked, key_expired | Kalitni tuzating yoki almashtiring. |
| 402 | no_credit | Balans nolga teng. Balansni to'ldiring; so'rovlar darhol qayta tiklanadi. |
| 402 | key_daily_cap | Ushbu kalit siz o'rnatgan kunlik chegaraga yetdi. Uni oshiring yoki 00:00 UTC gacha kuting. |
| 403 | content_policy + X-NoTrack-Content-Flag: child_safety | Rad etildi va to'lov olinmadi. Kontent siyosatiga qarang. |
| 429 | rate_limit, concurrency | Sekinlashtiring va qayta urinib ko'ring; ikkita X-RateLimit-* sarlavhasiga rioya qiling. |
| 502 | upstream | Model javob bermadi. Backoff bilan qayta urinib ko'ring; to'lov olinmaydi. |
| 503 | billing, safety | Bizning bog'liqliklarimizdan biri ishlamayapti. Bir necha soniyadan keyin qayta urinib ko'ring; to'lov olinmaydi. |
Hisob-kitob
Oldindan to'langan balans, har bir javobning haqiqiy usageidan token bo'yicha undiriladi: 1 mln kirish tokeni uchun $0.15, 1 mln chiqish tokeni uchun $0.50. Kirish — siz yuboradigan hamma narsa (tizim prompti, tarix, yangi xabar); chiqish — model yozgan narsa.
- Birinchi kalitingiz $0.50 bepul balans bilan keladi, 7 kun amal qiladi — integratsiya va sinov uchun yetarli. Kalit uchun tasdiqlangan elektron pochta kerak ("balans tugayapti" xabari o'sha yerga yuboriladi). To'langan balans hech qachon muddati tugamaydi.
- Balans muddati tugamaydi, obuna yo'q va hech narsa o'z-o'zidan yangilanmaydi. Kalitlar sahifasida karta yoki USDT/USDC orqali balansni to'ldiring.
- Rad etilgan (
4xx) yoki muvaffaqiyatsiz (5xx) so'rovlar uchun hech narsa undirilmaydi. So'rov javobdan keyin bir marta, uningX-Request-Idiga asosan undiriladi. - Balans tugaganda → siz to'ldirmaguningizcha
402 no_credit. Har bir kalitga kunlik chegara qo'ying, shunda oshkor bo'lgan kalit hisobni bo'shatib qo'ymaydi. - Kreditlar qaytarilmaydi, agar biz xizmatni ko‘rsata olmasak bundan mustasno; ular muddati hech qachon tugamaydi va rejim uchun qo‘llanilishi mumkin. Kreditlar va pulni qaytarishni ko‘ring.
Persona — sof model yoki NoTrack'ning xarakteri
Har bir kalitning uslubi bor, kalitlar sahifasida tanlanadi va istalgan vaqtda almashtirilishi mumkin:
- Sof (standart) — sizning tizim promptingiz butun prompt hisoblanadi. Biz faqat bitta identifikatsiya qatorini qo'shamiz va boshqa hech narsa.
- NoTrack personasi — notrack.ai dagi chatning xarakteri va uslubi: to'g'ridan-to'g'ri, filtrlanmagan, axloq o'qitmaydigan, foydalanuvchining tilida javob beradi. Bir xil model, bir xil narx, bir xil kontent siyosati; faqat xabarlaringiz oldidagi prompt o'zgaradi. Sizning o'z tizim xabaringiz baribir undan keyin keladi va uni sozlashi mumkin.
So'rov kalitning sozlamasini bekor qilishi mumkin — yoki maydon orqali, yoki model qo'shimchasi orqali (faqat model nomini o'rnata oladigan klientlar uchun):
{ "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
Persona nomlari: notrack (oddiy xarakter), concise, detailed, creative (chat taklif qiladigan bir xil variantlar), bare. X-NoTrack-Persona javob sarlavhasi qaysi biri qo'llanilganini bildiradi.
Kontent siyosati
Biz hech qanday tizim prompti qo'shmaymiz va hech qanday mavzu filtri ishlatmaymiz. Kattalar uchun badiiy asar, qorong'u mavzular, qattiq til, badiiy asardagi zo'ravonlik — model yozilganidek javob beradi. Kodda bitta qoida mustahkamlangan va uni o'chirib bo'lmaydi: voyaga yetmagan bilan bog'liq har qanday jinsiy mazmun rad etiladi.
403 child_safety— so'rov bola bilan bog'liq jinsiy mazmunni izladi. Rad etildi, to'lov olinmadi, xavfsizlik hodisasi sifatida qayd etildi.400 minor_in_sexual_context— sahna jinsiy mazmunga ega va personaj 18 yoshdan kichik deb o'qiladi (yosh aytilgan, maktab muhiti, "qiz/o'g'il bola" ifodasi). Bu taqiq emas: yosh va ifodani bir ma'noli tarzda voyaga yetgan qiling va qayta yuboring.
Bir kalitda takrorlanadigan 403lar avval kalitni, keyin hisobni yopilishiga olib keladi. To'liq matn Qabul qilinadigan foydalanish siyosati da.
Maxfiylik
Promptlar va completion'lar diskka yozilmaydi — na gateway tomonidan, na model serverlari tomonidan. Biz har bir so'rov uchun saqlaydigan narsa — so'rov id'si, kalit id'si, token soni va narx, chunki hisob-kitob aynan shu asosda tuziladi. Xavfsizlik rad etishlari matnisiz, faqat toifasi bo'yicha qayd etiladi. Hech qanday uchinchi tomon model provayderi sizning trafikingizni ko'rmaydi: model o'zimizning GPU serverlarimizda ishlaydi.
Klientlar va SDK'lar
NoTrack veb-sayti va NoTrack ilovasi — bizning o'z chatimiz; ularda API kaliti uchun maydon yo'q va hech qachon bo'lmaydi. Kalit boshqa dasturlar uchun mo'ljallangan: uni quyidagi klientlardan biriga yoki o'z kodingizga joylashtiring.
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. Streaming yoqilgan bo'lsin. Kontekst hajmini 100,000 token yoki undan past darajada saqlang.
Chatbox
Settings → Model Provider → Add → Add Custom Provider, OpenAI API Compatible rejimi → bazaviy URL va kalitni joylashtiring, so'ngra model sifatida notrack-uncensoredni qo'shing.
NextChat
Settings → Custom Endpointni yoqing (OpenAI bilan mos) → bazaviy URL va kalit, so'ngra model nomini model maydoniga kiriting.
Cherry Studio
Settings → Model Providers → Add Provider → OpenAIni kiriting → bazaviy URL va kalit, so'ngra "Add model" → notrack-uncensored.
LobeChat
Settings → AI Service Provider → OpenAI → custom API endpointni yoqing, bazaviy URL va kalitni joylashtiring va modelni model ro'yxatiga qo'shing.
Boshqa narsa
LangChain, LlamaIndex, Open WebUI, Continue, JanitorAI proksi sozlamalari, curl — "OpenAI-compatible" yoki "custom base URL" opsiyasiga ega har qanday klient.
Yuqoridagi menyu so'zlari ilova versiyalari orasida o'zgarib turadi — agar biror yorliq aynan mos kelmasa, "custom", "OpenAI-compatible" yoki "base URL" haqida gap boradigan sozlamani qidiring.
Agar klient ulanmasa
- 401 / "invalid API key" — kalit umuman yetib kelmadi. Klient
Authorization: Bearer sk-notrack-…ni to'liq kalit bilan, prefiksi bilan birga yuborayotganini tekshiring. - 404 / noma'lum endpoint — klientlar
/v1ni o'zlari qo'shishi kerakligi haqida kelisha olmaydi. Agarhttps://api.notrack.ai/v1404 bersa, o'rnigahttps://api.notrack.aini bazaviy URL sifatida sinab ko'ring (yoki aksincha). - "The Responses API is not supported yet" — ba'zi yangi klientlar standart bo'yicha OpenAI'ning Responses API'sidan foydalanadi. Biz faqat Chat Completions'ni taqdim etamiz; klientni shu rejimga o'tkazing.
- Bo'sh model ro'yxati — ba'zi klientlar uni faqat to'g'ri kalit tekshiruvidan keyin to'ldiradi.
notrack-uncensoredni qo'lda kiriting. - Ollama / llama.cpp klientida hech narsa bo'lmaydi — ular o'z protokolidan foydalanadi, OpenAI bilan mos emas. O'rniga yuqoridagi klientlardan birini ishlating.
Kalitlar
- Har bir hisob uchun 20 tagacha faol kalit. Har bir ilovaga o'z kaliti va o'z kunlik chegarasini bering.
- Ixtiyoriy amal qilish muddati; kalitni bekor qilish uni darhol to'xtatadi va bu qaytarib bo'lmaydi — o'rniga yangi kalit chiqaring.
- Kalitlar sahifasi har bir kalit bo'yicha xarajatni, oxirgi foydalanishni va hisobning 30 kunlik jamlarini ko'rsatadi.
Savollar yoki tekshirish uchun so'rov id'si: yordam xizmati · [email protected].