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 |
|---|---|
messages | Tələb olunur. system, user, assistant rolları. Hələlik yalnız mətn — şəkil hissələri rədd edilir. |
model | notrack-uncensored istifadə edin. |
stream | SSE üçün true. stream_options.include_usage həmişə aktivdir. |
max_tokens | Completion üçün tavan. Prompt + completion 100,000-tokenlik pəncərəyə sığmalıdır. |
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, n | OpenAI-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_choice | Də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ı
| Limit | Dəyər | Aşıldıqda |
|---|---|---|
| Açar üzrə eyni vaxtda sorğular | 8 | 429 concurrency |
| Açar üzrə dəqiqədə sorğular | 300 | 429 rate_limit |
| Kontekst pəncərəsi (prompt + completion) | 100,000 token | 400 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 edirsiniz | 402 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ıq | Məna |
|---|---|
X-Request-Id | Dəstəyə yazarkən bunu qeyd edin; bu sorğu haqqında saxladığımız yeganə şeydir. |
X-NoTrack-Balance-USD | Bu sorğunun əvvəlki balansınız, dollarla ödəndi. |
X-RateLimit-Limit-Requests | Bu açar üçün dəqiqədə icazə verilən sorğu sayı. |
X-RateLimit-Limit-Concurrency | Bu açar üçün icazə verilən paralel sorğu sayı. |
X-NoTrack-Content-Flag | Yalnı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" } }
| HTTP | type | Nə etməli |
|---|---|---|
| 400 | body | Yanlış JSON və ya messages yoxdur. |
| 400 | context_limit | Prompt 100,000-tokenlik pəncərə üçün çox uzundur. Köhnə növbələri (turns) çıxarın. |
| 400 | content_policy + X-NoTrack-Content-Flag: minor_in_sexual_context | Sə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. |
| 401 | auth, invalid_key, key_revoked, key_expired | Açarı düzəldin və ya əvəz edin. |
| 402 | no_credit | Balans sıfırdır. Balansı artırın; sorğular dərhal bərpa olunur. |
| 402 | key_daily_cap | Bu 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. |
| 403 | content_policy + X-NoTrack-Content-Flag: child_safety | Rədd edilib, ödəniş alınmır. Bax: Məzmun siyasəti. |
| 429 | rate_limit, concurrency | Sürəti azaldıb yenidən cəhd edin; hər iki X-RateLimit-* başlığına riayət edin. |
| 502 | upstream | Model cavab vermədi. Backoff ilə yenidən cəhd edin; ödəniş alınmır. |
| 503 | billing, safety | Bizim 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.
- Birinci açarınız $0.50 pulsuz balansla gəlir, 7 gün müddətinə keçərlidir — inteqrasiya və test üçün kifayətdir. Açar üçün təsdiqlənmiş e-poçt lazımdır ("balans bitir" bildirişi ora gedir). Ödənişli balansın vaxtı heç vaxt bitmir.
- Balansın vaxtı bitmir, abunə yoxdur və heç nə özbaşına yenilənmir. Açarlar səhifəsində kartla və ya USDT/USDC ilə balansı artırın.
- Rədd edilmiş (
4xx) və ya baş tutmamış (5xx) sorğulara görə heç nə hesablanmır. Sorğu yalnız bir dəfə, cavabdan sonra, onunX-Request-Id-nə əsasən hesablanır. - Balans bitir → siz balansı artırana qədər
402 no_credit. Sızmış açarın hesabı boşaltmaması üçün hər açara günlük tavan qoyun. - Kreditlər xidməti təmin edə bilmədiyimiz halda geri qaytarılır; onlar heç vaxt bitmir və plana tətbiq oluna bilər. Kreditlər və geri ödənişlər baxın.
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:
- Xam (defolt) — sistem promptunuz promptun hamısıdır. Biz bir sətir kimlik əlavə edirik, başqa heç nə.
- NoTrack obrazı — notrack.ai-dəki söhbətin obrazı və üslubu: birbaşa, filtrsiz, moizəsiz, istifadəçinin dilində cavab verir. Eyni model, eyni qiymət, eyni məzmun siyasəti; yalnız mesajlarınızın qarşısındakı prompt dəyişir. Sizin öz sistem mesajınız hələ də bundan sonra gəlir və onu tənzimləyə bilər.
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.
403 child_safety— sorğu uşaqla bağlı cinsi məzmun axtarırdı. Rədd edilib, ödəniş alınmır, təhlükəsizlik hadisəsi kimi qeyd olunub.400 minor_in_sexual_context— səhnə cinsi xarakterlidir və personaj 18 yaşından kiçik kimi oxunur (yaş bildirilib, məktəb şəraiti, "qız/oğlan" çərçivəsi). Qadağa deyil: yaşları və çərçivəni birmənalı şəkildə yetkin edin və yenidən göndərin.
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
- 401 / "invalid API key" — açar heç vaxt çatmayıb. Klientin
Authorization: Bearer sk-notrack-…-ni açarın hamısı ilə, prefiks daxil olmaqla, göndərdiyini yoxlayın. - 404 / naməlum endpoint — klientlər
/v1-ni özləri əlavə etmək məsələsində razılaşmır. Əgərhttps://api.notrack.ai/v1404 qaytarırsa, onun əvəzinəhttps://api.notrack.ai-ni əsas URL kimi sınayın (və ya əksinə). - "The Responses API is not supported yet" — bəzi daha yeni klientlər defolt olaraq OpenAI-ın Responses API-sini istifadə edir. Biz yalnız Chat Completions-a xidmət edirik; klienti həmin rejimə keçirin.
- Boş model siyahısı — bəzi klientlər onu yalnız etibarlı açar yoxlanışından sonra doldurur.
notrack-uncensored-ni əl ilə yazın. - Ollama / llama.cpp klientində heç nə baş vermir — onlar OpenAI ilə uyğun olmayan öz protokollarında danışır. Əvəzinə yuxarıdaki klientlərdən birini istifadə edin.
Açarlar
- Hər hesab üçün maksimum 20 aktiv açar. Hər tətbiqə öz açarını və öz günlük tavanını verin.
- Könüllü bitmə tarixi; açarı ləğv etmək onu dərhal dayandırır və geri qaytarıla bilməz — əvəzinə yeni bir açar buraxın.
- Açarlar səhifəsi hər açar üzrə xərci, son istifadəni və hesabın 30 günlük ümumi göstəricilərini göstərir.
Suallar və ya baxılacaq sorğu id-si: dəstək · [email protected].