Schnellstart für OpenRouter-Nutzer
Migrieren Sie Ihre OpenRouter-API-Aufrufe in Minuten zu unserem unzensierten Endpunkt, indem Sie die Base-URL und den API-Schlüssel austauschen. Dieser Guide deckt die wichtigsten Integrationen für Textgenerierung, Streaming und strukturierte Ausgaben ab.
Starte mit Testguthaben
E-Mail und Passwort, der Schlüssel erscheint sofort auf dem Bildschirm.
API-Schlüssel erhaltenInstallation & Einrichtung
Unsere API ist vollständig mit Standard-OpenAI-SDKs kompatibel. Um von OpenRouter zu wechseln, musst du nur zwei Konfigurationswerte anpassen: die base_url und den api_key. Richte deinen Client auf https://api.openrouterapi.cc/v1 und verwende den Schlüssel, den du in unserem Dashboard generiert hast. Es werden keine benutzerdefinierten Header oder komplexe Routing-Logik benötigt. Die Modell-ID, die du anfordern möchtest, ist uncensored.
Stelle sicher, dass deine SDK-Version den Parameter base_url unterstützt. Wenn du einen reinen HTTP-Client verwendest, aktualisiere einfach die Ziel-URL. Diese Einrichtung stellt sicher, dass dein bestehender Client-Code ohne Änderungen funktioniert, solange du nur Text-Vervollständigungsanfragen sendest.
Authentifizierung
Die Authentifizierung erfolgt über den Standard-Authorization-Header. Übergebe deinen API-Schlüssel als Bearer-Token. Wenn der Schlüssel ungültig oder abgelaufen ist, gibt die API einen 401-Fehler zurück. Im Gegensatz zu einigen Anbietern berechnen wir keine Kosten für fehlgeschlagene Anfragen; Fehler und Ablehnungen sind kostenlos, sodass du die Authentifizierung testen kannst, ohne Guthaben zu verbrauchen.
Jedes Konto unterstützt jeweils nur einen aktiven Schlüssel. Das Generieren eines neuen Schlüssels macht den vorherigen sofort ungültig. Bewahre deinen Schlüssel sicher auf und rotiere ihn, wenn du einen Verlust vermutest. Der Schlüssel wird sofort nach der Anmeldung angezeigt, also kopiere ihn, bevor du die Seite verlässt.
Einfache Chat-Vervollständigung
Die Kernfunktionalität ist der POST /v1/chat/completions-Endpunkt. Sende deinen Prompt als Liste von Nachrichten und erhalte eine Textantwort. Das Modell ist darauf abgestimmt, ohne Inhaltsablehnungen zu antworten, was es für die legale Nutzung durch Erwachsene, kreative, kontroverse oder sicherheitsrelevante Themen geeignet macht.
Lege das Feld model auf uncensored fest. Du kannst das Verhalten mit Parametern wie temperature, top_p und stop steuern. Die API unterstützt den JSON-Modus über response_format und Function Calling über tools. Alle Anfragen werden asynchron verarbeitet, und du erhältst die vollständige Vervollständigung, sobald das Modell fertig ist.
Streaming-Antworten
Aktiviere das Streaming, indem du stream: true in deiner Anfrage festlegst. Die API gibt Server-Sent Events (SSE) mit Teilantworten zurück. Du erhältst Textabschnitte, sobald sie generiert werden, was eine Echtzeitanzeige in deiner Anwendung ermöglicht.
Informationen zur Token-Nutzung werden im letzten Chunk des Streams bereitgestellt. Dies ermöglicht dir, die Kosten genau zu verfolgen, ohne jeden einzelnen Token analysieren zu müssen. Streaming ist ideal für Chat-Schnittstellen, bei denen Latenz eine Rolle spielt. Stelle sicher, dass dein Client SSE korrekt verarbeitet und die Verbindung schließt, wenn der Stream endet.
Function Calling
Die API unterstützt Function Calling über den Parameter tools. Definiere deine Funktionen im tools-Array und setze tool_choice auf auto oder einen bestimmten Funktionsnamen. Das Modell gibt strukturierte JSON-Argumente zurück, wenn eine Funktion ausgelöst wird.
Diese Funktion ist nützlich für die Integration der LLM mit externen APIs oder Datenbanken. Stelle sicher, dass deine Funktionsdefinitionen genau sind, da das Modell auf ihnen basiert, um gültige Argumente zu generieren. Die API führt die Funktionen nicht aus; du musst die Ausführungslogik in deinem Anwendungscode verarbeiten.
JSON-Modus
Zwingt das Modell für strukturierte Ausgaben, response_format: {"type": "json_object"} zu verwenden. Dies zwingt das Modell, gültiges JSON zurückzugeben, was für das Parsen von Daten in nachgelagerten Anwendungen unerlässlich ist. Der JSON-Modus ist bei einfachen Datenextraktionsaufgaben oft zuverlässiger als Function Calling.
Stelle sicher, dass deine Prompts das Modell klar anweisen, JSON zurückzugeben. Ungültige JSON-Antworten können auftreten, wenn der Prompt mehrdeutig ist. Der JSON-Modus wird sowohl im Standard- als auch im Streaming-Modus unterstützt. Verwende ihn, wenn du vorhersagbare, maschinenlesbare Ausgaben benötigst.
Grenzwerte, Fehler und Kontext
Das Kontextfenster umfasst 100.000 Token für Prompt und Vervollständigung zusammen. Die maximale Ausgabe beträgt 32.000 Token pro Anfrage (2.048, wenn max_tokens nicht festgelegt ist). Die Ratenlimits betragen 300 Anfragen pro Minute und 8 parallele Anfragen pro Schlüssel. Anforderungstexte sind auf 8 MB begrenzt.
Fehler geben Standard-HTTP-Codes zurück: 401 für ungültige Schlüssel, 402 für unzureichendes Guthaben und 429 für Ratenlimits. Das Guthaben ist Prepaid, daher bedeutet ein 402-Fehler, dass du dein Guthaben aufladen musst. Fehler und Inhaltsablehnungen sind kostenlos, sodass du ohne Kosten erneut versuchen kannst. Die harte Inhaltsbeschränkung blockiert sexuelle Inhalte, die Minderjährige betreffen.
cURL
curl https://api.openrouterapi.cc/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
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.cc/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.openrouterapi.cc/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)API-Spezifikation
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 |
| Modell-ID | uncensored |
| Authentifizierung | Authorization: Bearer YOUR_KEY |
| Endpunkte | POST /v1/chat/completions · GET /v1/models |
| Base-URL | https://api.openrouterapi.cc/v1 |
| 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 |
| Parameter | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Kontextfenster | 100.000 Tokens (Eingabe + Ausgabe) |
| Max. Ausgabe | bis zum Rest des 100.000-Token-Fensters; max_tokens optional (kein separates Limit) |
| JSON-Modus | response_format: {"type": "json_object"} |
| Ratenlimit | 300 Anfragen pro Minute und Schlüssel |
| Parallelität | 8 gleichzeitige Anfragen pro Schlüssel |
| Antwort-Header | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Anfragegröße | bis 8 MB |
| Abrechnung | Prepaid-Guthaben nach echter Nutzung; Fehler und Ablehnungen sind kostenlos |
| Bonus | +5 % ab $50, +10 % ab $100 |
| 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 |
| Gültigkeit | bezahltes Guthaben verfällt nie, kein Abo |
| Aufladen | USDT (TRC20) oder USDC (Base), jeder ganze Betrag von $10 bis $500 |
| Preis | $0,25 pro 1 Mio. Eingabe-Tokens · $1,00 pro 1 Mio. Ausgabe-Tokens |
| Schlüssel | ein aktiver Schlüssel pro Konto; ein neuer ersetzt den alten |
| Anmeldung | Google oder E-Mail und Passwort |
| Inhalte | Inhalte für Erwachsene erlaubt; sexuelle Inhalte mit Minderjährigen werden abgelehnt |
Fehler und Lösungen
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
Ist dies die offizielle OpenRouter-API?
Nein, dies ist ein unabhängiger Dienst. Wir bieten ein einzelnes unzensiertes Modell an, das mit der OpenRouter-Base-URL-Struktur kompatibel ist. Wir stellen nicht die aggregierten Modelle oder die Routing-Logik von OpenRouter bereit.
Wie bezahle ich für die API?
Zahlungen werden nur per Krypto akzeptiert: USDT (TRC20) oder USDC (Base). Sie können jeden beliebigen Gesamtbetrag von 10 $ bis 500 $ aufladen. Keine Kreditkarten oder PayPal.
Werden Prompts zum Training verwendet?
Nein, Ihre Prompts werden nicht zum Training verwendet. Wir benötigen lediglich eine E-Mail-Adresse für Ihr Konto und speichern oder nutzen Ihre Daten nicht zur Modellverbesserung.
Dein Schlüssel ist nur ein Formular entfernt
Erstellen Sie ein Konto, kopieren Sie den Schlüssel, ändern Sie die Base-URL. Das ist die gesamte Einrichtung.