Chat NSFW: Documentazione API LLM senza censura
Integra l'API LLM senza censura nella tua app chat NSFW con questa guida all'avvio. Invia testo all'endpoint chat-completions e ricevi risposte grezze e senza restrizioni dal modello.
URL base e autenticazione
Inizia puntando il tuo client compatibile con OpenAI all'URL base https://api.nsfwchat.top/v1. Autentica ogni richiesta includendo la tua chiave API nell'intestazione Authorization come token Bearer. Puoi generare questa chiave immediatamente dopo esserti registrato tramite Google o email nella pagina Ottieni chiave API. La chiave viene visualizzata una sola volta alla creazione, quindi salvala in modo sicuro. Questa singola chiave è associata al credito prepagato e ai limiti di richiesta del tuo account.
Prima richiesta
Invia una richiesta standard di chat-completions per testare la connettività e la qualità della risposta. Usa l'ID modello uncensored per accedere al modello a pesi aperti ottimizzato per contenuti adulti. L'API accetta input testuale e restituisce output testuale. Assicurati che il tuo payload includa l'array messages e il campo model. Questa chiamata di base verifica che l'autenticazione e la configurazione dell'URL base siano corrette prima di costruire la logica della tua applicazione.
Integrazione SDK Python
Usa l'SDK Python ufficiale di OpenAI per interagire con l'API. Imposta le variabili di ambiente base_url e api_key oppure passale direttamente al costruttore del client. Chiama chat.completions.create con il modello uncensored. Questo approccio sfrutta il codice esistente della community per le app chat NSFW. L'SDK gestisce la serializzazione e l'analisi degli errori, permettendoti di concentrarti sull'ingegneria del prompt e sulla gestione della cronologia dei messaggi nel tuo ambiente Python.
Integrazione SDK Node.js
Per applicazioni JavaScript o TypeScript, inizializza il client OpenAI con il tuo URL base e chiave API. L'SDK Node è asincrono per impostazione predefinita, restituendo promesse per tutte le chiamate API. Invoca chat.completions.create per inviare la cronologia delle conversazioni. Questa integrazione è ideale per server web o backend di giochi basati su Node che richiedono I/O non bloccante. Gestisci l'oggetto di risposta per estrarre la risposta dell'assistente e aggiornare il tuo stato locale o database.
Risposte in streaming via SSE
Abilita lo streaming impostando stream: true nella tua richiesta. L'endpoint restituisce Server-Sent Events (SSE) mentre il modello genera testo. Ogni chunk contiene delta parziali. L'ultimo chunk include le statistiche di utilizzo dei token per la richiesta. Questo metodo riduce la latenza percepita per gli utenti nelle interfacce di chat NSFW mostrando il testo man mano che viene generato. Elabora ogni evento nel tuo client per aggiornare l'interfaccia utente in tempo reale.
Limiti, errori e finestra di contesto
La finestra di contesto supporta fino a 100.000 token per prompt e completamento combinati. Il corpo della tua richiesta non deve superare 8 MB. Sei limitato a 300 richieste al minuto e 8 richieste parallele per chiave. Se il tuo credito prepagato è esaurito, l'API rifiuta le richieste ulteriori. I fallimenti di autenticazione restituiscono un errore 401 e i limiti di richiesta attivano una risposta 429. Assicurati che la tua applicazione gestisca questi errori in modo elegante per mantenere un'esperienza utente fluida durante i periodi di alto traffico.
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);Streaming
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)Specifiche tecniche
Tutti i limiti e le funzioni reali dell'API in un unico posto: controllali prima di ricaricare.
| Voce | Valore |
|---|---|
| Formato | compatibile OpenAI: qualsiasi SDK OpenAI funziona cambiando base URL e chiave |
| ID modello | uncensored |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Autenticazione | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.nsfwchat.top/v1 |
| Parametri | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Finestra di contesto | 100.000 token (input + output) |
| Streaming | sì — server-sent events; l'ultimo blocco riporta l'uso dei token |
| Function calling | sì — tools, tool_choice; risposte con tool_calls anche in streaming; risultati come role: tool |
| Modalità JSON | response_format: {"type": "json_object"} |
| Output massimo | fino al resto della finestra di 100.000 token; max_tokens opzionale (nessun limite separato) |
| Header | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite di frequenza | 300 richieste al minuto per chiave |
| Dimensione | fino a 8 MB per richiesta |
| Concorrenza | 8 richieste contemporanee per chiave |
| Ricarica | USDT (TRC20) o USDC (Base), qualsiasi importo intero da $10 a $500 |
| Prova gratuita | $0,50 per 7 giorni, senza carta · Chiave di prova: 2 richieste parallele, 60 al minuto; limiti completi (8 e 300) dopo la prima ricarica |
| Fatturazione | credito prepagato in base all'uso reale; errori e rifiuti gratuiti |
| Bonus | +5% da $50, +10% da $100 |
| Prezzo | $0,25 per 1M token in input · $1,00 per 1M in output |
| Scadenza | il credito pagato non scade, nessun abbonamento |
| Chiavi | una chiave attiva per account; una nuova sostituisce la precedente |
| Accesso | Google oppure e-mail e password |
| Contenuti | contenuti per adulti consentiti; rifiutati i contenuti sessuali con minori |
Codici di errore
Gli errori arrivano in JSON con un type fisso; le richieste fallite o rifiutate non si pagano.
| Codice | Tipo | Significato |
|---|---|---|
400 | bad_request | JSON non valido, messaggi vuoti, parametro errato o contesto troppo lungo |
401 | missing_key · invalid_key · key_revoked | chiave mancante, errata o sostituita |
402 | no_credit | credito esaurito — ricarica e riparti subito |
403 | content_blocked | contenuti sessuali con minori — rifiutato, non addebitato |
404 | not_found | endpoint sconosciuto |
413 | request_too_large | corpo oltre 8 MB |
429 | rate_limited · concurrency | oltre 300/min o 8 in parallelo — attendi e riprova |
503 | upstream_busy | modello occupato — riprova tra pochi secondi |
Domande e risposte
Quale ID modello devo usare?
Usa l'ID modello <code>uncensored</code>. È un modello a pesi aperti ospitato sui nostri server, distinto da GPT, Claude o altri modelli di fornitori.
L'API supporta la chiamata di funzioni?
Sì, l'API supporta la chiamata di funzioni (tools e tool_choice) insieme alla modalità JSON per output strutturati. Puoi definire gli strumenti nel payload della richiesta.
Esiste un filtro sui contenuti per i minori?
Si applica un limite rigido: le richieste contenenti contenuti sessuali che coinvolgono minori vengono sempre rifiutate, indipendentemente dal contesto del prompt.
La tua chiave è a un modulo di distanza
Crea un account, copia la chiave, cambia l'URL base. È tutta qui la configurazione.