PL ▾
Pobierz klucz API

Szybki start dla użytkowników OpenRouter NSFW

Zintegruj nasze API LLM bez cenzury z istniejącą bazą kodu, aktualizując Base URL i klucz API. Ten przewodnik obejmuje standardowe endpointy kompatybilne z OpenAI, strumieniowanie i obsługę ograniczeń dla bezpośredniego użycia przez deweloperów.

Adres bazowy i uwierzytelnianie

Zamień Base URL obecnego dostawcy na https://api.openrouternsfw.com/v1. Autoryzacja używa standardowego nagłówka Authorization: Bearer <key>. Pobierasz swój klucz natychmiast po zalogowaniu się przez Google lub e-mail na stronie Pobierz klucz API. Nie jest wymagany numer telefonu, a klucz jest wyświetlany tylko raz, więc skopiuj go przed opuszczeniem strony.

Nasza usługa to niezależne API, a nie odsprzedaż modeli innych dostawców. Identyfikator modelu, który wysyłasz w zapytaniach, to uncensored, który działa na naszych własnych serwerach. Jest dostrojony do odpowiadania bez odmów treści dla legalnego użytku dorosłego, ale nie jest to GPT, Claude ani żaden inny nazwany model dostawcy.

Upewnij się, że Twoja biblioteka klienta jest skonfigurowana do używania tego nowego Base URL. Wszystkie zapytania muszą zawierać ważny klucz API w nagłówku. Jeśli klucz jest brakujący lub nieprawidłowy, serwer zwraca błąd 401. Jeśli nie masz przedpłaconego kredytu, otrzymasz błąd 402. Są to standardowe kody statusu HTTP wskazujące na problemy z uwierzytelnianiem lub płatnością, a nie błędy serwera.

Endpoint uzupełnień czatu

Podstawowa funkcjonalność jest dostarczana przez endpoint POST /v1/chat/completions. Ten endpoint przyjmuje ciało JSON zawierające nazwę modelu, tablicę wiadomości i opcjonalne parametry. Zwraca obiekt JSON z wygenerowanym tekstem, statystykami użycia tokenów i powodem zakończenia. Ta struktura jest kompatybilna z oficjalnymi SDK OpenAI i większością bibliotek klienckich kompatybilnych z OpenAI.

Nie musisz pisać własnych klientów HTTP, jeśli wolisz używać SDK. Musisz jednak zaktualizować konfigurację, aby wskazywała na nasz Base URL. Poniższy przykład pokazuje standardowe zapytanie completion za pomocą cURL. To zapytanie wysyła prompt do modelu bez cenzury i oczekuje odpowiedzi tekstowej.

curl https://api.openrouternsfw.com/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."}]
  }'

Pamiętaj, że to API obsługuje tylko tekst. Nie ma endpointów do generowania embeddingów, obrazów, audio ani wideo. Jeśli Twoja aplikacja wymaga multimodalnych wejść lub wyjść, będziesz musiał obsłużyć je osobno. Nasza usługa koncentruje się wyłącznie na wysokiej jakości generowaniu tekstu z modelem bez cenzury.

Integracja z Python SDK

Użycie SDK Python upraszcza proces integracji. Zainicjuj klienta poprawnym Base URL i swoim kluczem API. Biblioteka obsługuje za Ciebie żądania HTTP i parsowanie JSON. Możesz określić identyfikator modelu jako uncensored, aby upewnić się, że używasz naszego konkretnego modelu.

from openai import OpenAI

client = OpenAI(base_url="https://api.openrouternsfw.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)

Ten fragment kodu pokazuje, jak wysłać wiadomość i pobrać odpowiedź. Klient automatycznie obsługuje połączenie i raportowanie błędów. Jeśli serwer zwróci błąd, SDK zgłasza wyjątek. Powinieneś obsłużyć te wyjątki w logice swojej aplikacji, aby zapewnić lepsze doświadczenie użytkownika.

SDK Python to tylko jedna z opcji. Możesz użyć dowolnego języka, który obsługuje żądania HTTP. Struktura endpointu pozostaje taka sama niezależnie od wybranego klienta. Ta elastyczność pozwala na integrację modelu bez cenzury w dowolnym istniejącym przepływie pracy bez znaczących zmian w kodzie.

Użycie Node SDK

SDK Node działa podobnie jak wersja Python. Skonfiguruj klienta z Base URL i kluczem API, a następnie wywołaj metodę chat completions. To podejście jest idealne dla aplikacji serwerowych lub usług backendowych, które muszą generować tekst asynchronicznie.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.openrouternsfw.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);

Deweloperzy Node.js mogą łatwo zintegrować to API ze swoimi istniejącymi projektami. SDK obsługuje serializację i deserializację danych JSON. Możesz również określić dodatkowe parametry takie jak temperature lub top_p, aby kontrolować losowość wyniku.

Upewnij się, że prawidłowo obsługujesz asynchroniczny charakter zapytań. Użyj async/await lub łańcuchów Promise do zarządzania danymi odpowiedzi. Zapewnia to, że Twoja aplikacja pozostaje responsywna podczas oczekiwania na wygenerowanie tekstu przez model. SDK Node jest niezawodnym wyborem do budowania skalowalnych usług generowania tekstu.

Odpowiedzi strumieniowe

Włącz strumieniowanie, ustawiając parametr stream na true w swoim zapytaniu. Serwer wyśle serię zdarzeń Server-Sent Events (SSE) zamiast pojedynczej odpowiedzi JSON. Każde zdarzenie zawiera częściowy fragment wygenerowanego tekstu.

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)

