OpenRouter api-dokumentation
Anslut din applikation till vår ocensurerade LLM med det standard OpenAI-kompatibla gränssnittet. Den här guiden täcker autentisering, begärandeformat och strömning för snabb integration.
Snabbstart: Anslut med Python
Börja med att installera det officiella SDK:t och peka det mot vår bas-URL.
Vårt API beter sig som standard OpenAI-gränssnittet men routar till en enda obegränsad modell. Detta tillvägagångssätt eliminerar proxykomplexitet samtidigt som din kod förblir portabel.
- Installera biblioteket via pip.
- Ställ in din API-nyckel i miljön.
- Definiera bas-URL:en för vår endpoint.
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)Ersätt platshållar-nyckeln med dina egna autentiseringsuppgifter. Du kan skicka enkla promptar eller komplex strukturerad data.
Autentisering och nycklar
Generera en nyckel på kontrollpanelen och skicka den i Authorization-huvudet.
Varje konto stöder en aktiv nyckel i taget. När du skapar en ny nyckel slutar den gamla att fungera omedelbart. Detta förenklar säkerhetshanteringen utan att kräva komplex rotationslogik.
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"}]
}'Förfrågan ovan använder Bearer-schemat. Se till att din nyel börjar med sk- och innehåller inget extra mellanrum.
Slutpunkt för chattkomplettering
Skicka meddelanden till /v1/chat/completions slutpunkt med standard JSON.
Modellen accepterar user och assistant roller. Du kan konfigurera temperatur, top-p och stoppsekvenser för att kontrollera utdatastil. Svar returnerar tokenanvändning i den sista biten om strömning är aktiverat.
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);Ställ in max_tokens för att styra utmatningslängd. Om det utelämnas är standardvärdet 2 048 tokens. Modellen stöder upp till 16 000 tokens per begäran.
Strömningsresponser
Aktivera strömning genom att ställa in stream: true i din förfrågningskropp.
Tokenanvändningsdetaljer visas endast i den sista delen av strömmen. Detta möjliggör realtidsuppdateringar av gränssnittet samtidigt som exakt faktureringsdata bevaras. Fel under strömning rapporterar fortfarande användning för debiterade token.
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)Hantera delvisa svar smidigt. Strömmen stängs normalt när modellen slutför genereringen eller når kontextgränsen.
Function Calling & JSON Mode
Använd response_format: {type: "json_object"} för strikta JSON-utdata.
Definiera verktyg i tools array och ange tool_choice för att tvinga fram funktionsanrop. Modellen returnerar strukturerad data som är lämplig för programmerbar bearbetning. Detta fungerar tillförlitligt med våra obegränsade vikter.
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"}]
}'Kombinera funktionsanrop med strömning för interaktiva upplevelser. Validera JSON-utdata innan du skickar dem till din applikationslogik.
Begränsningar och kvoter
Övervaka din användning mot nyckelbaserade gränser för att undvika avbrott.
Varje nyckel tillåter 300 förfrågningar per minut och 8 samtidiga förfrågningar. Gränsen för förfrågningskroppens storlek är 8 MB. Om du överskrider dessa gränser returnerar API:t en 429-statuskod. Autentiseringsfel returnerar 401, och otillräckligt kreditbelopp returnerar 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"}]
}'Kontextrutan är 100 000 tokens totalt. Fel förbrukar inte kredit. Avslag för mindre innehållsbrott är också gratis.
Vanliga frågor
Hur skiljer sig openrouter API från standard OpenAI?
Vårt API använder en enda obegränsad modell optimerad för laglig vuxen- och kreativt innehåll utan avslag. Den behåller samma struktur för begäran och svar som OpenAI, vilket gör att du kan byta slutpunkter utan att ändra din kod.
Vad händer om jag tar slut på kreditbelopp?
Begäranden misslyckas med ett 402-fel när ditt förbetalda saldo är noll. Krediten löper aldrig ut, så du kan ladda upp med krypto när som helst. Fel och vägran förbrukar inte ditt saldo.
Kan jag använda flera nycklar för olika projekt?
Varje konto stöder en aktiv nyckel. Att skapa en ny nyckel gör automatiskt den tidigare ogiltig. Du kan generera en ny nyckel omedelbart från dashboarden utan att förlora din faktureringshistorik.
Hämta din API-nyckel
Registrera dig, kopiera tokenen och uppdatera din bas-URL. Det är hela konfigurationen.