API BestPrivateAI — αναφορά

Ένα endpoint συμβατό με OpenAI, ένα μοντέλο, ένα κλειδί. Αν ο κώδικας σας ήδη επικοινωνεί με /v1/chat/completions, αλλάξτε το βασικό URL και το κλειδί, και θα επικοινωνεί με εμάς.

Βασικό URL & πιστοποίηση

Base URL:  https://api.bestprivateai.com/v1
Header:    Authorization: Bearer sk-…

Τα κλειδιά δημιουργούνται στη σελίδα τη σελίδα κλειδιών. Ένα κλειδί εμφανίζεται μία φορά, κατά τη δημιουργία του· εμείς αποθηκεύουμε ένα hash και τους τελευταίους έξι χαρακτήρες του. Στείλτε το μόνο μέσω HTTPS και μόνο στην κεφαλίδα Authorization — ποτέ σε ένα URL.

Όλα είναι JSON (Content-Type: application/json). Οι απαντήσεις χρησιμοποιούν το σχήμα του OpenAI, οπότε τα επίσημα openai SDK και κάθε client συμβατός με OpenAI λειτουργούν χωρίς αλλαγές.

Μοντέλα

GET /v1/models

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

Υπάρχει ένα μόνο μοντέλο, το notrack-uncensored: η δική μας companion ρύθμιση, εξυπηρετούμενη στο δικό μας υλικό. Ό,τι στείλετε ως model δρομολογείται σε αυτό· χρησιμοποιήστε το δημόσιο id ώστε τα logs σας να ταιριάζουν με τα δικά μας.

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
}

Απάντηση — η τυπική μορφή, με πραγματικές μετρήσεις token στο 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-uncensored, κατασκευασμένο από τη BestPrivateAI) — και τίποτα άλλο: κανένας κανόνας, κανένα φίλτρο θέματος. Το δικό σας system message ακολουθεί και καθορίζει persona, ύφος και όλα τα υπόλοιπα. Η μόνη εξαίρεση βρίσκεται στο Πολιτική περιεχομένου.

Ροή δεδομένων

Ορίστε "stream": true και διαβάστε server-sent events, ακριβώς όπως στο OpenAI. Το τελευταίο 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.
streamtrue για SSE. Το stream_options.include_usage είναι πάντα ενεργό.
max_tokensΑνώτατο όριο για το completion. Το prompt + completion πρέπει να χωρούν στο παράθυρο των 64,000 token.
temperature, top_p, stop, presence_penalty, frequency_penalty, seed, nΜεταβιβάζεται στο μοντέλο όπως στο OpenAI. Αν δεν στείλετε temperature, χρησιμοποιούμε 0,85, όπως στο chat μας. Το n > 1 πολλαπλασιάζει το κόστος εξόδου.
tools, tool_choiceΥποστηρίζονται: auto, none, required, ή μια ονομαστική συνάρτηση. Η απάντηση περιέχει tool_calls και finish_reason: "tool_calls"· στείλτε πίσω το αποτέλεσμα ως μήνυμα role: "tool". Με εργαλεία παρόντα, μια ροϊκή απάντηση φτάνει ως ένα chunk ανά κλήση και όχι token προς token.
response_formatΤο {"type": "json_object"} υποστηρίζεται (πείτε στο prompt τι JSON θέλετε). Το json_schema και το παλαιό πεδίο functions δεν υποστηρίζονται.

Όρια & κεφαλίδες απόκρισης

ΌριοΤιμήΣε υπέρβαση
Ταυτόχρονα αιτήματα ανά κλειδί8429 concurrency
Αιτήματα ανά λεπτό ανά κλειδί300429 rate_limit
Παράθυρο περιεχομένου (prompt + completion)64,000 token400 context_limit — περιορίστε το ιστορικό και δοκιμάστε ξανά
Ημερήσια δαπάνη ανά κλειδί (προαιρετικό)ορίζεται από εσάς στη σελίδα κλειδιών402 key_daily_cap μέχρι τις 00:00 UTC

