Dokumentacja API OpenRouter
Podłącz swoją aplikację do naszego LLM bez cenzury, używając standardowego interfejsu kompatybilnego z OpenAI. Przewodnik obejmuje uwierzytelnianie, formaty żądań i strumieniowanie dla szybkiej integracji.
Szybki start: Połączenie z Python
Zacznij od zainstalowania oficjalnego pakietu SDK i wskazania go na nasz bazowy URL.
Nasz API zachowuje się jak standardowy interfejs OpenAI, ale kieruje ruch do jednego modelu uncensored. Podejście to eliminuje złożoność proxy, jednocześnie zachowując przenośność kodu.
- Zainstaluj bibliotekę za pomocą pip.
- Skonfiguruj swój klucz API w środowisku.
- Zdefiniuj bazowy URL dla naszego endpointu.
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)Zastąp klucz zastępczy własnymi poświadczeniami. Możesz wysyłać proste prompty lub złożone dane strukturalne.
Uwierzytelnianie i klucze
Wygeneruj klucz na panelu i przekaż go w nagłówku Authorization.
Każde konto obsługuje jeden aktywny klucz w danym momencie. Gdy tworzysz nowy klucz, stary przestaje działać natychmiast. Upraszcza to zarządzanie bezpieczeństwem bez konieczności stosowania złożonej logiki rotacji.
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"}]
}'Powyższe żądanie wykorzystuje schemat Bearer. Upewnij się, że Twój klucz zaczyna się od sk- i nie zawiera dodatkowych spacji.
Punkt końcowy Uzupełnień Czat
Wyślij wiadomości do /v1/chat/completions endpoint używając standardowego JSON.
Model akceptuje user i assistant role. Możesz skonfigurować temperaturę, top-p i sekwencje zatrzymania, aby kontrolować styl odpowiedzi. Odpowiedzi zwracają zużycie tokenów w ostatnim fragmencie, jeśli przesyłanie strumieniowe jest włączone.
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);Ustaw max_tokens do kontrolowania długości wyjścia. Jeśli zostanie pominięte, domyślna wartość to 2 048 tokenów. Model obsługuje do 16 000 tokenów w jednym żądaniu.
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając stream: true w ciele żądania.
Szczegóły zużycia tokenów pojawiają się tylko w ostatnim fragmencie strumienia. Pozwala to na aktualizacje interfejsu użytkownika w czasie rzeczywistym, zachowując jednocześnie dokładne dane do rozliczeń. Błędy podczas strumieniowania nadal raportują zużycie dla naliczonych tokenów.
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)Obsłuż częściowe odpowiedzi z gracją. Strumień zamyka się normalnie, gdy model zakończy generowanie lub osiągnie limit kontekstu.
Wywoływanie funkcji & Tryb JSON
Użyj response_format: {type: "json_object"} dla ścisłych wyjść JSON.
Zdefiniuj narzędzia w tools tablica i ustaw tool_choice do wymuszenia wywołań funkcji. Model zwraca dane strukturalne odpowiednie do przetwarzania programistycznego. Działa to niezawodnie z naszymi wagami bez cenzury.
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"}]
}'Połącz wywoływanie funkcji ze strumieniowaniem dla interaktywnych doświadczeń. Zweryfikuj wyjście JSON przed przekazaniem go do logiki aplikacji.
Limity i limity przydziału
Monitoruj swoje użycie względem limitów na klucz, aby uniknąć przerw.
Każdy klucz pozwala na 300 żądań na minutę i 8 żądań równoczesnych. Limit rozmiaru ciała żądania wynosi 8 MB. Jeśli przekroczysz te limity, API zwraca kod statusu 429. Błędy uwierzytelniania zwracają 401, a niewystarczające środki zwracają 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"}]
}'Okno kontekstowe wynosi łącznie 100 000 tokenów. Błędy nie zużywają kredytu. Odrzucenia z powodu drobnych naruszeń treści są również darmowe.
Typowe pytania
Jak API openrouter różni się od standardowego OpenAI?
Nasze API wykorzystuje jeden model bez cenzury zoptymalizowany pod kątem legalnych treści dla dorosłych i twórczych, bez odrzucania. Zachowuje tę samą strukturę żądań i odpowiedzi co OpenAI, co pozwala na zamianę endpointów bez zmiany kodu.
Co się stanie, jeśli zabraknie kredytów?
Żądania nie powiodą się z błędem 402, gdy Twoje saldo z góry wynosi zero. Kredyty nigdy nie wygasają, więc możesz doładować kryptowalutą w dowolnym momencie. Błędy i odrzucenia nie zużywają Twojego salda.
Czy mogę używać wielu kluczy do różnych projektów?
Każde konto obsługuje jeden aktywny klucz. Wygenerowanie nowego klucza automatycznie unieważnia poprzedni. Możesz wygenerować nowy klucz natychmiast z panelu, nie tracąc historii rozliczeń.
Pobierz swój klucz API
Zarejestruj się, skopiuj token, zaktualizuj swój bazowy URL. To cała konfiguracja.