Szybki start dla użytkowników OpenRouter
Migruj swoje wywołania API OpenRouter do naszego endpointu bez cenzury w kilka minut, zmieniając adres URL bazowy i klucz API. Przewodnik obejmuje kluczowe integracje do generowania tekstu, strumieniowania i wyjść strukturalnych.
Instalacja i konfiguracja
Nasze API jest w pełni kompatybilne ze standardowymi SDK OpenAI. Aby przejść z OpenRouter, musisz zaktualizować tylko dwie wartości konfiguracyjne: base_url oraz api_key. Wskaż klienta na https://api.openrouterapi.cc/v1 i użyj klucza wygenerowanego w naszym panelu. Nie są wymagane żadne niestandardowe nagłówki ani skomplikowana logika routingu. ID modelu do żądania to uncensored.
Upewnij się, że wersja Twojego SDK obsługuje parametr base_url. Jeśli używasz surowego klienta HTTP, po prostu zaktualizuj docelowy adres URL. Ta konfiguracja zapewnia, że istniejący kod klienta będzie działał bez modyfikacji, pod warunkiem wysyłania tylko żądań uzupełniania tekstu.
Uwierzytelnianie
Uwierzytelnianie obsługiwane jest za pomocą standardowego nagłówka Authorization. Przekaż swój klucz API jako token Bearer. Jeśli klucz jest nieprawidłowy lub wygasł, API zwróci błąd 401. W przeciwieństwie do niektórych dostawców, nie pobieramy opłat za nieudane żądania; błędy i odmowy są darmowe, więc możesz przetestować uwierzytelnianie bez zużywania kredytu.
Każde konto obsługuje jeden aktywny klucz jednocześnie. Wygenerowanie nowego klucza natychmiast unieważnia poprzedni. Chroń swój klucz i zmieniaj go, jeśli podejrzewasz jego ujawnienie. Klucz jest wyświetlany natychmiast po rejestracji, więc skopiuj go przed opuszczeniem strony.
Podstawowe uzupełnianie czatu
Podstawową funkcjonalnością jest endpoint POST /v1/chat/completions. Wyślij swój prompt jako listę wiadomości i otrzymaj odpowiedź tekstową. Model jest dostrojony do odpowiadania bez odmów treści dla legalnego użytku dorosłego, co czyni go odpowiednim do tematów kreatywnych, kontrowersyjnych lub badawczych w zakresie bezpieczeństwa.
Ustaw pole model na uncensored. Zachowanie modelu możesz kontrolować za pomocą parametrów takich jak temperature, top_p oraz stop. API obsługuje tryb JSON poprzez response_format oraz wywoływanie funkcji za pomocą tools. Wszystkie zapytania są przetwarzane asynchronicznie, a pełną odpowiedź otrzymujesz po zakończeniu pracy modelu.
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając stream: true w żądaniu. API zwraca zdarzenia wysyłane przez serwer (SSE) z częściowymi odpowiedziami. Otrzymujesz fragmenty tekstu w miarę ich generowania, co umożliwia wyświetlanie w czasie rzeczywistym w Twojej aplikacji.
Informacje o użyciu tokenów są dostarczane w ostatnim fragmencie strumienia. Pozwala to na dokładne śledzenie kosztów bez parsowania każdego pojedynczego tokena. Strumieniowanie jest idealne dla interfejsów czatowych, gdzie liczy się opóźnienie. Upewnij się, że Twój klient poprawnie obsługuje SSE i zamyka połączenie po zakończeniu strumienia.
Wywoływanie funkcji
API obsługuje wywoływanie funkcji poprzez parametr tools. Zdefiniuj swoje funkcje w tablicy tools i ustaw tool_choice na auto lub konkretną nazwę funkcji. Model zwróci strukturalne argumenty JSON, jeśli zostanie wywołana funkcja.
Ta funkcja jest przydatna do integracji LLM z zewnętrznymi API lub bazami danych. Upewnij się, że definicje Twoich funkcji są dokładne, ponieważ model opiera się na nich do generowania poprawnych argumentów. API nie wykonuje funkcji; musisz obsłużyć logikę wykonania w kodzie swojej aplikacji.
Tryb JSON
W przypadku wyjść o strukturze uporządkowanej użyj response_format: {"type": "json_object"}. Wymusza to zwrócenie przez model poprawnego JSON-a, co jest kluczowe dla parsowania danych w aplikacjach downstream. Tryb JSON jest często bardziej niezawodny niż wywoływanie funkcji w prostych zadaniach ekstrakcji danych.
Upewnij się, że Twoje prompty jasno instruują model do zwracania JSON. Niepoprawne odpowiedzi JSON mogą wystąpić, jeśli prompt jest niejednoznaczny. Tryb JSON jest obsługiwany zarówno w trybie standardowym, jak i strumieniowym. Używaj go, gdy potrzebujesz przewidywalnych, czytelnych dla maszyn wyjść.
Limity, błędy i kontekst
Okno kontekstu wynosi 100 000 tokenów łącznie dla promptu i odpowiedzi. Maksymalna długość odpowiedzi to 32 000 tokenów na zapytanie (2 048, jeśli nie ustawisz max_tokens). Limity zapytań to 300 zapytań na minutę i 8 równoległych zapytań na klucz. Rozmiar ciała zapytania jest ograniczony do 8 MB.
Błędy zwracają standardowe kody HTTP: 401 dla nieprawidłowych kluczy, 402 za niewystarczający kredyt i 429 za limity zapytań. Kredyt jest przedpłacony, więc błąd 402 oznacza, że musisz go doładować. Błędy i odrzucenia są darmowe, więc możesz ponowić próbę bez kosztów. Ścisły limit treści blokuje treści seksualne z udziałem małoletnich.
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);Strumieniowanie
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)Parametry API
Wszystkie rzeczywiste limity i funkcje API w jednym miejscu — sprawdź je przed doładowaniem.
| Element | Wartość |
|---|---|
| Format API | zgodne z OpenAI: działa każdy SDK OpenAI — zmień base URL i klucz |
| ID modelu | uncensored |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.openrouterapi.cc/v1 |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Maks. odpowiedź | do reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Tryb JSON | response_format: {"type": "json_object"} |
| Limit zapytań | 300 zapytań na minutę na klucz |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| Nagłówki odpowiedzi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Rozmiar zapytania | do 8 MB |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Bonus | +5% od $50, +10% od $100 |
| Darmowy kredyt | $0,50 na 7 dni, bez karty · Klucz próbny: 2 równoległe żądania, 60 na minutę; pełne limity (8 i 300) po pierwszym doładowaniu |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500 |
| Cena | $0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
| Logowanie | Google albo e-mail i hasło |
| Treści | treści dla dorosłych dozwolone; treści seksualne z udziałem nieletnich są odrzucane |
Kody błędów
Błędy wracają jako JSON ze stałym type; nieudane i odrzucone zapytania są bezpłatne.
| Kod | Typ | Znaczenie |
|---|---|---|
400 | bad_request | błędny JSON, puste wiadomości, zły parametr lub za długi kontekst |
401 | missing_key · invalid_key · key_revoked | brak klucza, zły klucz lub klucz zastąpiony nowym |
402 | no_credit | brak kredytu — doładuj, działa od razu |
403 | content_blocked | treści seksualne z nieletnimi — odmowa, bez opłaty |
404 | not_found | nieznany endpoint |
413 | request_too_large | treść większa niż 8 MB |
429 | rate_limited · concurrency | ponad 300/min lub 8 równolegle — odczekaj i ponów |
503 | upstream_busy | model zajęty — ponów za kilka sekund |
Pytania i odpowiedzi
Czy to oficjalne API OpenRouter?
Nie, to niezależna usługa. Oferujemy pojedynczy model bez cenzury kompatybilny ze strukturą adresu URL bazowego OpenRouter. Nie obsługujemy agregowanych modeli ani logiki routingu OpenRouter.
Jak zapłacić za API?
Płatności przyjmujemy wyłącznie w kryptowalutach: USDT (TRC20) lub USDC (Base). Możesz doładować dowolną kwotę całkowitą od $10 do $500. Nie przyjmujemy kart kredytowych ani PayPal.
Czy prompty są używane do trenowania?
Nie, Twoje prompty nie są używane do trenowania. Wymagamy tylko adresu e-mail do założenia konta, a nie przechowujemy ani nie używamy Twoich danych do ulepszania modelu.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień adres URL bazowy. To cała konfiguracja.