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

MaydonIzohlar
messagesMajburiy. system, user, assistant rollari. Hozircha faqat matn — rasm qismlari rad etiladi.
modelnotrack-uncensoreddan foydalaning.
streamSSE uchun true. stream_options.include_usage doim yoqilgan.
max_tokensCompletion uchun chegara. Prompt + completion 100,000 tokenlik oynaga sig'ishi kerak.
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, nOpenAI'dagidek modelga uzatiladi. Agar temperature yubormasangiz, biz 0.85 dan foydalanamiz — bizning chatimizdagidek. n > 1 chiqish narxini ko'paytiradi.
tools, tool_choiceQo'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

CheklovQiymatOshib ketganda
Har bir kalit uchun bir vaqtdagi so'rovlar8429 concurrency
Har bir kalit uchun daqiqadagi so'rovlar300429 rate_limit
Kontekst oynasi (prompt + completion)100,000 token400 context_limit — tarixni qisqartiring va qayta urinib ko'ring
Har bir kalit uchun kunlik xarajat (ixtiyoriy)kalitlar sahifasida siz tomoningizdan o'rnatiladi402 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:

SarlavhaMa'nosi
X-Request-IdYordam xizmatiga yozganingizda shuni keltiring; bu so'rov haqida biz saqlaydigan yagona narsa.
X-NoTrack-Balance-USDUshbu so'rov uchun oldin yechib olingan balansingiz, dollarda.
X-RateLimit-Limit-RequestsUshbu kalit uchun daqiqada ruxsat etilgan so'rovlar soni.
X-RateLimit-Limit-ConcurrencyUshbu kalit uchun ruxsat etilgan parallel so'rovlar soni.
X-NoTrack-Content-FlagFaqat 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" } }
HTTPtypeNima qilish kerak
400bodyNoto'g'ri JSON yoki messages yo'q.
400context_limitPrompt 100,000 tokenlik oyna uchun juda uzun. Eski xabarlarni olib tashlang.
400content_policy + X-NoTrack-Content-Flag: minor_in_sexual_contextSahna 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.
401auth, invalid_key, key_revoked, key_expiredKalitni tuzating yoki almashtiring.
402no_creditBalans nolga teng. Balansni to'ldiring; so'rovlar darhol qayta tiklanadi.
402key_daily_capUshbu kalit siz o'rnatgan kunlik chegaraga yetdi. Uni oshiring yoki 00:00 UTC gacha kuting.
403content_policy + X-NoTrack-Content-Flag: child_safetyRad etildi va to'lov olinmadi. Kontent siyosatiga qarang.
429rate_limit, concurrencySekinlashtiring va qayta urinib ko'ring; ikkita X-RateLimit-* sarlavhasiga rioya qiling.
502upstreamModel javob bermadi. Backoff bilan qayta urinib ko'ring; to'lov olinmaydi.
503billing, safetyBizning 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.

Persona — sof model yoki NoTrack'ning xarakteri

Har bir kalitning uslubi bor, kalitlar sahifasida tanlanadi va istalgan vaqtda almashtirilishi 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.

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

Kalitlar

Savollar yoki tekshirish uchun so'rov id'si: yordam xizmati · [email protected].