Schnellstart: Erste Anfrage
Richten Sie Ihren Client zunächst auf unsere Base-URL. Verwenden Sie https://api.grockapi.com/v1 und setze deinen API-Schlüssel im Header. Die Modellkennung ist immer uncensored. Dies funktioniert mit jedem OpenAI-kompatiblen SDK.
Die Authentifizierung erfordert ein gültiges Bearer-Token. Übergeben Sie es als Authorization: Bearer YOUR_API_KEY. Wenn der Schlüssel fehlt oder ungültig ist, erhältst du sofort einen 401-Fehler.
Stellen Sie Ihren ersten Aufruf zur Überprüfung der Konnektivität. Der Anfragekörper muss den Modellnamen und ein messages-Array enthalten.
Unterstützte Parameter und Modi
Konfigurieren Sie das Generierungsverhalten mit Standardparametern. Sie können die Temperatur für Kreativität oder top_p für Nucleus-Sampling anpassen. Verwenden Sie den stop-Parameter, um bestimmte Sequenzen zu definieren, die die Generierung stoppen.
Setze seed für deterministische Ausgaben während des Debuggings. Presence- und Frequency-Penalties helfen, Wiederholungen zu reduzieren. Das Modell unterstützt bis zu 100.000 Tokens im Kontextfenster.
Die maximale Ausgabe ist auf 16.000 Tokens pro Anfrage begrenzt. Lassen Sie max_tokens ungesetzt, um das Standard-Ausgabelimit von 2.048 zu nutzen. Fehler und Ablehnungen verbrauchen keinen Guthaben.
Streaming und Token-Nutzung
Aktivieren Sie Streaming, indem Sie stream: true. Die API gibt Chunks über Server-Sent Events (SSE) zurück. Jeder Chunk enthält teilweise Inhalte und Metadaten.
Die Token-Nutzungsdetails erscheinen im letzten Chunk. Dies ermöglicht es Ihnen, die Kosten in Echtzeit genau zu verfolgen. Der letzte Chunk enthält die vollständigen Nutzungsstatistiken für die Anfrage.
Schließen Sie Streams ordnungsgemäß, um Ressourcenlecks zu vermeiden. Verarbeiten Sie immer den letzten Chunk, um genaue Abrechnungsdaten zu erhalten.
Funktionsaufruf (Tools)
Definieren Sie Tools im Request-Body. Geben Sie Tool-Namen, Beschreibungen und Parameterschemata an. Das Modell antwortet bei Bedarf mit Tool-Aufrufen.
Verwenden Sie den tool_choice-Parameter, um bestimmte Verhalten zu erzwingen oder zu erlauben. Sie können ihn auf auto, required oder spezifische Tool-IDs setzen.
Verarbeite Tool-Aufrufe in deiner Anwendungslogik. Sende die Tool-Ausgabe an das Modell zurück, um das Gespräch fortzusetzen. Dies ermöglicht komplexe Multi-Step-Workflows ohne externes Parsing.
JSON-Modus und Einschränkungen
Erzwingen Sie strukturierte Ausgabe, indem Sie response_format auf json_object. Das Modell gibt JSON ohne Markdown-Codeblöcke zurück.
Dieser Modus ist ideal zum Parsen von Daten in Anwendungen. Stellen Sie sicher, dass Ihr Schema klar ist, um die Genauigkeit zu verbessern. Ungültige JSON-Strukturen können Parsing-Fehler in Ihrem Client verursachen.
Kombinieren Sie den JSON-Modus mit Temperaturkontrollen für eine konsistente Formatierung. Verwenden Sie Stop-Sequenzen, um nachfolgende Zeichen nach der schließenden Klammer zu verhindern.
Ratenbegrenzungen und Kontingente
Jeder API-Schlüssel ist auf 300 Anfragen pro Minute begrenzt. Sie können bis zu 8 gleichzeitige Anfragen parallel ausführen. Die maximale Größe des Anfragekörpers beträgt 8 MB.
Ein 429-Fehler zeigt an, dass Sie das Limit erreicht haben. Warten Sie vor dem Wiederholen oder reduzieren Sie Ihre Parallelität. Pro Konto existiert ein aktiver Schlüssel; das Generieren eines neuen Schlüssels ersetzt den alten.
Überwachen Sie Ihre Nutzung über den letzten Streaming-Chunk oder die Antwort-Header. Fehler wie 402 (kein Guthaben) oder 401 (ungültiger Schlüssel) sind kostenlos und werden nicht gegen Ihr Kontingent angerechnet.
cURL
curl https://api.grockapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "calculate the sum of two and three"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.grockapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.grockapi.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);Streaming
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)