Strumieniowanie jest przydatne w aplikacjach czasu rzeczywistego, gdzie chcesz wyświetlać wynik w miarę jego generowania. Ostatni fragment strumienia zawiera całkowite użycie tokenów dla zapytania. Pozwala to na dokładne śledzenie kosztów bez oczekiwania na zakończenie całej odpowiedzi.

Obsługuj zdarzenia strumienia ostrożnie, aby zapewnić poprawne złożenie tekstu. Połącz fragmenty w kolejności ich otrzymywania. Serwer gwarantuje, że fragmenty są wysyłane sekwencyjnie. Jeśli połączenie zostanie przerwane, może być konieczne ponowne wysłanie zapytania. Strumieniowanie to potężna funkcja, która poprawia doświadczenie użytkownika w zadaniach generowania tekstu.

Limity zapytań i okno kontekstu

Każdy klucz API jest ograniczony do 300 zapytań na minutę i 8 równoległych zapytań. Rozmiar ciała zapytania jest ograniczony do 8 MB. Jeśli przekroczysz te limity, serwer zwróci kod statusu 429. Jest to standardowy kod statusu HTTP wskazujący, że wysłano zbyt wiele zapytań w danym oknie czasowym. Powinieneś zaimplementować backoff wykładniczy w swoim kliencie, aby obsłużyć te błędy w sposób elegancki.

Okno kontekstu obsługuje do 100,000 tokenów dla połączonego promptu i completion. Nie ma osobnego limitu wyjścia. Jeśli nie określisz parametru max_tokens, odpowiedź może sięgać do końca okna. Możesz ograniczyć długość wyjścia, ustawiając max_tokens na niższą wartość.

Monitoruj swoje użycie tokenów, aby efektywnie zarządzać przedpłaconym kredytem. Błędy i odmowy nie zużywają tokenów, więc nie płacisz za nieudane zapytania. Zapewnia to, że płacisz tylko za udane generowanie tekstu. Śledź swoje limity zapytań, aby uniknąć przerw w usłudze.

Specyfikacja techniczna

Wszystkie rzeczywiste limity i funkcje API w jednym miejscu — sprawdź je przed doładowaniem.

ElementWartość
Format APIzgodne z OpenAI: działa każdy SDK OpenAI — zmień base URL i klucz
UwierzytelnianieAuthorization: Bearer YOUR_KEY
EndpointyPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.openrouternsfw.com/v1
ID modeluuncensored
Tryb JSONresponse_format: {"type": "json_object"}
Maks. odpowiedźdo reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu)
Okno kontekstu100 000 tokenów (wejście + odpowiedź)
Parametrytemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Wywoływanie funkcjitak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool
Strumieniowanietak — server-sent events; ostatni fragment zawiera zużycie tokenów
Nagłówki odpowiedziX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Rozmiar zapytaniado 8 MB
Równoległe zapytaniado 8 jednocześnie na klucz
Limit zapytań300 zapytań na minutę na klucz
DoładowanieUSDT (TRC20) lub USDC (Base), dowolna pełna kwota od $20 do $500
Ważnośćopłacony kredyt nie wygasa, bez subskrypcji
Rozliczenieprzedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe
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
Bonus+5% od $50, +10% od $100, +15% od $200
Cena$0,15 za 1 mln tokenów wejścia · $0,50 za 1 mln tokenów wyjścia
Treścitreści dla dorosłych dozwolone; treści seksualne z udziałem nieletnich są odrzucane
LogowanieGoogle albo e-mail i hasło
Kluczejeden aktywny klucz na konto; nowy zastępuje stary

Kody błędów

Błędy wracają jako JSON ze stałym type; nieudane i odrzucone zapytania są bezpłatne.

KodTypZnaczenie
400bad_requestbłędny JSON, puste wiadomości, zły parametr lub za długi kontekst
401missing_key · invalid_key · key_revokedbrak klucza, zły klucz lub klucz zastąpiony nowym
402no_creditbrak kredytu — doładuj, działa od razu
403content_blockedtreści seksualne z nieletnimi — odmowa, bez opłaty
404not_foundnieznany endpoint
413request_too_largetreść większa niż 8 MB
429rate_limited · concurrencyponad 300/min lub 8 równolegle — odczekaj i ponów
503upstream_busymodel zajęty — ponów za kilka sekund

Pytania i odpowiedzi

Jak model bez cenzury różni się od modeli innych dostawców?

Nasz model to model o otwartych wagach uruchamiany na naszych serwerach, dostrojony do odpowiadania bez odmów treści dla legalnego użytku dorosłego. Nie jest to GPT, Claude, Gemini, Grok, DeepSeek, Qwen, Llama ani żaden inny model dostawcy. Nie routujemy między dostawcami; obsługujemy jeden endpoint bez cenzury.

Co się stanie, jeśli przekroczę limit zapytań?

Jeśli przekroczysz limit 300 zapytań na minutę lub 8 żądań współbieżnych na klucz, serwer zwróci kod statusu 429. Jest to standardowy kod statusu HTTP wskazujący, że wysłano zbyt wiele zapytań w określonym oknie czasowym. Powinieneś zaimplementować logikę backoff w swoim kliencie, aby obsłużyć te błędy.

Czy API obsługuje wywoływanie funkcji i tryb JSON?

Tak, API obsługuje wywoływanie funkcji (narzędzia, tool_choice) i tryb JSON (response_format json_object). Możesz również określić parametry temperature, top_p, stop, seed, presence_penalty oraz frequency_penalty, aby kontrolować wynik.

Twój klucz jest o jeden formularz stąd

Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.

Pobierz klucz API