NoTrack API — referenca

Jedan OpenAI-kompatibilan endpoint, jedan model, jedan ključ. Ako vaš kod već razgovara s /v1/chat/completions, promijenite osnovni URL i ključ, i razgovarat će s nama.

Osnovni URL i autentikacija

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

Ključevi se stvaraju na stranica s ključevima. Ključ se prikazuje samo jednom, pri stvaranju; mi pohranjujemo hash i njegovih posljednjih šest znakova. Šaljite ga samo preko HTTPS-a i samo u zaglavlju Authorization — nikad u URL-u.

Sve je u JSON-u (Content-Type: application/json). Odgovori koriste OpenAI shemu, tako da službeni openai SDK-ovi i svaki OpenAI-kompatibilan klijent radi bez promjena.

Modeli

GET /v1/models

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

Postoji jedan model, notrack-uncensored: naš vlastiti model, poslužen na našim vlastitim GPU poslužiteljima. Sve što proslijedite kao model usmjerava se na njega; koristite javni id kako bi se vaši zapisi poklapali s našima.

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
}

Odgovor — standardni oblik, sa stvarnim brojem tokena u usage (na temelju toga vam se naplaćuje):

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

Vaš system prompt upravlja razgovorom. Dodajemo točno jedan redak na početku — identitet modela (da je riječ o notrack-uncensored, koji je izradio NoTrack) — i ništa drugo: nema pravila, nema filtra tema. Vaša sistemska poruka slijedi ga i odlučuje o personi, stilu i svemu ostalom. Jedina iznimka je u Pravila o sadržaju.

Streaming

Postavite "stream": true i čitajte server-sent evente, potpuno kao kod OpenAI-a. Posljednji dio nosi usage (uvijek ga uključujemo, bez obzira tražite li stream_options ili ne), zatim 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]

Parametri

PoljeNapomene
messagesObavezno. Uloge system, user, assistant. Za sada samo tekst — dijelovi sa slikama se odbijaju.
modelKoristite notrack-uncensored.
streamtrue za SSE. stream_options.include_usage je uvijek uključen.
max_tokensGornja granica za completion. Prompt + completion moraju stati u prozor od 100,000 tokena.
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, nProsljeđuje se modelu kao kod OpenAI-a. Ako ne pošaljete temperature, koristimo 0.85, isto kao u našem chatu. n > 1 množi trošak izlaza.
tools, tool_choicePodržano: auto, none, required, ili imenovana funkcija. Odgovor nosi tool_calls i finish_reason: "tool_calls"; rezultat vratite kao poruku role: "tool". Kada su tools prisutni, streamani odgovor stiže kao jedan dio po pozivu, a ne token po token.
response_format{"type": "json_object"} je podržan (u promptu navedite kakav JSON želite). json_schema i stariji functions nisu.

Ograničenja i zaglavlja odgovora

OgraničenjeVrijednostKad se prekorači
Istovremeni zahtjevi po ključu8429 concurrency
Zahtjevi u minuti po ključu300429 rate_limit
Kontekstni prozor (prompt + completion)100,000 tokena400 context_limit — smanjite povijest i pokušajte ponovno
Dnevna potrošnja po ključu (neobavezno)postavljate vi na stranici s ključevima402 key_daily_cap do 00:00 UTC

Probni ključevi (prije prve uplate): istodobnih zahtjeva — 2, zahtjeva u minuti — 60. Nakon prve uplate ključ dobiva pune limite: 8 i 300.

Svaki uspješan odgovor nosi:

ZaglavljeZnačenje
X-Request-IdNavedite ga kad pišete podršci; to je jedino što čuvamo o zahtjevu.
X-NoTrack-Balance-USDVaše stanje kredita prije naplate ovog zahtjeva, u dolarima.
X-RateLimit-Limit-RequestsBroj zahtjeva u minuti dopušten za ovaj ključ.
X-RateLimit-Limit-ConcurrencyBroj paralelnih zahtjeva dopušten za ovaj ključ.
X-NoTrack-Content-FlagSamo kod odbijanja sadržaja: minor_in_sexual_context ili child_safety.

Pogreške

Pogreške su u JSON-u sa stabilnim type; message je za ljude i može se promijeniti.

