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 ကို ဖန်တီးစဉ်တွင် တစ်ကြိမ်တည်း ပြသသည်; ကျွန်ုပ်တို့က ၎င်း၏ hash နှင့် နောက်ဆုံးအက္ခရာ ၆ လုံးကိုသာ သိမ်းထားသည်။ ၎င်းကို HTTPS ဖြင့်သာ၊ Authorization header တွင်သာ ပေးပို့ပါ — URL အတွင်း လုံးဝ မထည့်ရ။

အားလုံးသည် JSON (Content-Type: application/json) ဖြစ်သည်။ Response များသည် OpenAI schema ကို အသုံးပြုသောကြောင့် တရားဝင် openai SDK များနှင့် OpenAI နှင့်ကိုက်ညီသော client တိုင်း ပြောင်းလဲမှုမလိုပဲ အလုပ်လုပ်သည်။

မော်ဒယ်များ

GET /v1/models

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

မော်ဒယ်တစ်ခုတည်းသာ ရှိသည်၊ notrack-uncensored: ကျွန်ုပ်တို့ကိုယ်ပိုင် GPU server များပေါ်တွင် အလုပ်လုပ်သော ကျွန်ုပ်တို့ကိုယ်ပိုင် မော်ဒယ်ဖြစ်သည်။ model အနေဖြင့် မည်သည့်တန်ဖိုးပေးပို့သည်ဖြစ်စေ ၎င်းမော်ဒယ်ထံသို့ route သွားမည်; သင့် log များနှင့် ကျွန်ုပ်တို့၏ log များ တူညီစေရန် public 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
}

Response — standard ပုံစံ၊ usage တွင် တကယ့် token အရေအတွက်ပါဝင်သည် (ဒီအရေအတွက်ပေါ်မူတည်၍ ငွေတောင်းခံသည်):

