NoTrack API — istinad

Bir OpenAI ilə uyğun endpoint, bir model, bir açar. Kodunuz artıq /v1/chat/completions ilə danışırsa, əsas URL-i və açarı dəyişin — o bizimlə danışacaq.

Əsas URL və autentifikasiya

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

Açarlar açarlar səhifəsi səhifəsində yaradılır. Açar yalnız yaradılan zaman bir dəfə göstərilir; biz onun hashini və son altı simvolunu saxlayırıq. Onu yalnız HTTPS üzərindən və yalnız Authorization başlığında göndərin — heç vaxt URL-də deyil.

Hər şey JSON formatındadır (Content-Type: application/json). Cavablar OpenAI sxemindən istifadə edir, ona görə rəsmi openai SDK-ları və hər OpenAI ilə uyğun klient dəyişmədən işləyir.

Modellər

GET /v1/models

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

Yalnız bir model var, notrack-uncensored: öz modelimiz, öz GPU serverlərimizdə işləyir. model kimi göndərdiyiniz istənilən dəyər ona yönləndirilir; loqlarınızın bizimkilərlə uyğun olması üçün açıq (public) id istifadə edin.

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
}

Cavab — standart forma, usage-də real token sayları ilə (ödəniş məhz bunun üzərindən hesablanır):

{
  "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 }
}

Söhbəti sizin sistem promptunuz idarə edir. Biz əvvəlinə yalnız bir sətir əlavə edirik — modelin kimliyi (onun notrack-uncensored olduğu, NoTrack tərəfindən hazırlandığı) — və başqa heç nə: qayda yoxdur, mövzu filtri yoxdur. Sizin sistem mesajınız bundan sonra gəlir və personanı, üslubu və qalan hər şeyi müəyyən edir. Yeganə istisna Məzmun siyasəti-dədir.

Axın (Streaming)

"stream": true-ni təyin edin və server-sent event-ləri oxuyun, məhz OpenAI-dəki kimi. Son parça usage daşıyır (biz stream_options istəyib-istəməməyinizdən asılı olmayaraq onu həmişə daxil edirik), sonra 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]

Parametrlər

SahəQeydlər
messagesTələb olunur. system, user, assistant rolları. Hələlik yalnız mətn — şəkil hissələri rədd edilir.
modelnotrack-uncensored istifadə edin.
streamSSE üçün true. stream_options.include_usage həmişə aktivdir.
max_tokensCompletion üçün tavan. Prompt + completion 100,000-tokenlik pəncərəyə sığmalıdır.
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, nOpenAI-dəki kimi modelə ötürülür. Əgər temperature göndərməsəniz, biz 0.85 istifadə edirik — bizim söhbətdə olduğu kimi. n > 1 çıxış xərcini vurur.
tools, tool_choiceDəstəklənir: auto, none, required, və ya adlandırılmış funksiya. Cavab tool_calls və finish_reason: "tool_calls" daşıyır; nəticəni role: "tool" mesajı kimi geri göndərin. Alətlər (tools) mövcud olduqda axınlı cavab token-token yox, hər çağırış üçün bir parça kimi gəlir.
response_format{"type": "json_object"} dəstəklənir (istədiyiniz JSON formatını promptda deyin). json_schema və köhnə functions sahəsi dəstəklənmir.

Limitlər və cavab başlıqları

LimitDəyərAşıldıqda
Açar üzrə eyni vaxtda sorğular8429 concurrency
Açar üzrə dəqiqədə sorğular300429 rate_limit
Kontekst pəncərəsi (prompt + completion)100,000 token400 context_limit — tarixçəni qısaldın və yenidən cəhd edin
Açar üzrə günlük xərc (könüllü)açarlar səhifəsində siz təyin edirsiniz402 key_daily_cap 00:00 UTC-yə qədər

Sınaq açarları (ilk balans artırılmasından əvvəl): eyni anda sorğu — 2, dəqiqədə sorğu — 60. İlk artırmadan sonra açar tam limitləri alır: 8 və 300.

Hər uğurlu cavab bunları daşıyır:

BaşlıqMəna
X-Request-IdDəstəyə yazarkən bunu qeyd edin; bu sorğu haqqında saxladığımız yeganə şeydir.
X-NoTrack-Balance-USDBu sorğunun əvvəlki balansınız, dollarla ödəndi.
X-RateLimit-Limit-RequestsBu açar üçün dəqiqədə icazə verilən sorğu sayı.
X-RateLimit-Limit-ConcurrencyBu açar üçün icazə verilən paralel sorğu sayı.
X-NoTrack-Content-FlagYalnız məzmun rəddi zamanı: minor_in_sexual_context və ya child_safety.

Xətalar

Xətalar sabit type ilə JSON formatındadır; message isə insanlar üçündür və dəyişə bilər.

