PL ▾

NSFW Chat: Dokumentacja API LLM bez cenzury

Zintegruj API LLM bez cenzury ze swoją aplikacją czatu NSFW dzięki temu przewodnikowi. Wysyłaj tekst do endpointu chat-completions i odbieraj surowe odpowiedzi modelu bez ograniczeń.

Podstawowy URL i uwierzytelnianie

Skieruj swój klient zgodny z OpenAI do adresu bazowego https://api.nsfwchat.top/v1. Uwierzytelnij każde zapytanie, dołączając swój klucz API w nagłówku Authorization jako token Bearer. Możesz wygenerować ten klucz natychmiast po rejestracji za pomocą Google lub e-mail na stronie Pobieranie klucza API. Klucz jest wyświetlany tylko raz przy utworzeniu, więc zapisz go bezpiecznie. Ten pojedynczy klucz jest powiązany z przedpłaconym kredytem i limitami zapytań Twojego konta.

Pierwsze zapytanie

Wyślij standardowe zapytanie chat-completions, aby przetestować łączność i jakość odpowiedzi. Użyj identyfikatora modelu uncensored, aby uzyskać dostęp do modelu o otwartych wagach dopracowanego pod kątem treści dla dorosłych. API przyjmuje dane wejściowe tekstowe i zwraca dane wyjściowe tekstowe. Upewnij się, że Twoja ładunek zawiera tablicę messages oraz pole model. To podstawowe wywołanie weryfikuje poprawność konfiguracji uwierzytelniania i adresu bazowego przed zbudowaniem logiki Twojej aplikacji.

Integracja z Python SDK

Użyj oficjalnego Python SDK OpenAI do interakcji z API. Ustaw zmienne środowiskowe base_url i api_key lub przekaż je bezpośrednio do konstruktora klienta. Wywołaj chat.completions.create z modelem uncensored. To podejście wykorzystuje istniejący kod społeczności dla aplikacji czatu NSFW. SDK obsługuje serializację i parsowanie błędów, pozwalając Ci skupić się na inżynierii promptów i zarządzaniu historią wiadomości w środowisku Python.

Integracja z Node SDK

Dla aplikacji JavaScript lub TypeScript zainicjuj klienta OpenAI, podając adres bazowy i klucz API. SDK Node.js jest asynchroniczne domyślnie, zwracając obietnice (promises) dla wszystkich wywołań API. Wywołaj chat.completions.create, aby wysłać historię rozmowy. Ta integracja jest idealna dla serwerów sieciowych lub zapleczy gier opartych na Node, które wymagają nieblokującego I/O. Obsłuż obiekt odpowiedzi, aby wyodrębnić odpowiedź asystenta i zaktualizować swój lokalny stan lub bazę danych.

Strumieniowanie odpowiedzi przez SSE

Włącz strumieniowanie, ustawiając stream: true w swoim zapytaniu. API zwraca zdarzenia wysłane przez serwer (SSE), gdy model generuje tekst. Każdy fragment zawiera częściowe delta. Ostatni fragment zawiera statystyki użycia tokenów dla zapytania. Ta metoda zmniejsza postrzeganą opóźnienie dla użytkowników w interfejsach czatu NSFW, wyświetlając tekst w miarę jego generowania. Przetwarzaj każde zdarzenie w swoim kliencie, aby aktualizować interfejs użytkownika w czasie rzeczywistym.

Limity, błędy i okno kontekstu

Okno kontekstu obsługuje do 100 000 tokenów dla promptu i uzupełnienia łącznie. Ciało Twojego zapytania nie może przekraczać 8 MB. Jesteś ograniczony do 300 zapytań na minutę i 8 równoległych zapytań na klucz. Jeśli Twój przedpłacony kredyt zostanie wyczerpany, API odrzuci dalsze zapytania. Niepowodzenia uwierzytelniania zwracają błąd 401, a limity zapytań wyzwalają odpowiedź 429. Upewnij się, że Twoja aplikacja obsługuje te błędy w sposób elegancki, aby utrzymać płynne doświadczenie użytkownika podczas okresów dużego ruchu.

cURL

curl https://api.nsfwchat.top/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.nsfwchat.top/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.nsfwchat.top/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)

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

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

Jakiego ID modelu użyć?

Użyj ID modelu <code>uncensored</code>. To model o otwartych wagach hostowany na naszych serwerach, odrębny od GPT, Claude lub innych modeli dostawców.

Czy API obsługuje wywoływanie funkcji?

Tak, API obsługuje wywoływanie funkcji (narzędzia i tool_choice) wraz z trybem JSON dla danych strukturalnych. Możesz zdefiniować narzędzia w ładunku zapytania.

Czy istnieje filtr treści dla małoletnich?

Obowiązuje sztywny limit treści: zapytania zawierające treści seksualne z udziałem małoletnich są zawsze odrzucane, niezależnie od kontekstu promptu.

Twój klucz jest o jeden formularz stąd

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

Pobierz klucz API