{
  "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 message က ၎င်းနောက်လိုက်ပြီး persona၊ style နှင့် အခြားအားလုံးကို ဆုံးဖြတ်သည်။ ချွင်းချက်တစ်ခုတည်းသာ Content Policy တွင် ရှိသည်။

Streaming

"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]

Parameter များ

Fieldမှတ်ချက်
messagesမဖြစ်မနေလိုအပ်သည်။ system၊ user၊ assistant role များ။ လက်ရှိတွင် စာသားသာ — ပုံ part များကို ငြင်းပယ်သည်။
modelnotrack-uncensored ကို အသုံးပြုပါ။
streamSSE အတွက် true။ stream_options.include_usage အမြဲဖွင့်ထားသည်။
max_tokensCompletion အတွက် ကန့်သတ်ချက်။ Prompt + completion သည် 100,000 token window ထဲတွင် ဆံ့ရမည်။
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, nOpenAI ကဲ့သို့ မော်ဒယ်ထံ တိုက်ရိုက်ပေးပို့သည်။ temperature မပေးပို့ပါက ကျွန်ုပ်တို့ chat တွင်သုံးသည့် 0.85 ကို အသုံးပြုသည်။ n > 1 သည် output ကုန်ကျစရိတ်ကို အဆများစေသည်။
tools, tool_choiceပံ့ပိုးသည်: auto၊ none၊ required၊ သို့မဟုတ် အမည်ပေးထားသော function။ Reply တွင် tool_calls နှင့် finish_reason: "tool_calls" ပါဝင်သည်; ရလဒ်ကို role: "tool" message အနေဖြင့် ပြန်ပေးပို့ပါ။ Tool များရှိသောအခါ streaming reply သည် token တစ်ခုချင်းအစား တစ်ခေါ်တစ်ခါ chunk တစ်ခုအနေဖြင့် ရောက်လာသည်။
response_format{"type": "json_object"} ကို ပံ့ပိုးသည် (လိုချင်သော JSON ပုံစံကို prompt တွင်ဖော်ပြပါ)။ json_schema နှင့် ရှေးဟောင်း functions field ကို ပံ့ပိုးမထားပါ။

ကန့်သတ်ချက်များနှင့် response header

ကန့်သတ်ချက်တန်ဖိုးကျော်လွန်ပါက
Key တစ်ခုချင်းအတွက် တစ်ပြိုင်နက် request အရေအတွက်8429 concurrency
Key တစ်ခုချင်းအတွက် တစ်မိနစ်လျှင် request အရေအတွက်300429 rate_limit
Context window (prompt + completion)100,000 token400 context_limit — မှတ်တမ်းကို ဖြတ်တောက်ပြီး ပြန်လည်ကြိုးစားပါ
Key တစ်ခုချင်းအတွက် နေ့စဉ်ကုန်ကျမှု (ရွေးချယ်နိုင်)key စာမျက်နှာတွင် သင်ကိုယ်တိုင်သတ်မှတ်ပါ402 key_daily_cap UTC 00:00 အထိ

စမ်းသပ်ကီးများ (ပထမဆုံး ငွေဖြည့်မီ): တစ်ပြိုင်နက် တောင်းဆိုမှု — 2၊ တစ်မိနစ်လျှင် တောင်းဆိုမှု — 60။ ပထမဆုံး ငွေဖြည့်ပြီးနောက် ကီးသည် အပြည့်အဝ ကန့်သတ်ချက်များကို ရရှိသည်: 8 နှင့် 300။

အောင်မြင်သော response တိုင်းတွင် အောက်ပါတို့ ပါဝင်သည်:

Headerအဓိပ္ပာယ်
X-Request-IdSupport ထံ ရေးသားစဉ် ဤတန်ဖိုးကို ကိုးကားပါ; request တစ်ခုအကြောင်း ကျွန်ုပ်တို့ သိမ်းထားသည့် တစ်ခုတည်းသောအရာဖြစ်သည်။
X-NoTrack-Balance-USDဒေါ်လာဖြင့် ဤ request အတွက် ကုန်ကျခံရသော မကုန်ကျမီ သင့်ခရက်ဒစ်လက်ကျန်။
X-RateLimit-Limit-Requestsဤ key အတွက် ခွင့်ပြုထားသော တစ်မိနစ်လျှင် request အရေအတွက်။
X-RateLimit-Limit-Concurrencyဤ key အတွက် ခွင့်ပြုထားသော တစ်ပြိုင်နက် request အရေအတွက်။
X-NoTrack-Content-FlagContent ငြင်းပယ်ချက်တွင်သာ: minor_in_sexual_context သို့မဟုတ် child_safety။

Error များ

Error များသည် တည်ငြိမ်သော type ပါရှိသော JSON ဖြစ်သည်; message သည် လူသားများအတွက်ဖြစ်ပြီး ပြောင်းလဲနိုင်သည်။

{ "error": { "type": "no_credit", "message": "no credit left on this account — top up at notrack.ai/api-keys" } }
HTTPtypeဘာလုပ်ရမလဲ
400bodyJSON မမှန်ကန်ခြင်း သို့မဟုတ် messages မရှိခြင်း။
400context_limit100,000 token window အတွက် prompt ရှည်လွန်းသည်။ ဟောင်းသော turn များကို ဖယ်ရှားပါ။
400content_policy + X-NoTrack-Content-Flag: minor_in_sexual_contextဇာတ်ကွက်သည် လိင်ပိုင်းဆိုင်ရာအဖြစ် ဖော်ပြပြီး ဇာတ်ကောင်တစ်ခုသည် အသက်မပြည့်သေးသူအဖြစ် ဖော်ပြသည်။ ဇာတ်ကောင်များကို ရှင်းလင်းစွာ လူကြီးအဖြစ် ပြောင်းလဲပြီး ပြန်ပေးပို့ပါ; ငွေတောင်းခံမည်မဟုတ်ပါ။
401auth, invalid_key, key_revoked, key_expiredKey ကို ပြင်ဆင်ပါ သို့မဟုတ် အစားထိုးပါ။
402no_creditလက်ကျန်ငွေ သုညဖြစ်နေသည်။ ငွေဖြည့်ပါ ပါက request များ ချက်ချင်းပြန်စတင်မည်။
402key_daily_capဤ key သည် သင်သတ်မှတ်ထားသော နေ့စဉ်ကန့်သတ်ချက်သို့ ရောက်ရှိသွားသည်။ ၎င်းကို မြှင့်တင်ပါ သို့မဟုတ် UTC 00:00 အထိ စောင့်ပါ။
403content_policy + X-NoTrack-Content-Flag: child_safetyငြင်းပယ်ပြီး ငွေတောင်းခံမည်မဟုတ်ပါ။ Content Policy ကို ကြည့်ပါ။
429rate_limit, concurrencyနှေးကွေးပြီး ပြန်ကြိုးစားပါ; X-RateLimit-* header နှစ်ခုကို လိုက်နာပါ။
502upstreamမော်ဒယ်က ပြန်ကြားချက်မပေးခဲ့ပါ။ Backoff ဖြင့် ပြန်ကြိုးစားပါ; ငွေတောင်းခံမည်မဟုတ်ပါ။
503billing, safetyကျွန်ုပ်တို့၏ dependency တစ်ခု ရပ်တန့်နေသည်။ စက္ကန့်အနည်းငယ်အတွင်း ပြန်ကြိုးစားပါ; ငွေတောင်းခံမည်မဟုတ်ပါ။

ငွေတောင်းခံမှု

ကြိုတင်ငွေချေခရက်ဒစ်၊ response တစ်ခုစီ၏ တကယ့် usage အပေါ်မူတည်ပြီး token အလိုက် ငွေတောင်းခံသည်: input token သန်း ၁ လျှင် $0.15၊ output token သန်း ၁ လျှင် $0.50။ Input ဆိုသည်မှာ သင်ပေးပို့သော အားလုံး (system prompt၊ မှတ်တမ်း၊ message အသစ်) ဖြစ်ပြီး output ဆိုသည်မှာ မော်ဒယ်ရေးသားသော အရာဖြစ်သည်။

Persona — မော်ဒယ်ပကတိအတိုင်း သို့မဟုတ် NoTrack ၏ ဇာတ်ကောင်

Key တစ်ခုစီတွင် key စာမျက်နှာတွင် ရွေးချယ်ထားပြီး အချိန်မရွေး ပြောင်းလဲနိုင်သော style တစ်ခု ရှိသည်:

Request တစ်ခုသည် field တစ်ခုဖြင့် သို့မဟုတ် model name ကိုသာ သတ်မှတ်နိုင်သော client များအတွက် model suffix ဖြင့် key ၏ setting ကို override လုပ်နိုင်သည်:

{ "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 အမည်များ: notrack (ရိုးရှင်းသောဇာတ်ကောင်)၊ concise၊ detailed၊ creative (chat ကပေးသော အတူတူ variant များ)၊ bare။ Response header X-NoTrack-Persona က မည်သည့်တစ်ခု အသုံးပြုခဲ့ကြောင်း ဖော်ပြသည်။

Content Policy

ကျွန်ုပ်တို့သည် system prompt မထည့်ပါ၊ ခေါင်းစဉ်စစ်ထုတ်ခြင်းလည်း မလုပ်ပါ။ လူကြီးဇာတ်ကြောင်း၊ အမှောင်ဇာတ်ကြောင်းများ၊ ပြင်းထန်သောစကားများ၊ ဇာတ်လမ်းအတွင်းရမ်းကားမှု — မော်ဒယ်က ရေးသားထားသည့်အတိုင်း ပြန်ကြားသည်။ ကုဒ်ထဲတွင် အတည်ပြုထားပြီး ပိတ်ထားရန် မဖြစ်နိုင်သော စည်းမျဉ်းတစ်ခု ရှိသည်: အသက်မပြည့်သေးသူပါဝင်သော လိင်ပိုင်းဆိုင်ရာအရာမှန်သမျှကို ငြင်းပယ်သည်။

Key တစ်ခုတွင် 403 ထပ်ခါထပ်ခါဖြစ်ပါက key၊ ထို့နောက် account ကို ပိတ်ပင်စေသည်။ စာသားအပြည့်အစုံသည် Acceptable Use policy တွင် ရှိသည်။

ကိုယ်ရေးကိုယ်တာ

Prompt နှင့် completion များကို disk ပေါ်တွင် မရေးသားပါ — gateway ကမှ၊ မော်ဒယ် server များကမှ မရေးသားပါ။ Request တစ်ခုစီအတွက် ကျွန်ုပ်တို့ သိမ်းထားသည်မှာ request id၊ key id၊ token အရေအတွက်နှင့် စျေးနှုန်းသာဖြစ်ပြီး ၎င်းသည် ငွေတောင်းခံလွှာ၏ အခြေခံဖြစ်သောကြောင့်ဖြစ်သည်။ ဘေးကင်းလုံခြုံမှုငြင်းပယ်ချက်များကို စာသားမပါဝင်ပဲ အမျိုးအစားအလိုက် မှတ်တမ်းတင်သည်။ တတိယပါတီ မော်ဒယ်ပံ့ပိုးသူတစ်ဦးမျှ သင့် traffic ကို ဘယ်တော့မှ မမြင်ပါ: မော်ဒယ်သည် ကျွန်ုပ်တို့၏ ကိုယ်ပိုင် GPU ဆာဗာများပေါ်တွင် အလုပ်လုပ်သည်။

Client များနှင့် SDK

NoTrack website နှင့် NoTrack app သည် ကျွန်ုပ်တို့ကိုယ်ပိုင် chat ဖြစ်ပြီး ၎င်းတို့တွင် API key ထည့်ရန် field မရှိပါ၊ ဘယ်တော့မှ ရှိလည်းမည်မဟုတ်ပါ။ Key တစ်ခုသည် အခြား program များအတွက်ဖြစ်သည်: အောက်ပါ client များထဲမှ တစ်ခုတွင် သို့မဟုတ် သင့်ကိုယ်ပိုင်ကုဒ်တွင် ကူးထည့်ပါ။

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 ဖွင့်ထားပါ။ Context size ကို 100,000 token သို့မဟုတ် အောက်တွင် ထားပါ။

Chatbox

Settings → Model Provider → Add → Add Custom Provider, mode OpenAI API Compatible → base URL နှင့် key ကို ကူးထည့်ပြီးနောက် notrack-uncensored ကို model အဖြစ် ထည့်ပါ။

NextChat

Settings → Custom Endpoint (OpenAI နှင့်ကိုက်ညီ) ကို ဖွင့်ပါ → base URL နှင့် key၊ ထို့နောက် model field တွင် model အမည်ကို ရိုက်ထည့်ပါ။

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 ကို ကူးထည့်ပါ၊ model ကို model list သို့ ထည့်ပါ။

အခြားအရာများ

LangChain, LlamaIndex, Open WebUI, Continue, JanitorAI proxy setting, curl — "OpenAI-compatible" သို့မဟုတ် "custom base URL" option ရှိသော client တိုင်း။

အထက်ပါ menu စာသားများသည် app version များကြားတွင် ပြောင်းလဲသည် — label တစ်ခု အတိအကျမကိုက်ညီပါက "custom"၊ "OpenAI-compatible" သို့မဟုတ် "base URL" ဟု ဖော်ပြထားသော setting ကို ရှာပါ။

Client တစ်ခု ချိတ်ဆက်မရပါက

Key များ

မေးခွန်းများ သို့မဟုတ် ကြည့်ရန် request id: support · [email protected]။