{ "error": { "type": "no_credit", "message": "no credit left on this account — top up at notrack.ai/api-keys" } }
HTTPtypeNə etməli
400bodyYanlış JSON və ya messages yoxdur.
400context_limitPrompt 100,000-tokenlik pəncərə üçün çox uzundur. Köhnə növbələri (turns) çıxarın.
400content_policy + X-NoTrack-Content-Flag: minor_in_sexual_contextSəhnə cinsi məzmun kimi, personaj isə yetkinlik yaşına çatmamış kimi oxunur. Personajları birmənalı şəkildə yetkin edin və yenidən göndərin; ödəniş alınmır.
401auth, invalid_key, key_revoked, key_expiredAçarı düzəldin və ya əvəz edin.
402no_creditBalans sıfırdır. Balansı artırın; sorğular dərhal bərpa olunur.
402key_daily_capBu açar sizin təyin etdiyiniz günlük tavana çatdı. Onu qaldırın və ya 00:00 UTC-yə qədər gözləyin.
403content_policy + X-NoTrack-Content-Flag: child_safetyRədd edilib, ödəniş alınmır. Bax: Məzmun siyasəti.
429rate_limit, concurrencySürəti azaldıb yenidən cəhd edin; hər iki X-RateLimit-* başlığına riayət edin.
502upstreamModel cavab vermədi. Backoff ilə yenidən cəhd edin; ödəniş alınmır.
503billing, safetyBizim asılılıqlarımızdan biri işləmir. Bir neçə saniyə sonra yenidən cəhd edin; ödəniş alınmır.

Ödəniş

Öncədən ödənilən balans, hər cavabın real usage-dan token üzrə hesablanır: 1M giriş tokeni üçün $0.15, 1M çıxış tokeni üçün $0.50. Giriş — göndərdiyiniz hər şeydir (sistem promptu, tarixçə, yeni mesaj); çıxış — modelin yazdığıdır.

Persona — çılpaq model və ya NoTrack-ın obrazı

Hər açarın açarlar səhifəsində seçilən və istənilən vaxt dəyişdirilə bilən üslubu var:

Bir sorğu açarın parametrini ya sahə ilə, ya da model adı şəkilçisi ilə (yalnız model adı təyin edə bilən klientlər üçün) üstələyə bilər:

{ "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 adları: notrack (sadə obraz), concise, detailed, creative (söhbətin təklif etdiyi eyni variantlar), bare. X-NoTrack-Persona cavab başlığı hansının tətbiq olunduğunu göstərir.

Məzmun siyasəti

Biz sistem promptu əlavə etmirik və heç bir mövzu filtri işlətmirik. Yetkinlər üçün bədii mətn, qaranlıq mövzular, kobud dil, bədii zorakılıq — model yazıldığı kimi cavab verir. Bir qayda kodda tətbiq olunub və heç vaxt söndürülə bilməz: yetkinlik yaşına çatmayan şəxslə bağlı hər hansı cinsi məzmun rədd edilir.

Bir açarda təkrarlanan 403-lar açarın, sonra hesabın bağlanmasına gətirib çıxarır. Tam mətn Məqbul İstifadə Siyasəti-dədir.

Məxfilik

Promptlar və completion-lar diskə yazılmır — nə gateway tərəfindən, nə də model serverləri tərəfindən. Hər sorğu üçün saxladığımız — sorğu id-si, açar id-si, token sayları və qiymətdir, çünki bu, hesab-fakturadır. Təhlükəsizlik rədləri mətnsiz, kateqoriya üzrə qeyd olunur. Heç bir üçüncü tərəf model provayderi trafikinizi görmür: model öz GPU serverlərimizdə işləyir.

Klientlər və SDK-lar

NoTrack veb-saytı və NoTrack tətbiqi bizim öz söhbətimizdir — onlarda API açarı üçün sahə yoxdur və heç vaxt olmayacaq. Açar digər proqramları üçündür: onu aşağıdaki klientlərdən birinə, və ya öz kodunuza yapıştırın.

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 aktiv. Kontekst ölçüsünü 100,000 tokenə bərabər və ya aşağı saxlayın.

Chatbox

Settings → Model Provider → Add → Add Custom Provider, rejim OpenAI API Compatible → əsas URL-i və açarı yapıştırın, sonra model kimi notrack-uncensored əlavə edin.

NextChat

Settings → Custom Endpoint-nı aktivləşdirin (OpenAI ilə uyğun) → əsas URL və açar, sonra model adını model sahəsinə yazın.

Cherry Studio

Settings → Model Providers → Add Provider → OpenAI yazın → əsas URL və açar, sonra "Add model" → notrack-uncensored.

LobeChat

Settings → AI Service Provider → OpenAI → custom API endpoint-nı aktivləşdirin, əsas URL-i və açarı yapıştırın, modeli model siyahısına əlavə edin.

Digər hər şey

LangChain, LlamaIndex, Open WebUI, Continue, JanitorAI proxy ayarları, curl — "OpenAI-compatible" və ya "custom base URL" seçimi olan hər hansı klient.

Yuxarıdaki menyu mətnləri tətbiq versiyaları arasında dəyişir — əgər etiket dəqiq uyğun gəlmirsə, "custom", "OpenAI-compatible" və ya "base URL" adlanan hər hansı ayarı axtarın.

Klient qoşulmursa

Açarlar

Suallar və ya baxılacaq sorğu id-si: dəstək · [email protected].