GetNoTrack API — referensi
Satu endpoint kompatibel OpenAI, satu model, satu key. Jika kode Anda sudah berbicara dengan /v1/chat/completions, ubah base URL dan key-nya, lalu kode itu akan berbicara dengan kami.
Base URL & autentikasi
Base URL: https://api.getnotrack.com/v1
Header: Authorization: Bearer sk-…
Key dibuat di halaman key. Sebuah key ditampilkan sekali, saat dibuat; kami menyimpan hash-nya dan enam karakter terakhirnya. Kirim hanya lewat HTTPS dan hanya di header Authorization — jangan pernah di URL.
Semuanya JSON (Content-Type: application/json). Respons menggunakan skema OpenAI, sehingga SDK resmi openai dan setiap klien yang kompatibel dengan OpenAI berfungsi tanpa perubahan.
Model
GET /v1/models
{ "object": "list",
"data": [ { "id": "notrack-uncensored", "object": "model", "owned_by": "notrack" } ] }
Hanya ada satu model, notrack-uncensored: tune companion buatan kami sendiri, dijalankan di hardware kami sendiri. Apa pun yang Anda kirim sebagai model akan dirutekan ke model ini; gunakan id publiknya agar log Anda cocok dengan log kami.
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
}
Respons — bentuk standar, dengan jumlah token sebenarnya di usage (itulah yang menjadi dasar penagihan Anda):
{
"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 Anda yang mengatur percakapan. Kami menambahkan tepat satu baris di depan — identitas model (bahwa ini adalah notrack-uncensored, buatan GetNoTrack) — dan tidak ada yang lain: tanpa aturan, tanpa filter topik. Pesan sistem Anda mengikutinya dan menentukan persona, gaya, dan sisanya. Satu-satunya pengecualian ada di Kebijakan konten.
Streaming
Set "stream": true dan baca server-sent events, sama seperti pada OpenAI. Chunk terakhir membawa usage (kami selalu menyertakannya, baik Anda meminta stream_options atau tidak), lalu 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 | Catatan |
|---|---|
messages | Wajib. Role system, user, assistant. Hanya teks untuk saat ini — bagian gambar akan ditolak. |
model | Gunakan notrack-uncensored. |
stream | true untuk SSE. stream_options.include_usage selalu aktif. |
max_tokens | Batas untuk completion. Prompt + completion harus muat dalam jendela 64,000 token. |
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, n | Diteruskan ke model seperti pada OpenAI. Jika Anda tidak mengirim temperature, kami memakai 0,85, sama seperti chat kami. n > 1 melipatgandakan biaya output. |
tools, tool_choice | Didukung: auto, none, required, atau fungsi bernama. Balasan membawa tool_calls dan finish_reason: "tool_calls"; kirim balik hasilnya sebagai pesan role: "tool". Jika ada tool, balasan streaming datang sebagai satu chunk per panggilan, bukan token demi token. |
response_format | {"type": "json_object"} didukung (sebutkan di prompt JSON seperti apa yang Anda inginkan). json_schema dan field lama functions tidak didukung. |
Limit & header respons
| Limit | Nilai | Jika terlampaui |
|---|---|---|
| Request bersamaan per key | 8 | 429 concurrency |
| Request per menit per key | 300 | 429 rate_limit |
| Jendela konteks (prompt + completion) | 64,000 token | 400 context_limit — pangkas riwayat dan coba lagi |
| Pengeluaran harian per key (opsional) | diatur oleh Anda di halaman key | 402 key_daily_cap sampai 00:00 UTC |
Setiap respons yang berhasil membawa:
| Header | Arti |
|---|---|
X-Request-Id | Sebutkan ini saat menulis ke support; ini satu-satunya hal yang kami simpan tentang sebuah request. |
X-NoTrack-Balance-USD | Saldo Anda sebelum request ini ditagihkan, dalam dolar. |
X-RateLimit-Limit-Requests | Request per menit yang diizinkan untuk key ini. |
X-RateLimit-Limit-Concurrency | Request paralel yang diizinkan untuk key ini. |
X-NoTrack-Content-Flag | Hanya pada penolakan konten: minor_in_sexual_context atau child_safety. |
Error
Error berupa JSON dengan type yang stabil; message untuk manusia dan dapat berubah.
{ "error": { "type": "no_credit", "message": "no credit left on this account — top up at getnotrack.com/api-keys" } }
| HTTP | type | Yang harus dilakukan |
|---|---|---|
| 400 | body | JSON tidak valid atau tidak ada messages. |
| 400 | context_limit | Prompt terlalu panjang untuk jendela 64,000 token. Buang giliran yang lebih lama. |
| 400 | content_policy + X-NoTrack-Content-Flag: minor_in_sexual_context | Skenario terbaca seksual dan sebuah karakter terbaca sebagai anak di bawah umur. Jadikan karakter secara jelas dewasa dan kirim ulang; tidak ditagih. |
| 401 | auth, invalid_key, key_revoked, key_expired | Perbaiki atau ganti key. |
| 402 | no_credit | Saldo nol. Isi ulang; request dilanjutkan segera. |
| 402 | key_daily_cap | Key ini mencapai batas harian yang Anda tetapkan. Naikkan batasnya atau tunggu hingga 00:00 UTC. |
| 403 | content_policy + X-NoTrack-Content-Flag: child_safety | Ditolak dan tidak ditagih. Lihat Kebijakan konten. |
| 429 | rate_limit, concurrency | Perlambat dan coba lagi; patuhi kedua header X-RateLimit-*. |
| 502 | upstream | Model tidak merespons. Coba lagi dengan backoff; tidak ditagih. |
| 503 | billing, safety | Salah satu dependensi kami sedang down. Coba lagi dalam beberapa detik; tidak ditagih. |
Penagihan
Saldo prabayar, ditagih per token berdasarkan usage sebenarnya dari setiap respons: $0.25 per 1 juta token input, $1.00 per 1 juta token output. Input adalah semua yang Anda kirim (system prompt, riwayat, pesan baru); output adalah yang ditulis model.
- Key pertama Anda disertai $0.50 saldo gratis, berlaku selama 7 hari — cukup untuk mengintegrasikan dan menguji. Email terverifikasi diperlukan untuk sebuah key (itulah tujuan notifikasi "saldo hampir habis"). Saldo berbayar tidak pernah kedaluwarsa.
- Saldo tidak kedaluwarsa, tidak ada subscription, dan tidak ada yang otomatis diperpanjang. Isi ulang dengan kartu atau dalam USDT/USDC di halaman key.
- Tidak ada biaya untuk request yang ditolak (
4xx) atau gagal (5xx). Sebuah request ditagih sekali, setelah respons, berdasarkanX-Request-Id-nya. - Saldo habis →
402 no_creditsampai Anda mengisi ulang. Tetapkan batas harian pada setiap key agar key yang bocor tidak dapat menghabiskan akun. - Kredit dapat dikembalikan jika belum digunakan dalam waktu 24 jam setelah pembelian, atau nantinya diterapkan ke langganan. Lihat Kredit dan pengembalian dana.
Persona — model polos atau karakter GetNoTrack
Setiap key memiliki gaya, dipilih di halaman key dan dapat diganti kapan saja:
- Polos (default) — system prompt Anda adalah keseluruhan prompt. Kami menambahkan satu baris identitas dan tidak ada yang lain.
- Persona GetNoTrack — karakter dan gaya chat di getnotrack.com: langsung, tanpa filter, tanpa menceramahi, menjawab dalam bahasa pengguna. Model sama, harga sama, kebijakan konten sama; hanya prompt di depan pesan Anda yang berubah. Pesan sistem Anda sendiri tetap mengikutinya dan dapat menyesuaikannya.
Sebuah request dapat menimpa setelan key, baik dengan field maupun dengan suffix model (untuk klien yang hanya bisa mengatur nama model):
{ "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
Nama persona: notrack (karakter polos), concise, detailed, creative (varian yang sama yang ditawarkan chat), bare. Header respons X-NoTrack-Persona menunjukkan mana yang diterapkan.
Kebijakan konten
Kami tidak menambahkan system prompt dan tidak menjalankan filter topik apa pun. Fiksi dewasa, tema gelap, bahasa kasar, kekerasan dalam fiksi — model menjawab sesuai yang ditulis. Satu aturan diberlakukan dalam kode dan tidak dapat dimatikan: apa pun yang bersifat seksual yang melibatkan anak di bawah umur akan ditolak.
403 child_safety— request mencari konten seksual yang melibatkan anak. Ditolak, tidak ditagih, dicatat sebagai kejadian keamanan.400 minor_in_sexual_context— skenario bersifat seksual dan sebuah karakter terbaca di bawah 18 tahun (usia disebutkan, latar sekolah, framing "anak perempuan/laki-laki"). Bukan larangan permanen: jadikan usia dan framing secara jelas dewasa dan kirim ulang.
403 yang berulang pada sebuah key akan berujung pada penutupan key, lalu akun. Teks lengkapnya ada di Acceptable Use policy.
Privasi
Prompt dan completion tidak ditulis ke disk — tidak oleh gateway, tidak oleh server model. Yang kami simpan per request adalah id request, id key, jumlah token, dan harga, karena itulah dasar penagihan. Penolakan keamanan dicatat berdasarkan kategori, tanpa teksnya. Tidak ada penyedia model pihak ketiga yang pernah melihat traffic Anda: model berjalan di hardware yang kami sewa dan kendalikan sendiri.
Klien & SDK
Situs GetNoTrack dan aplikasi GetNoTrack adalah chat kami sendiri — keduanya tidak memiliki field untuk API key dan tidak akan pernah memilikinya. Sebuah key ditujukan untuk program lain: tempelkan ke salah satu klien di bawah ini, atau ke kode Anda sendiri.
Python
from openai import OpenAI
client = OpenAI(base_url="https://api.getnotrack.com/v1", api_key="sk-…")
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.getnotrack.com/v1", apiKey: process.env.API_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.getnotrack.com/v1 → Custom API Key → Connect → Model notrack-uncensored. Streaming aktif. Jaga ukuran konteks pada atau di bawah 64,000 token.
Chatbox
Settings → Model Provider → Add → Add Custom Provider, mode OpenAI API Compatible → tempelkan base URL dan key, lalu tambahkan notrack-uncensored sebagai model.
NextChat
Settings → aktifkan Custom Endpoint (kompatibel OpenAI) → base URL dan key, lalu ketik nama model di field model.
Cherry Studio
Settings → Model Providers → Add Provider → ketik OpenAI → base URL dan key, lalu "Add model" → notrack-uncensored.
LobeChat
Settings → AI Service Provider → OpenAI → aktifkan custom API endpoint, tempelkan base URL dan key, lalu tambahkan model ke daftar model.
Lainnya
LangChain, LlamaIndex, Open WebUI, Continue, setelan proxy JanitorAI, curl — klien apa pun dengan opsi "kompatibel OpenAI" atau "base URL custom".
Penulisan menu di atas berubah antar versi aplikasi — jika sebuah label tidak cocok tepat, cari setelan yang menyebut "custom", "OpenAI-compatible", atau "base URL".
Jika klien tidak bisa terhubung
- 401 / "invalid API key" — key tidak pernah terkirim. Pastikan klien mengirim
Authorization: Bearer sk-…dengan seluruh key, termasuk prefix-nya. - 404 / endpoint tidak dikenal — klien berbeda-beda soal apakah mereka menambahkan
/v1sendiri. Jikahttps://api.getnotrack.com/v1memberi 404, cobahttps://api.getnotrack.comsebagai base URL sebagai gantinya (atau sebaliknya). - "The Responses API is not supported yet" — beberapa klien yang lebih baru secara default memakai Responses API milik OpenAI. Kami hanya melayani Chat Completions; alihkan klien ke mode itu.
- Daftar model kosong — beberapa klien hanya mengisinya setelah pengecekan key yang valid. Ketik
notrack-uncensoredsecara manual. - Tidak ada yang terjadi pada klien Ollama / llama.cpp — klien tersebut memakai protokolnya sendiri, tidak kompatibel dengan OpenAI. Gunakan salah satu klien di atas sebagai gantinya.
Key
- Hingga 20 key aktif per akun. Beri setiap aplikasi key-nya sendiri dan batas hariannya sendiri.
- Tanggal kedaluwarsa opsional; mencabut sebuah key langsung menghentikannya dan tidak dapat dibatalkan — buat key baru sebagai gantinya.
- Halaman key menampilkan pengeluaran per key, penggunaan terakhir, dan total 30 hari akun.
Pertanyaan atau id request yang ingin diperiksa: support · getnotrack.com/support.