Chat NSFW : Documentation de l'API LLM sans censure
Intégrez l'API LLM sans censure dans votre application de chat NSFW grâce à ce guide de prise en main. Envoyez du texte à l'endpoint chat-completions et recevez des réponses brutes du modèle sans restriction.
URL de base et authentification
Commencez par pointer votre client compatible OpenAI vers l'URL de base https://api.nsfwchat.top/v1. Authentifiez chaque requête en incluant votre clé API dans l'en-tête Authorization sous forme de jeton Bearer. Vous pouvez générer cette clé immédiatement après vous être inscrit via Google ou e-mail sur la page Obtenir la clé API. La clé n'est affichée qu'une seule fois lors de sa création, veuillez donc la conserver en sécurité. Cette clé unique est liée au crédit prépayé de votre compte et aux limites de requêtes.
Première requête
Envoyez une requête standard chat-completions pour tester la connectivité et la qualité des réponses. Utilisez l'ID de modèle uncensored pour accéder au modèle à poids ouverts optimisé pour le contenu adulte. L'API accepte une entrée textuelle et retourne une sortie textuelle. Assurez-vous que votre payload inclut le tableau messages et le champ model. Cet appel de base vérifie que votre configuration d'authentification et de l'URL de base est correcte avant de développer la logique de votre application.
Intégration SDK Python
Utilisez le SDK Python officiel d'OpenAI pour interagir avec l'API. Définissez les variables d'environnement base_url et api_key ou passez-les directement au constructeur du client. Appelez chat.completions.create avec le modèle uncensored. Cette approche exploite le code communautaire existant pour les applications de chat NSFW. Le SDK gère la sérialisation et l'analyse des erreurs, vous permettant de vous concentrer sur l'ingénierie des prompts et la gestion de l'historique des messages dans votre environnement Python.
Intégration SDK Node.js
Pour les applications JavaScript ou TypeScript, initialisez le client OpenAI avec votre URL de base et votre clé API. Le SDK Node.js est asynchrone par défaut et retourne des promesses pour tous les appels API. Invoker chat.completions.create pour envoyer l'historique de votre conversation. Cette intégration est idéale pour les serveurs web ou les backends de jeux basés sur Node.js qui nécessitent des E/S non bloquants. Traitez l'objet de réponse pour extraire la réponse de l'assistant et mettre à jour votre état local ou votre base de données.
Réponses en streaming via SSE
Activez le streaming en définissant stream: true dans votre requête. L'API retourne des Server-Sent Events (SSE) à mesure que le modèle génère du texte. Chaque chunk contient des deltas partiels. Le dernier chunk inclut les statistiques d'utilisation des tokens pour la requête. Cette méthode réduit la latence perçue pour les utilisateurs des interfaces de chat NSFW en affichant le texte au fur et à mesure de sa génération. Traitez chaque événement dans votre client pour mettre à jour l'interface utilisateur en temps réel.
Limites, erreurs et fenêtre de contexte
La fenêtre de contexte prend en charge jusqu'à 100 000 tokens pour le prompt et la complétion combinés. Le corps de votre requête ne doit pas dépasser 8 Mo. Vous êtes limité à 300 requêtes par minute et à 8 requêtes simultanées par clé. Si votre crédit prépayé est épuisé, l'API rejette les requêtes suivantes. Les échecs d'authentification retournent une erreur 401, et les limites de débit déclenchent une réponse 429. Assurez-vous que votre application gère ces erreurs de manière gracieuse pour maintenir une expérience utilisateur fluide lors des périodes de fort trafic.
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)Fonctions et limites
Toutes les limites et fonctions réelles de l'API au même endroit — vérifiez-les avant de recharger.
| Élément | Valeur |
|---|---|
| Format | compatible OpenAI : tout SDK OpenAI fonctionne en changeant la base URL et la clé |
| ID du modèle | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Authentification | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.nsfwchat.top/v1 |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| Mode JSON | response_format: {"type": "json_object"} |
| Sortie max. | jusqu'au reste de la fenêtre de 100 000 tokens ; max_tokens optionnel (pas de plafond distinct) |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite de débit | 300 requêtes par minute et par clé |
| Taille | jusqu'à 8 Mo par requête |
| Concurrence | 8 requêtes simultanées par clé |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| Essai gratuit | 0,50 $ pendant 7 jours, sans carte · Clé d'essai : 2 requêtes parallèles, 60 par minute ; limites complètes (8 et 300) après la 1re recharge |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
| Connexion | Google ou e-mail et mot de passe |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
Codes d'erreur
Les erreurs arrivent en JSON avec un type stable ; les requêtes échouées ou refusées ne sont pas facturées.
| Code | Type | Signification |
|---|---|---|
400 | bad_request | JSON invalide, messages vides, mauvais paramètre ou contexte trop long |
401 | missing_key · invalid_key · key_revoked | clé absente, erronée ou remplacée |
402 | no_credit | plus de crédit — rechargez, la reprise est immédiate |
403 | content_blocked | contenu sexuel impliquant des mineurs — refusé, non facturé |
404 | not_found | endpoint inconnu |
413 | request_too_large | corps supérieur à 8 Mo |
429 | rate_limited · concurrency | au-delà de 300/min ou 8 en parallèle — patientez |
503 | upstream_busy | modèle occupé — réessayez dans quelques secondes |
Questions et réponses
Quel ID de modèle dois-je utiliser ?
Utilisez l'ID de modèle <code>uncensored</code>. Il s'agit d'un modèle à poids ouverts hébergé sur nos serveurs, distinct des modèles GPT, Claude ou d'autres fournisseurs.
L'API prend-elle en charge l'appel de fonctions ?
Oui, l'API prend en charge l'appel de fonctions (outils et tool_choice) ainsi que le mode JSON pour les sorties structurées. Vous pouvez définir des outils dans le payload de votre requête.
Y a-t-il un filtre de contenu pour les mineurs ?
Une limite stricte s'applique : les requêtes contenant du contenu sexuel impliquant des mineurs sont toujours refusées, quel que soit le contexte du prompt.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration nécessaire.