Basis-URL & Authentifizierung
Erstelle zunächst ein Konto auf der Seite API-Schlüssel erhalten. Du benötigst nur eine E-Mail-Adresse und ein Passwort; keine Telefonnummer oder Kreditkarte ist erforderlich, um das kostenlose Testguthaben zu aktivieren. Nach der Registrierung wird dein API-Schlüssel sofort angezeigt. Kopiere diesen Schlüssel und speichere ihn sicher. Verwende ihn im Authorization-Header als Bearer-Token für alle Anfragen. Die Basis-URL für alle Endpunkte lautet https://api.gemma4api.com/v1. Diese URL funktioniert mit jedem Standard-OpenAI-kompatiblen Client, sodass du Anbieter wechseln kannst, indem du einfach die Basis-URL und den API-Schlüssel in deiner Konfiguration änderst.
Erste Anfrage
Sende deine erste Anfrage mit curl, um die Konnektivität zu überprüfen. Ersetze YOUR_API_KEY durch deinen tatsächlichen Schlüssel. Die Modell-ID ist uncensored. Diese einfache Text-in, Text-out-Anfrage bestätigt, dass deine Authentifizierung korrekt ist und das Modell antwortet. Wenn du eine JSON-Antwort mit einem choices-Array erhältst, ist deine Einrichtung abgeschlossen. Du kannst nun mit der SDK-Integration für komplexere Workflows fortfahren.
curl https://api.gemma4api.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Python-SDK-Integration
Installiere das offizielle OpenAI-Python-Paket. Lege die Basis-URL und den API-Schlüssel als Umgebungsvariablen fest oder übergebe sie direkt an den Client-Konstruktor. Verwende die Modell-ID uncensored, um sicherzustellen, dass du unsere spezifische Instanz aufrufst. Dieser Ansatz stellt sicher, dass dein Code mit Standard-OpenAI-Mustern kompatibel bleibt und gleichzeitig unser unzensiertes Modell für die Inhaltsgenerierung nutzt. Das SDK behandelt Wiederholungen und JSON-Parsing automatisch.
from openai import OpenAI
client = OpenAI(base_url="https://api.gemma4api.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-SDK-Integration
Installiere für JavaScript-Umgebungen das OpenAI Node.js-Paket. Konfiguriere den Client mit der Basis-URL https://api.gemma4api.com/v1 und deinem API-Schlüssel. Verwende die Modell-ID uncensored in deinen Completion-Aufrufen. Diese Einrichtung ermöglicht es dir, standardmäßige OpenAI-kompatible Code-Strukturen beizubehalten und gleichzeitig von der spezifischen Modell-Verwendung auf unseren Servern zu profitieren. Stelle sicher, dass du asynchrone Antworten korrekt innerhalb deiner Node.js-Event-Loop behandelst.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gemma4api.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-Antworten
Aktiviere Streaming, indem du den Parameter stream in deiner API-Anfrage auf true setzt. Dies gibt einen Server-Sent Events (SSE)-Stream zurück, der es dir ermöglicht, Token anzuzeigen, während sie generiert werden. Dies ist ideal für Chat-Schnittstellen, bei denen Latenz eine Rolle spielt. Jeder Chunk enthält einen partiellen Delta der Antwort. Verarbeite das Stream-End-Ereignis, um zu wissen, wann die Generierung abgeschlossen ist. Diese Methode reduziert die wahrgenommene Latenz erheblich im Vergleich zum Warten auf die vollständige 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)
Limits, Fehler & Kontextfenster
Deine Anfragen unterstützen ein Kontextfenster von 100.000 Token für Prompt und Completion zusammen. Das Ratenlimit beträgt 300 Anfragen pro Minute pro Schlüssel, mit einer maximalen Request-Body-Größe von 8 MB. Häufige Fehler sind 401 für ungültige Schlüssel, 402 wenn dein Prepaid-Guthaben aufgebraucht ist, und 429 wenn du das pro Minute geltende Limit überschreitest. Das Erzeugen eines neuen API-Schlüssels widerruft den alten, setzt aber den Ratenzähler nicht zurück. Stelle sicher, dass dein Client diese HTTP-Statuscodes angemessen verarbeitet, um einen reibungslosen Betrieb zu gewährleisten.
Technische Daten
Eine Tabelle mit jedem Limit, jeder Funktion und jedem Preis.
| Merkmal | Wert |
|---|---|
| API-Format | OpenAI-kompatibel: jedes OpenAI-SDK funktioniert – nur Base-URL und Schlüssel ändern |
| Authentifizierung | Authorization: Bearer YOUR_KEY |
| Endpunkte | POST /v1/chat/completions · GET /v1/models |
| Base-URL | https://api.gemma4api.com/v1 |
| Modell-ID | uncensored |
| Kontextfenster | 100.000 Tokens (Eingabe + Ausgabe) |
| Streaming | ja – Server-Sent Events, der letzte Chunk enthält die Token-Nutzung |
| Function Calling | ja – tools, tool_choice; Antworten mit tool_calls, auch im Stream; Ergebnisse als role: tool |
| Max. Ausgabe | bis zum Rest des 100.000-Token-Fensters; max_tokens optional (kein separates Limit) |
| JSON-Modus | response_format: {"type": "json_object"} |
| Parameter | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Ratenlimit | 300 Anfragen pro Minute und Schlüssel |
| Anfragegröße | bis 8 MB |
| Antwort-Header | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Parallelität | 8 gleichzeitige Anfragen pro Schlüssel |
| Preis | $0,25 pro 1 Mio. Eingabe-Tokens · $1,00 pro 1 Mio. Ausgabe-Tokens |
| Gültigkeit | bezahltes Guthaben verfällt nie, kein Abo |
| Aufladen | USDT (TRC20) oder USDC (Base), jeder ganze Betrag von $10 bis $500 |
| Testguthaben | $0,50 für 7 Tage, ohne Karte · Testschlüssel: 2 parallele Anfragen, 60 pro Minute; volle Limits (8 und 300) nach erster Aufladung |
| Bonus | +5 % ab $50, +10 % ab $100 |
| Abrechnung | Prepaid-Guthaben nach echter Nutzung; Fehler und Ablehnungen sind kostenlos |
| Anmeldung | Google oder E-Mail und Passwort |
| Schlüssel | ein aktiver Schlüssel pro Konto; ein neuer ersetzt den alten |
| Inhalte | Inhalte für Erwachsene erlaubt; sexuelle Inhalte mit Minderjährigen werden abgelehnt |
Fehlercodes
Fehler kommen als JSON mit festem type; fehlgeschlagene oder abgelehnte Anfragen kosten nichts.
| Code | Typ | Bedeutung |
|---|---|---|
400 | bad_request | ungültiges JSON, leere Nachrichten, falscher Parameter oder Kontext zu lang |
401 | missing_key · invalid_key · key_revoked | Schlüssel fehlt, ist falsch oder wurde ersetzt |
402 | no_credit | kein Guthaben – aufladen, dann geht es sofort weiter |
403 | content_blocked | sexuelle Inhalte mit Minderjährigen – abgelehnt, nicht berechnet |
404 | not_found | unbekannter Endpunkt |
413 | request_too_large | Anfrage größer als 8 MB |
429 | rate_limited · concurrency | über 300/Min. oder 8 parallel – kurz warten |
503 | upstream_busy | Modell ausgelastet – in Sekunden erneut versuchen |
Fragen und Antworten
Setzt das Zurücksetzen meines API-Schlüssels das Ratenlimit-Counter zurück?
Nein. Durch das Erneuern deines Schlüssels wird der vorherige widerrufen und neue Zugangsdaten ausgestellt, aber das Ratenlimit gilt pro Konto und bleibt unabhängig von Schlüsseländerungen bestehen. Du musst warten, bis sich das Minutenfenster zurücksetzt, wenn du das Limit von 300 Anfragen pro Minute erreichst.
Welches Modell läuft hinter der ID 'uncensored'?
Es ist ein Open-Weight-LLM, das auf unseren eigenen GPU-Servern gehostet wird. Es ist kein GPT, Claude, Gemini oder ein Modell eines anderen Anbieters. Es ist darauf abgestimmt, ohne Inhaltsablehnungen für die legale Nutzung durch Erwachsene zu antworten.
Kann ich diese API für Function Calling nutzen?
Ja. Der Endpunkt <code>/v1/chat/completions</code> unterstützt Tool- und Function Calling. Du kannst Tool-Definitionen in der Anfrage übergeben, und das Modell gibt strukturierte JSON-Ausgaben zurück, die mit Standard-OpenAI-SDK-Implementierungen kompatibel sind.
Dein Schlüssel ist nur ein Formular entfernt
Erstelle ein Konto, kopiere den Schlüssel, ändere die Basis-URL. Das ist die gesamte Einrichtung.