API-Schnellstart: Verbinden Sie Ihren Client mit unserem unzensierten Modell
Dieser Schnellstart zeigt, wie Sie einen OpenAI-kompatiblen Client auf unser uncensored-Textmodell richten. Sie benötigen eine Base URL, eine Model ID und Ihren API-Schlüssel.
Authentifizierung und Base URL
Jede Anfrage geht an https://doesgrokhaveanapi.com/v1 und übergibt Ihren Schlüssel in der Authorization Header als Bearer-Token. Kopieren Sie den Schlüssel von der Seite „API-Schlüssel abrufen“; er wird nach der Anmeldung angezeigt und kann jederzeit ersetzt werden.
Kurz und direkt: Die Basis-URL und der Schlüssel sind die einzigen zwei Werte, die sich ändern, wenn Sie einen bestehenden Client migrieren.
curl https://api.doesgrokhaveanapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current API endpoint for the model?"}]
}'
Der Chat-Completions-Endpunkt
Senden POST /v1/chat/completions mit einer Liste von Nachrichten. Die Antwort hat die gleiche Struktur wie die OpenAI-Chat-Vervollständigungsantwort, sodass bestehende Parser weiterhin funktionieren.
- Verwenden Sie die Rolle
userfür Ihren Prompt undsystemfür Anweisungen. - Lesen Sie die Antwort von
choices[0].message.content. - Token-Anzahlen werden zurückgegeben in
usage, und dafür wird Ihr Guthaben belastet.
from openai import OpenAI
client = OpenAI(base_url="https://api.doesgrokhaveanapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Unterstütztes Modell: 'uncensored'
Legen Sie das Feld „model“ auf uncensored. Dies ist die einzige Modell-ID auf dem Dienst, es gibt also nichts zur Auswahl. GET /v1/models gibt es zurück, was eine schnelle Möglichkeit ist, zu bestätigen, dass der Schlüssel funktioniert.
Das Modell ist ein Open-Weight-Modell, das auf unseren eigenen Servern läuft. Es lehnt legale erwachsene, fiktive oder kontroverse Anfragen nicht ab. Die einzige harte Grenze ist sexueller Inhalt, der Minderjährige betrifft.
Streaming und Function Calling
Hinzufügen stream: true um Tokens als Server-Sent Events zu erhalten. Der letzte Chunk enthält die Nutzungszahlen, sodass Sie die Kosten pro Anfrage protokollieren können, ohne einen zweiten Aufruf zu tätigen.
Function Calling funktioniert über den Standard tools und tool_choice Felder. Definieren Sie jede Funktion mit einem JSON-Schema und lesen Sie die tool_calls der Antwort.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Parameter: Temperatur, Top P und Stop
Die unterstützten Sampling-Parameter sind temperature, top_p, stop, seed, presence_penalty und frequency_penalty. Verwenden Sie eine niedrige Temperatur für Code und Extraktion und eine höhere für fiktionale Texte.
Wenn Sie max_tokens, das Standard-Ausgelimit beträgt 2.048 Tokens. Das harte Maximum pro Anfrage liegt bei 16.000 Tokens.
JSON-Modus und Antwortformate
Festlegen response_format zu { 'type': 'json_object' } wenn Sie maschinenlesbare Ausgaben benötigen. Fordern Sie im Prompt auch JSON an, da das Modell die Anweisung und das Format zusammen befolgt.
- Beschreiben Sie die Felder, die Sie in der Systemnachricht benötigen.
- Halten Sie das Beispiel kurz, zwei oder drei Schlüssel.
- Validieren Sie das Ergebnis in Ihrem Code, bevor Sie es speichern.
Ratenbegrenzungen und Fehlerbehandlung
Jeder Schlüssel kann 300 Anfragen pro Minute und 8 Anfragen gleichzeitig senden. Anfragen mit einem Body über 8 MB werden abgelehnt. Ein 401 bedeutet, dass der Schlüssel falsch ist, ein 402 bedeutet, dass das Guthaben aufgebraucht ist, und ein 429 bedeutet, dass Sie das Rate-Limit erreicht haben: warten und mit Backoff wiederholen.
Fehler und Ablehnungen werden nicht berechnet. Behalten Sie das Kontextfenster von 100.000 Token im Auge für lange Threads: Prompt- und Completion-Anzahl zusammen.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.doesgrokhaveanapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Häufig gestellte Fragen
Welche Base-URL soll ich verwenden?
Verwenden Sie https://doesgrokhaveanapi.com/v1 als Basis-URL. Jedes OpenAI-kompatible SDK akzeptiert dies, wenn Sie die Basis-URL und den Schlüssel ändern, und nichts anderes in Ihrem Code muss geändert werden.
Welche Model-ID sende ich?
Unzensiert senden. Es ist das einzige Modell auf dem Dienst. Rufen Sie GET /v1/models auf, um die ID zu bestätigen und dass Ihr Schlüssel aktiv ist, bevor Sie größere Jobs ausführen.
Warum gibt meine Anfrage 402 zurück?
Eine 402-Antwort bedeutet, dass das Prepaid-Guthaben auf dem Konto aufgebraucht ist. Laden Sie mit USDT auf TRC20 oder USDC auf Base ab $20 auf, und die nächste Anfrage wird durchgeleitet. Fehlgeschlagene Anfragen werden nicht berechnet.
Ihr API-Schlüssel ist nur einen Schritt entfernt
Registrieren, Token kopieren, Endpunkt aktualisieren. Das ist der gesamte Prozess.