Κάθε επιτυχής απάντηση περιέχει:

ΚεφαλίδαΣημασία
X-Request-IdΑναφέρετέ το όταν γράφετε στην υποστήριξη· είναι το μόνο που κρατάμε για ένα αίτημα.
X-NoTrack-Balance-USDΗ πίστωσή σας πριν χρεώθηκε αυτό το αίτημα, σε δολάρια.
X-RateLimit-Limit-RequestsΑιτήματα ανά λεπτό που επιτρέπονται για αυτό το κλειδί.
X-RateLimit-Limit-ConcurrencyΠαράλληλα αιτήματα που επιτρέπονται για αυτό το κλειδί.
X-NoTrack-Content-FlagΜόνο σε απόρριψη περιεχομένου: minor_in_sexual_context ή child_safety.

Σφάλματα

Τα σφάλματα είναι JSON με σταθερό type· το message προορίζεται για ανθρώπους και μπορεί να αλλάξει.

{ "error": { "type": "no_credit", "message": "no credit left on this account — top up at bestprivateai.com/api-keys" } }
HTTPtypeΤι να κάνετε
400bodyΜη έγκυρο JSON ή απουσία messages.
400context_limitΤο prompt είναι πολύ μεγάλο για το παράθυρο των 64,000 token. Αφαιρέστε παλαιότερους γύρους.
400content_policy + X-NoTrack-Content-Flag: minor_in_sexual_contextΗ σκηνή διαβάζεται ως σεξουαλική και ένας χαρακτήρας διαβάζεται ως ανήλικος. Κάντε τους χαρακτήρες αναμφισβήτητα ενήλικες και στείλτε ξανά· δεν χρεώνεται.
401auth, invalid_key, key_revoked, key_expiredΔιορθώστε ή αντικαταστήστε το κλειδί.
402no_creditΤο υπόλοιπο είναι μηδέν. Ανανεώστε την πίστωση· τα αιτήματα συνεχίζονται αμέσως.
402key_daily_capΑυτό το κλειδί έφτασε το ημερήσιο ανώτατο όριο που ορίσατε. Αυξήστε το ή περιμένετε μέχρι τις 00:00 UTC.
403content_policy + X-NoTrack-Content-Flag: child_safetyΑπορρίφθηκε και δεν χρεώθηκε. Δείτε Πολιτική περιεχομένου.
429rate_limit, concurrencyΧαμηλώστε τον ρυθμό και δοκιμάστε ξανά· σεβαστείτε τις δύο κεφαλίδες X-RateLimit-*.
502upstreamΤο μοντέλο δεν απάντησε. Δοκιμάστε ξανά με backoff· δεν χρεώνεται.
503billing, safetyΜια εξάρτηση μας είναι εκτός λειτουργίας. Δοκιμάστε ξανά σε λίγα δευτερόλεπτα· δεν χρεώνεται.

Χρεώσεις

Προπληρωμένη πίστωση, χρεωμένη ανά token με βάση το πραγματικό usage κάθε απάντησης: $0.25 ανά 1M token εισόδου, $1.00 ανά 1M token εξόδου. Είσοδος είναι όλα όσα στέλνετε (system prompt, ιστορικό, το νέο μήνυμα)· έξοδος είναι όσα γράφει το μοντέλο.

Persona — γυμνό μοντέλο ή ο χαρακτήρας της BestPrivateAI

Κάθε κλειδί έχει ένα ύφος, επιλεγμένο στη σελίδα κλειδιών και εναλλάξιμο ανά πάσα στιγμή:

Ένα αίτημα μπορεί να παρακάμψει τη ρύθμιση του κλειδιού, είτε με ένα πεδίο, είτε με κατάληξη στο όνομα μοντέλου (για clients που μπορούν να ορίσουν μόνο ένα όνομα μοντέλου):

