OpenRouter api-documentatie
Verbind je applicatie met onze ongecensureerde LLM met de standaard OpenAI-compatibele interface. Deze gids behandelt authenticatie, aanvraagformaten en streaming voor snelle integratie.
Snelstart: Verbind met Python
Installeer eerst de officiële SDK en wijs deze naar onze basis-URL.
Onze API gedraagt zich als de standaard OpenAI-interface maar routeert naar een enkel uncensored model. Deze aanpak elimineert proxy-complexiteit terwijl uw code draagbaar blijft.
- Installeer de bibliotheek via pip.
- Stel je API-sleutel in in de omgeving.
- Definieer de basis-URL voor ons eindpunt.
from openai import OpenAI
client = OpenAI(base_url="https://api.apiopenrouter.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)Vervang de placeholder-sleutel door uw eigen referenties. U kunt eenvoudige prompts of complexe gestructureerde gegevens verzenden.
Authenticatie en sleutels
Genereer een sleutel op het dashboard en voeg deze toe via de Authorization-header.
Elk account ondersteunt één actieve sleutel tegelijk. Wanneer je een nieuwe sleutel aanmaakt, stopt de oude onmiddellijk met werken. Dit vereenvoudigt het beveiligingsbeheer zonder dat complexe rotatielogica nodig is.
curl https://api.apiopenrouter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
}'Het verzoek hierboven gebruikt de Bearer-scheme. Zorg ervoor dat je sleutel begint met sk- en bevat geen extra spaties.
Chat Completions Endpoint
Stuur berichten naar de /v1/chat/completions endpoint met standaard JSON.
Het model accepteert user en assistant rollen. Je kunt temperature, top-p en stop-reeksen configureren om de uitvoerstijl te beïnvloeden. Antwoorden retourneren tokengebruik in het laatste chunk als streaming is ingeschakeld.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiopenrouter.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);Instellen max_tokens om de lengte van de uitvoer te bepalen. Als dit veld wordt weggelaten, is de standaardwaarde 2.048 tokens. Het model ondersteunt maximaal 16.000 tokens per verzoek.
Streaming-responsen
Activeer streaming door stream: true in je aanvraaglichaam.
Tokenverbruiksgegevens verschijnen alleen in de laatste chunk van de stream. Dit stelt realtime UI-updates toe terwijl accurate facturatiegegevens behouden blijven. Fouten tijdens streaming rapporteren nog steeds verbruik voor betaalde tokens.
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)Verwerk gedeeltelijke responsen soepel. De stream sluit normaal wanneer het model de generatie voltooit of de contextlimiet bereikt.
Functiedaanroep & JSON-modus
Gebruik response_format: {type: "json_object"} voor strikte JSON-uitvoeren.
Definieer tools in de tools array en instellen tool_choice om functaanroepen af te dwingen. Het model retourneert gestructureerde data die geschikt is voor programmatische verwerking. Dit werkt betrouwbaar met onze ongecensureerde gewichten.
curl https://api.apiopenrouter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
}'Combineer functaanroep met streamen voor interactieve ervaringen. Valideer de JSON-uitvoer voordat u deze doorgeeft aan uw applicatielogica.
Limieten en kwota's
Monitor uw gebruik tegen de limieten per sleutel om onderbrekingen te vermijden.
Elke sleutel staat 300 verzoeken per minuut en 8 gelijktijdige verzoeken toe. De limiet voor de verzoekbodygrootte is 8 MB. Als je deze limieten overschrijdt, retourneert de API een 429-statuscode. Authenticatiefouten retourneren 401, en onvoldoende krediet retourneert 402.
curl https://api.apiopenrouter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
}'Het contextvenster bedraagt 100.000 tokens in totaal. Fouten verbruiken geen tegoed. Weigeringen voor lichte inhoudsovertredingen zijn eveneens gratis.
Veelgestelde vragen
Hoe verschilt de openrouter API van standaard OpenAI?
Onze API maakt gebruik van één uncensored model dat is geoptimaliseerd voor wettelijk volwassen en creatieve inhoud zonder weigeringen. Het behoudt dezelfde structuur voor verzoeken en antwoorden als OpenAI, zodat je endpoints kunt wisselen zonder je code aan te passen.
Wat gebeurt er als ik op raak van krediet?
Verzoeken falen met een 402-foutmelding wanneer je vooruitbetaalde saldo nul is. Kredieten vervallen nooit, dus je kunt op elk moment aanvullen via crypto. Fouten en weigeringen verbruiken niet je saldo.
Kan ik meerdere sleutels gebruiken voor verschillende projecten?
Elk account ondersteunt één actieve sleutel. Het aanmaken van een nieuwe sleutel maakt de vorige automatisch ongeldig. Je kunt op elk moment een nieuwe sleutel genereren via het dashboard zonder je facturatiegeschiedenis te verliezen.
Haal je API-sleutel op
Meld je aan, kopieer het token en pas je basis-URL aan. Dat is de volledige configuratie.