Szybki start dla użytkowników NSFW Chatgpt
Zintegruj nasze API LLM bez cenzury ze standardowymi SDK OpenAI w kilka minut. Wklej swój klucz i zacznij generować tekst bez filtrów treści.
URL bazowy i uwierzytelnianie
Nasze API chatgpt nsfw follows standard OpenAI chat-completions. Uwierzytelniasz się za pomocą tokenu Bearer w nagłówku Authorization. Podstawowy URL to https://api.nsfwchatgpt.cc/v1. Zarejestruj się, aby otrzymać klucz API natychmiast; nie jest wymagana karta kredytowa do początkowej próby. Ten klucz daje dostęp do naszego pojedynczego modelu bez cenzury zoptymalizowanego pod kątem legalnego użytku dorosłego, co oznacza, że nie będzie odrzucać kontrowersyjnych lub dojrzałych tematów domyślnie, choć ściśle blokuje treści seksualne z udziałem małoletnich.
curl https://api.nsfwchatgpt.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."}]
}'
Endpoint Chat Completions
Wysyłaj wiadomości do endpointu POST /v1/chat/completions. ID modelu to zawsze uncensored. Jest to model o otwartych wagach działający na własnych serwerach, odrębny od GPT, Claude lub Llama. Akceptuje standardowe role wiadomości, takie jak user i assistant. Możesz wysyłać do 8 zapytań jednocześnie na klucz. Jeśli musisz zmienić klucze, wygenerowanie nowego zastępuje poprzedni aktywny klucz dla tego konta.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwchatgpt.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)
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając stream: true. API zwraca zdarzenia wysłane przez serwer (SSE). Każdy chunk zawiera częściowy tekst. Dane dotyczące użycia tokenów są zawarte tylko w ostatnim chunku strumienia. Jest to idealne do budowania interfejsów czatu, które renderują tekst w miarę jego generowania. Upewnij się, że Twój klient poprawnie obsługuje SSE, aby przechwycić pełną odpowiedź i finalne liczniki 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)
Wywoływanie funkcji i narzędzia
API obsługuje wywoływanie funkcji. Zdefiniuj swoje narzędzia w parametrze tools i ustaw tool_choice na auto lub konkretną nazwę funkcji. Model zwróci tool_calls w swojej odpowiedzi, gdy będzie to odpowiednie. Pozwala to na integrację naszego modelu bez cenzury z agentami, które muszą interagować z zewnętrznymi API lub wykonywać kod. Upewnij się, że definicje narzędzi są zgodne ze standardowym schematem OpenAI dla kompatybilności.
Tryb JSON
Wymuś na modelu output poprawnego JSON, ustawiając response_format na {"type": "json_object"}. Jest to przydatne przy generowaniu danych strukturalnych lub przy budowaniu aplikacji, które parsują konkretne schematy. Model jest dostrojony do przestrzegania składni JSON nawet przy generowaniu złożonych obiektów zagnieżdżonych. Jeśli output jest nieprawidłowy, zapytanie może się nie powieść lub zwrócić niepoprawny tekst, więc zawsze waliduj odpowiedź w swoim kodzie.
Parametry: Temperatura i Top P
Kontroluj kreatywność za pomocą temperature i różnorodność za pomocą top_p. Wyższe wartości temperatury sprawiają, że odpowiedzi są bardziej losowe i kreatywne, podczas gdy niższe wartości sprawiają, że są bardziej deterministyczne. top_p filtruje tokeny na podstawie prawdopodobieństwa kumulacyjnego. Możesz również ustawić sekwencje stop, seed dla reproducowalności oraz kary za obecność i częstotliwość. Parametry te pozwalają na dopracowanie stylu outputu modelu bez cenzury.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwchatgpt.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);Pytania i odpowiedzi
Jakie są limity tokenów?
Okno kontekstu wynosi 100 000 tokenów dla promptu i completion łącznie. Maksymalna ilość outputu na zapytanie to 32 000 tokenów, lub 2 048, jeśli nie ustawisz <code>max_tokens</code>. Zapytania przekraczające te limity zostaną odrzucone.
Co się stanie, jeśli otrzymam błąd 401 lub 429?
Błąd 401 oznacza, że Twój klucz API jest nieprawidłowy lub brakuje go. Błąd 429 oznacza, że przekroczyłeś limit zapytań wynoszący 300 zapytań na minutę. Błędy i refusals nie zużywają Twojego przedpłaconego kredytu tokenów.
Jak płacić za tokeny?
Akceptujemy USDT (TRC20) i USDC (Base). Minimalne doładowanie to $10, a za większe kwoty otrzymujesz bonus. Kredyt nigdy nie wygasa, a Ty możesz zacząć od darmowego kredytu próbnego o wartości $0,50.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień URL bazowy. To cały proces konfiguracji.
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 |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.nsfwchatgpt.cc/v1 |
| ID modelu | uncensored |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| 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"} |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| Rozmiar zapytania | do 8 MB |
| Limit zapytań | 300 zapytań na minutę na klucz |
| Nagłówki odpowiedzi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| Cena | $0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia |
| 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 |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Logowanie | Google albo e-mail i hasło |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
| 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 |