{ "error": { "type": "no_credit", "message": "no credit left on this account — top up at notrack.ai/api-keys" } }
HTTPtypeŠto učiniti
400bodyNevažeći JSON ili nema messages.
400context_limitPrompt je previše dugačak za prozor od 100,000 tokena. Uklonite starije poruke.
400content_policy + X-NoTrack-Content-Flag: minor_in_sexual_contextScena se čita kao seksualna, a lik se čita kao maloljetan. Učinite likove nedvojbeno odraslima i ponovno pošaljite; ne naplaćuje se.
401auth, invalid_key, key_revoked, key_expiredIspravite ili zamijenite ključ.
402no_creditStanje je nula. Dopuna; zahtjevi se odmah nastavljaju.
402key_daily_capOvaj ključ dosegnuo je dnevnu granicu koju ste postavili. Podignite je ili pričekajte do 00:00 UTC.
403content_policy + X-NoTrack-Content-Flag: child_safetyOdbijeno i ne naplaćuje se. Vidi Pravila o sadržaju.
429rate_limit, concurrencySmanjite tempo i pokušajte ponovno; poštujte oba X-RateLimit-* zaglavlja.
502upstreamModel nije odgovorio. Pokušajte ponovno s odgodom; ne naplaćuje se.
503billing, safetyJedna od naših ovisnosti je nedostupna. Pokušajte ponovno za nekoliko sekundi; ne naplaćuje se.

Naplata

Unaprijed plaćeni kredit, naplaćuje se po tokenu na temelju stvarnog usage svakog odgovora: $0.15 po 1M ulaznih tokena, $0.50 po 1M izlaznih tokena. Ulaz je sve što pošaljete (system prompt, povijest, nova poruka); izlaz je ono što model napiše.

Persona — goli model ili NoTrackov karakter

Svaki ključ ima stil, odabran na stranici s ključevima i promjenjiv u bilo kojem trenutku:

Zahtjev može zamijeniti postavku ključa, bilo poljem ili sufiksom modela (za klijente koji mogu postaviti samo naziv modela):

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

Nazivi persona: notrack (jednostavan karakter), concise, detailed, creative (iste varijante koje nudi chat), bare. Zaglavlje odgovora X-NoTrack-Persona govori koja je primijenjena.

Pravila o sadržaju

Ne dodajemo nikakav system prompt i ne pokrećemo filtar tema. Fikcija za odrasle, mračne teme, grub jezik, nasilje u fikciji — model odgovara onako kako je napisano. Jedno pravilo provodi se u kodu i ne može se isključiti: sve seksualno što uključuje maloljetnika se odbija.

Ponovljeni 403 na ključu dovode do zatvaranja ključa, a zatim računa. Cjelovit tekst nalazi se u pravilima prihvatljivog korištenja.

Privatnost

Promptovi i completioni se ne zapisuju na disk — ni od gatewaya, ni od poslužitelja modela. Po zahtjevu čuvamo id zahtjeva, id ključa, broj tokena i cijenu, jer to čini račun. Sigurnosna odbijanja se bilježe po kategoriji, bez teksta. Nijedan pružatelj modela treće strane nikada ne vidi vaš promet: model radi na našim vlastitim GPU poslužiteljima.

Klijenti i SDK-ovi

NoTrack web-stranica i NoTrack aplikacija naš su vlastiti chat — nemaju polje za API ključ i nikad neće imati. Ključ je namijenjen vanjskim programima: zalijepite ga u jedan od klijenata ispod, ili u svoj vlastiti kod.

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 uključen. Držite veličinu konteksta na 100,000 tokena ili manje.

Chatbox

Settings → Model Provider → Add → Add Custom Provider, način OpenAI API Compatible → zalijepite osnovni URL i ključ, zatim dodajte notrack-uncensored kao model.

NextChat

Settings → uključite Custom Endpoint (OpenAI-kompatibilan) → osnovni URL i ključ, zatim upišite naziv modela u polje za model.

Cherry Studio

Settings → Model Providers → Add Provider → upišite OpenAI → osnovni URL i ključ, zatim "Add model" → notrack-uncensored.

LobeChat

Settings → AI Service Provider → OpenAI → omogućite custom API endpoint, zalijepite osnovni URL i ključ, i dodajte model na popis modela.

Sve ostalo

LangChain, LlamaIndex, Open WebUI, Continue, postavke proxya za JanitorAI, curl — svaki klijent s opcijom "OpenAI-compatible" ili "custom base URL".

Tekst izbornika iznad razlikuje se između verzija aplikacije — ako se natpis ne poklapa točno, potražite postavku koja spominje "custom", "OpenAI-compatible" ili "base URL".

Ako se klijent ne povezuje

Ključevi

Pitanja ili id zahtjeva za pregled: podrška · [email protected].