Uwierzytelnianie & URL bazowy
Twój klucz API uwierzytelnia każde żądanie. Wygeneruj klucz za pomocą panelu, używając Google lub e-mail; nie jest wymagany numer telefonu. Użyj tego klucza w Authorization Nagłówek. Adres URL bazowy dla wszystkich żądań to HTTPS://api.modelsnsfw.com/v1. To endpoint działa z dowolnym klientem kompatybilnym z OpenAI poprzez prostą zmianę bazowego adresu URL i podanie klucza.
curl https://api.modelsnsfw.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List all available nsfw model tiers and their monthly costs."}]
}'
Punkt końcowy Uzupełnień Czat
Wyślij tekst i otrzymuj tekst poprzez POST /v1/chat/completions. ID modelu to uncensored.To model open-weight dostosowany do braku odmów dla treści dorosłych zgodnych z prawem. To nie jest GPT, Claude ani model żadnego innego dostawcy. Tokeny wejściowe kosztują $0.15 za milion; tokeny wyjściowe kosztują $0.50 za milion. Błędy są darmowe.
from openai import OpenAI
client = OpenAI(base_url="https://api.modelsnsfw.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)
Odpowiedzi strumieniowe (SSE)
Włącz strumieniowanie, ustawiając stream: true. API zwraca zdarzenia wysłane przez serwer (SSE) z użyciem tokenów w ostatnim fragmencie. Jest to idealne dla interfejsów czatu w czasie rzeczywistym. Otrzymujesz częściowe tokeny natychmiast. Znacząco zmniejsza to postrzeganą latencję dla użytkownika.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.modelsnsfw.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);
Wywoływanie funkcji & Tryb JSON
Użyj response_format: {"type": "json_object"} do wyjścia strukturalnego. Możesz również zdefiniować narzędzia do wywoływania funkcji. Model obsługuje temperature, top_p, stop, a także seed parametrów. Zapewnia to deterministyczne wyniki, gdy jest to konieczne. Tryb JSON wymusza poprawny format JSON w wyjściu.
Limity prędkości & ograniczenia
Przydzielono Ci limit 300 żądań na minutę na klucz. Tylko 8 żądań może być wykonywanych jednocześnie. Ciało żądania nie może przekraczać 8 MB. Jeśli wyślesz zbyt wiele żądań, otrzymasz błąd 429. Nieprawidłowe klucze zwracają 401. Niewystarczające środki zwracają 402. Błędy podczas przetwarzania nie zużywają Twojego kredytu z konta zaliczkowego.
Użycie i rozliczenie tokenów
Okno kontekstowe wynosi łącznie 100 000 tokenów. Maksymalna liczba tokenów wyjściowych na żądanie to 16 000. Jeśli max_tokens jest nieustawione, domyślnie wynosi 2,048. Kredyty są prepayowane i nigdy nie wygasają. Doładowania są wyłącznie kryptowalutowe (USDT/TRC20 lub USDC/Base). Bonusowy kredyt jest stosowany przy większych doładowaniach. Nie jest wymagana subskrypcja.
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)