Uwierzytelnianie
Uwierzytelnianie opiera się na jednym kluczu API przekazanym w nagłówku Authorization. Klucz ten jest generowany natychmiast po zalogowaniu się na stronę Pobierz klucz API przy użyciu adresu e-mail i hasła. Możesz wygenerować klucz ponownie w dowolnym momencie, co natychmiast unieważnia poprzedni. API nie wymaga karty kredytowej do początkowego okresu próbnego, a prompty nie są używane do trenowania Twoich danych. Upewnij się, że bezpiecznie przechowywany jest Twój klucz API, ponieważ zapewnia on bezpośredni dostęp do przedpłaconego kredytu.
Endpoint Chat Completions
Wysyłaj zapytania pod bazowy adres URL https://api.nsfwllmrouter.com/v1, korzystając ze standardowego endpointu POST /v1/chat/completions. Jest to interfejs wyłącznie tekstowy; nie obsługujemy embeddingów, obrazów, audio ani generowania wideo. Wskaż model jako uncensored, aby upewnić się, że korzystasz z naszego dedykowanego modelu o otwartych wagach zoptymalizowanego pod kątem treści dla dorosłych. Model działa na naszych własnych serwerach GPU i nie odrzuca legalnych treści dla dorosłych, fikcyjnych lub kontrowersyjnych. Nie jest to GPT, Claude ani żaden inny model dostawcy.
curl https://api.nsfwllmrouter.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."}]
}'
Treść zapytania nie może przekraczać 8 MB. Możesz zdefiniować wiadomości systemowe, od użytkownika i asystenta tak samo, jak w przypadku dowolnego klienta kompatybilnego z OpenAI. Model zwróci wynik tekstowy bezpośrednio w strumieniu odpowiedzi.
SDK Python
Użyj oficjalnej biblioteki OpenAI dla Pythona, aby szybko zintegrować się z API. Wskaż klientowi nasz bazowy adres URL i podaj swój klucz API. To podejście działa z dowolnym SDK kompatybilnym z OpenAI, pozwalając na zmianę bazowego adresu URL bez zmiany logiki aplikacji. ID modelu uncensored zapewnia, że wchodzisz w interakcję z naszym konkretnym niecenzurowanym LLM.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwllmrouter.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)
Pamiętaj, że jest to dedykowane API bez cenzury, więc nie musisz zarządzać złożonym trasowaniem ani wybierać między wieloma modelami. System obsługuje wnioskowanie na naszej infrastrukturze. Jeśli potrzebujesz trasowania między wieloma modelami, musisz zbudować to samodzielnie, ale tutaj wybór jest stały i ograniczony do naszego jednego zoptymalizowanego modelu.
SDK Node.js
W środowisku Node.js zainicjuj klienta OpenAI podając niestandardowy URL bazowy i klucz API. Pozwala to na użycie standardowych wzorców JavaScript/TypeScript do budowania aplikacji AI. Klient będzie komunikował się z naszymi endpointami zgodnie ze specyfikacją OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwllmrouter.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);
Upewnij się, że twoje środowisko obsługuje wymagane biblioteki fetch lub http. Obiekt odpowiedzi będzie zawierał standardową tablicę choices z wygenerowanym tekstem. Ta metoda jest idealna do renderowania po stronie serwera lub backendów API, gdzie potrzebujesz niezawodnego generowania tekstu bez filtrów.
Strumieniowanie odpowiedzi
Włącz strumieniowanie, ustawiając stream: true w swoim zapytaniu. API zwraca zdarzenia wysłane przez serwer (SSE) zawierające częściowe fragmenty odpowiedzi. Jest to przydatne w interfejsach czasu rzeczywistego, gdzie chcesz wyświetlać tekst w miarę jego generowania. Model obsługuje standardowe protokoły strumieniowania, więc możesz użyć istniejących parserów SSE.
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)
Każdy fragment zawiera inkrementalny tekst. Agreguj te fragmenty w swojej aplikacji, aby zbudować pełną odpowiedź. Strumieniowanie nie wpływa na rozliczanie tokenów; płacisz za całkowitą liczbę tokenów wejściowych i wyjściowych przetworzonych przez system. Ta funkcja jest obsługiwana na endpointzie chat/completions.
Limity zapytań i ograniczenia
Każdy klucz API jest ograniczony do 300 zapytań na minutę. Jeśli przekroczysz ten limit, otrzymasz błąd limitu zapytań 429. Maksymalny rozmiar treści zapytania wynosi 8 MB. Jeśli twój klucz jest nieprawidłowy, otrzymasz błąd 401. Jeśli nie masz przedpłaconego kredytu, otrzymasz błąd 402. Okno kontekstu wynosi 100 000 tokenów, obejmując zarówno prompt, jak i uzupełnienie. Nie ma gwarancji SLA, a my nie oferujemy wdrożenia on-premise ani trasowania modeli. Używaj tego API bez cenzury dla aplikacji wymagających dużej liczby zapytań i odpowiedzi bez filtrów.