NoTrack API — анықтама
Бір OpenAI-мен үйлесімді endpoint, бір модель, бір key. Егер сіздің кодыңыз /v1/chat/completions-мен сөйлесіп тұрса, base URL мен key-ді ғана өзгертіңіз — ол бізбен сөйлесе бастайды.
Base URL және аутентификация
Base URL: https://api.notrack.ai/v1
Header: Authorization: Bearer sk-notrack-…
Key-лер key-лер беті бетінде жасалады. Key жасалған кезде бір-ақ рет көрсетіледі; біз оның хэшін және соңғы алты таңбасын сақтаймыз. Оны тек HTTPS арқылы және тек Authorization header-інде жіберіңіз — ешқашан URL ішінде емес.
Барлығы JSON (Content-Type: application/json). Жауаптар OpenAI сызбасын қолданады, сондықтан ресми openai SDK-лары мен кез келген OpenAI-мен үйлесімді клиент өзгеріссіз жұмыс істейді.
Модельдер
GET /v1/models
{ "object": "list",
"data": [ { "id": "notrack-uncensored", "object": "model", "owned_by": "notrack" } ] }
Бар болғаны бір модель — notrack-uncensored: біздің өз GPU серверлерімізде іске қосылатын өз моделіміз. model ретінде не жіберсеңіз де, ол осы модельге бағытталады; log-тарыңыз біздікімен сәйкес келуі үшін жалпыға қолжетімді id-ды қолданыңыз.
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
}
Жауап — стандартты пішін, 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 }
}
Әңгімені сіздің system prompt-ыңыз басқарады. Біз алдына тек бір-ақ жол қосамыз — модельдің болмысы (ол NoTrack жасаған notrack-uncensored екені) — басқа ешнәрсе жоқ: ережелер жоқ, тақырып фильтрі жоқ. Сіздің system хабарламаңыз одан кейін жүреді және персонаны, стильді және қалғанының бәрін шешеді. Жалғыз ерекшелік — Контент саясаты.
Стриминг
"stream": true-ды орнатып, OpenAI-дағыдай server-sent event-терді оқыңыз. Соңғы chunk-та 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 рөлдері. Қазірше тек мәтін — сурет бөліктері қабылданбайды. |
model | notrack-uncensored-ды қолданыңыз. |
stream | SSE үшін true. stream_options.include_usage әрдайым қосулы. |
max_tokens | Completion-ға шектеу. Prompt + completion 100,000 токендік терезеге сай келуі керек. |
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, n | OpenAI-дағыдай модельге сол күйінде беріледі. temperature жібермесеңіз, біз чатымыздағыдай 0,85 қолданамыз. n > 1 output құнын еселейді. |
tools, tool_choice | Қолдау бар: auto, none, required, немесе атаулы функция. Жауапта tool_calls мен finish_reason: "tool_calls" болады; нәтижені role: "tool" хабарламасы ретінде қайта жіберіңіз. Tool-дар болғанда стриминг жауабы токен бойынша емес, әр шақыруға бір chunk болып келеді. |
response_format | {"type": "json_object"}-ға қолдау бар (қандай JSON керегін prompt-та айтыңыз). json_schema мен ескі functions өрісіне қолдау жоқ. |
Шектеулер және жауап header-лері
| Шектеу | Мән | Асып кетсе |
|---|---|---|
| Бір key бойынша қатарлас сұраныстар | 8 | 429 concurrency |
| Бір key бойынша минутына сұраныстар | 300 | 429 rate_limit |
| Контекст терезесі (prompt + completion) | 100,000 токен | 400 context_limit — тарихты қысқартып, қайта көріңіз |
| Бір key бойынша күнделікті шығын (міндетті емес) | key-лер бетінде өзіңіз орнатасыз | 402 key_daily_cap UTC 00:00-ге дейін |
Сынақ кілттері (алғашқы толтыруға дейін): бір мезгілдегі сұраулар — 2, минутына сұраулар — 60. Алғашқы толтырудан кейін кілт толық шектеулерді алады: 8 және 300.
Әрбір сәтті жауапта мыналар болады:
| Header | Мағынасы |
|---|---|
X-Request-Id | Support-қа жазғанда осыны келтіріңіз; сұраныс туралы біз сақтайтын жалғыз дерек осы. |
X-NoTrack-Balance-USD | Осы сұраныс үшін алынған, доллармен көрсетілген алынғанға дейінгі несие қалдығыңыз. |
X-RateLimit-Limit-Requests | Осы key үшін рұқсат етілген минуттық сұраныс саны. |
X-RateLimit-Limit-Concurrency | Осы key үшін рұқсат етілген параллель сұраныстар. |
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" } }
| HTTP | type | Не істеу керек |
|---|---|---|
| 400 | body | JSON жарамсыз немесе messages жоқ. |
| 400 | context_limit | 100,000 токендік терезе үшін prompt тым ұзын. Ескі кезектерді алып тастаңыз. |
| 400 | content_policy + X-NoTrack-Content-Flag: minor_in_sexual_context | Көрініс жыныстық сипатта оқылады, ал кейіпкер кәмелетке толмаған болып оқылады. Кейіпкерлерді анық ересек етіп, қайта жіберіңіз; ақы алынбайды. |
| 401 | auth, invalid_key, key_revoked, key_expired | Key-ді түзетіңіз немесе ауыстырыңыз. |
| 402 | no_credit | Баланс нөлге тең. Толықтырыңыз — сұраныстар бірден қайта жалғасады. |
| 402 | key_daily_cap | Бұл key сіз орнатқан күнделікті шекке жетті. Оны көтеріңіз немесе UTC 00:00-ге дейін күтіңіз. |
| 403 | content_policy + X-NoTrack-Content-Flag: child_safety | Бас тартылды және ақы алынбады. Контент саясаты-ды қараңыз. |
| 429 | rate_limit, concurrency | Жылдамдықты азайтып қайта көріңіз; екі X-RateLimit-* header-ін орындаңыз. |
| 502 | upstream | Модель жауап бермеді. Backoff-пен қайта көріңіз; ақы алынбайды. |
| 503 | billing, safety | Біздің тәуелділіктердің біреуі істен шықты. Бірнеше секундтан кейін қайта көріңіз; ақы алынбайды. |
Төлем
Алдын ала төленген несие, әр жауаптың нақты usage-і бойынша токен санына сай алынады: 1 млн input токен үшін $0.15, 1 млн output токен үшін $0.50. Input — сіз жіберетін барлық нәрсе (system prompt, тарих, жаңа хабарлама); output — модель жазған нәрсе.
- Бірінші key-іңізге 7 күнге жарамды $0.50 тегін несие қосылады — интеграция мен тестілеуге жеткілікті. Key алу үшін расталған email қажет ("несие азайып барады" хабарламасы соған келеді). Төленген несие ешқашан мерзімі бітпейді.
- Несиенің мерзімі бітпейді, жазылым жоқ және автоматты түрде ешнәрсе жаңармайды. Key-лер бетінде картамен немесе USDT/USDC-пен толықтырыңыз.
- Бас тартылған (
4xx) немесе сәтсіз (5xx) сұраныстар үшін ешнәрсе алынбайды. Сұраныс жауаптан кейін, оныңX-Request-Id-і бойынша бір-ақ рет ақы алады. - Баланс таусылса → толықтырғанға дейін
402 no_credit. Ағып кеткен key есепшотты бос қалдырмауы үшін әр key-ге күнделікті шек қойыңыз. - Кредиттер біз қызмет көрсете алмаған жағдайда ғана қайтарылмайды; олар ешқашан мерзімі бітпейді және жоспарға қолданылуы мүмкін. Кредиттер және қайтару көріңіз.
Персона — таза модель немесе NoTrack кейіпкері
Әр key-де key-лер бетінде таңдалатын және кез келген уақытта ауыстырылатын стиль бар:
- Таза (әдепкі) — сіздің system prompt-ыңыз prompt-тың бүкілі болады. Біз тек болмыс жайлы бір жол қосамыз, басқа ештеме емес.
- NoTrack персонасы — notrack.ai сайтындағы чаттың кейіпкері мен стилі: тікелей, фильтрсіз, ақыл айтпайды, пайдаланушының тілінде жауап береді. Модель бір, баға бір, контент саясаты бір; тек сіздің хабарламаларыңыздың алдындағы prompt өзгереді. Сіздің system хабарламаңыз бұрынғысынша одан кейін жүреді және оны реттей алады.
Сұраныс key параметрін өрiс арқылы да, немесе тек модель атауын орнатуға болатын клиенттер үшін модель суффиксі арқылы да қайта анықтай алады:
{ "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. Жауап header-і X-NoTrack-Persona қайсысы қолданылғанын көрсетеді.
Контент саясаты
Біз ешбір system prompt қосамыз және ешбір тақырып фильтрін жүргізбейміз. Ересектерге арналған көркем шығарма, қараңғы тақырыптар, өткір тіл, көркем шығармадағы зорлық-зомбылық — модель жазылғандай жауап береді. Бір ереже кодта бекітілген және оны өшіру мүмкін емес: кәмелетке толмағанға қатысты жыныстық мазмұнның кез келгені бас тартылады.
403 child_safety— сұраныс балаға қатысты жыныстық мазмұнды сұрады. Бас тартылды, ақы алынбады, қауіпсіздік оқиғасы ретінде тіркелді.400 minor_in_sexual_context— көрініс жыныстық сипатта, ал кейіпкер 18 жасқа толмаған болып оқылады (жасы көрсетілген, мектеп ортасы, "қыз/бала" деп сипатталуы). Бұл тұрақты тыйым емес: жас пен сипаттаманы анық ересек етіп, қайта жіберіңіз.
Бір key бойынша 403 қайталанса, алдымен key, содан кейін есепшот жабылады. Толық мәтін Acceptable Use policy-де.
Құпиялылық
Prompt пен completion дискіге жазылмайды — оны gateway да, модель серверлері де жазбайды. Әр сұраныс бойынша біз сақтайтын нәрсе — сұраныс id-і, key id-і, токен саны және баға, өйткені шот дәл осыларға негізделеді. Қауіпсіздік бас тартулары мәтінсіз, категория бойынша тіркеледі. Сіздің трафигіңізді ешбір үшінші тарап модель провайдері көрмейді: модель біздің өз GPU серверлерімізде жұмыс істейді.
Клиенттер және SDK
NoTrack сайты мен NoTrack қосымшасы — біздің өз чатымыз, оларда API key үшін өріс жоқ және ешқашан болмайды. Key басқа бағдарламалары үшін арналған: оны төмендегі клиенттердің біреуіне немесе өз кодыңызға қойыңыз.
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 қосулы. Контекст өлшемін 100,000 токеннен аспайтындай сақтаңыз.
Chatbox
Settings → Model Provider → Add → Add Custom Provider, OpenAI API Compatible режимі → base URL мен key-ді қойыңыз, содан кейін notrack-uncensored-ды модель ретінде қосыңыз.
NextChat
Settings → Custom Endpoint-ды қосыңыз (OpenAI-мен үйлесімді) → base URL мен key, содан кейін модель өрісіне модель атауын жазыңыз.
Cherry Studio
Settings → Model Providers → Add Provider → OpenAI деп жазыңыз → base URL мен key, содан кейін "Add model" → notrack-uncensored.
LobeChat
Settings → AI Service Provider → OpenAI → custom API endpoint-ды қосыңыз, base URL мен key-ді қойыңыз және модельді модель тізіміне қосыңыз.
Басқа кез келгені
LangChain, LlamaIndex, Open WebUI, Continue, JanitorAI proxy баптаулары, curl — "OpenAI-мен үйлесімді" немесе "custom base URL" опциясы бар кез келген клиент.
Жоғарыдағы мәзір жазулары қолданба нұсқалары арасында өзгереді — егер белгі дәл сәйкес келмесе, "custom", "OpenAI-compatible" немесе "base URL" деп аталатын баптауды іздеңіз.
Клиент қосылмаса
- 401 / "invalid API key" — key келіп жетпеді. Клиент
Authorization: Bearer sk-notrack-…-ды толық key-мен, префиксімен қоса жіберетінін тексеріңіз. - 404 / белгісіз endpoint — клиенттер
/v1-ды өздері қосу керек пе, жоқ па дегенде бір келісімге келмейді. Егерhttps://api.notrack.ai/v1404 қайтарса, оның орнынаhttps://api.notrack.ai-ды base URL ретінде көріңіз (немесе керісінше). - "The Responses API is not supported yet" — кейбір жаңа клиенттер әдепкі бойынша OpenAI-дың Responses API-ін қолданады. Біз тек Chat Completions ұсынамыз; клиентті сол режимге ауыстырыңыз.
- Модельдер тізімі бос — кейбір клиенттер оны тек жарамды key тексерілгеннен кейін толтырады.
notrack-uncensored-ды қолмен жазыңыз. - Ollama / llama.cpp клиентінде ешнәрсе болмайды — олар OpenAI-мен үйлесімді емес, өз протоколын қолданады. Оның орнына жоғарыдағы клиенттердің біреуін қолданыңыз.
Key-лер
- Бір есепшотқа 20-ға дейін белсенді key. Әр қосымшаға өз key-і мен өз күнделікті шегін беріңіз.
- Мерзімі міндетті емес; key-ді қайтарып алу оны бірден тоқтатады және қайтарылмайды — оның орнына жаңасын шығарыңыз.
- Key-лер бетінде key бойынша шығын, соңғы қолданылу уақыты және есепшоттың 30 күндік жиынтығы көрсетіледі.
Сұрақтар немесе қарау керек сұраныс id-і болса: қолдау қызметі · [email protected].