{ "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 (οι ίδιες παραλλαγές που προσφέρει η συνομιλία), bare. Η κεφαλίδα απόκρισης X-NoTrack-Persona δηλώνει ποια εφαρμόστηκε.

Πολιτική περιεχομένου

Δεν προσθέτουμε system prompt και δεν λειτουργούμε φίλτρο θεμάτων. Μυθοπλασία για ενήλικες, σκοτεινά θέματα, έντονη γλώσσα, βία στη μυθοπλασία — το μοντέλο απαντά όπως είναι γραμμένο. Ένας κανόνας επιβάλλεται στον κώδικα και δεν μπορεί να απενεργοποιηθεί: οτιδήποτε σεξουαλικό που εμπλέκει ανήλικο απορρίπτεται.

Επαναλαμβανόμενα 403 σε ένα κλειδί οδηγούν στο κλείσιμο του κλειδιού, και στη συνέχεια του λογαριασμού. Το πλήρες κείμενο βρίσκεται στην Πολιτική Αποδεκτής Χρήσης.

Απόρρητο

Τα prompts και τα completions δεν γράφονται στον δίσκο — ούτε από το gateway, ούτε από τους servers του μοντέλου. Ό,τι κρατάμε ανά αίτημα είναι το id αιτήματος, το id κλειδιού, οι μετρήσεις token και η τιμή, επειδή αυτό είναι το λογαριασμό. Οι απορρίψεις ασφαλείας καταγράφονται ανά κατηγορία, χωρίς το κείμενο. Κανένας τρίτος πάροχος μοντέλου δεν βλέπει ποτέ την κίνησή σας: το μοντέλο λειτουργεί σε υλικό που εμείς ενοικιάζουμε και ελέγχουμε.

Clients & SDK

Ο ιστότοπος της BestPrivateAI και η εφαρμογή BestPrivateAI είναι η δική μας συνομιλία — δεν έχουν πεδίο για κλειδί API και δεν θα αποκτήσουν ποτέ. Ένα κλειδί προορίζεται για άλλα προγράμματα: επικολλήστε το σε ένα από τους clients παρακάτω, ή στον δικό σας κώδικα.

Python

from openai import OpenAI
client = OpenAI(base_url="https://api.bestprivateai.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.bestprivateai.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.bestprivateai.com/v1 → Custom API Key → Connect → Model notrack-uncensored. Streaming ενεργό. Διατηρήστε το μέγεθος περιεχομένου στα 64,000 token ή λιγότερο.

Chatbox

Settings → Model Provider → Add → Add Custom Provider, λειτουργία OpenAI API Compatible → επικολλήστε το βασικό URL και το κλειδί, μετά προσθέστε το notrack-uncensored ως μοντέλο.

NextChat

Settings → ενεργοποιήστε Custom Endpoint (συμβατό με OpenAI) → βασικό URL και κλειδί, μετά πληκτρολογήστε το όνομα μοντέλου στο πεδίο μοντέλου.

Cherry Studio

Settings → Model Providers → Add Provider → πληκτρολογήστε OpenAI → βασικό URL και κλειδί, μετά "Add model" → notrack-uncensored.

LobeChat

Settings → AI Service Provider → OpenAI → ενεργοποιήστε custom API endpoint, επικολλήστε το βασικό URL και το κλειδί, και προσθέστε το μοντέλο στη λίστα μοντέλων.

Οτιδήποτε άλλο

LangChain, LlamaIndex, Open WebUI, Continue, ρυθμίσεις proxy JanitorAI, curl — κάθε client με επιλογή "OpenAI-compatible" ή "custom base URL".

Η διατύπωση των μενού παραπάνω αλλάζει μεταξύ εκδόσεων εφαρμογής — αν μια ετικέτα δεν ταιριάζει ακριβώς, αναζητήστε τη ρύθμιση που αναφέρει "custom", "OpenAI-compatible", ή "base URL".

Αν ένας client δεν συνδέεται

Κλειδιά

Ερωτήσεις ή ένα id αιτήματος για εξέταση: υποστήριξη · bestprivateai.com/support.