FR ▾

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émentValeur
Formatcompatible OpenAI : tout SDK OpenAI fonctionne en changeant la base URL et la clé
ID du modèleuncensored
EndpointsPOST /v1/chat/completions · GET /v1/models
AuthentificationAuthorization: Bearer YOUR_KEY
Base URLhttps://api.nsfwchat.top/v1
Paramètrestemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Fenêtre de contexte100 000 tokens (entrée + sortie)
Streamingoui — server-sent events ; le dernier bloc contient l'usage des tokens
Appel de fonctionsoui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool
Mode JSONresponse_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êtesX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Limite de débit300 requêtes par minute et par clé
Taillejusqu'à 8 Mo par requête
Concurrence8 requêtes simultanées par clé
RechargeUSDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $
Essai gratuit0,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
Facturationcrédit prépayé selon l'usage réel ; erreurs et refus gratuits
Bonus+5 % dès 50 $, +10 % dès 100 $
Prix0,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ésune clé active par compte ; une nouvelle remplace l'ancienne
ConnexionGoogle ou e-mail et mot de passe
Contenucontenu 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.

CodeTypeSignification
400bad_requestJSON invalide, messages vides, mauvais paramètre ou contexte trop long
401missing_key · invalid_key · key_revokedclé absente, erronée ou remplacée
402no_creditplus de crédit — rechargez, la reprise est immédiate
403content_blockedcontenu sexuel impliquant des mineurs — refusé, non facturé
404not_foundendpoint inconnu
413request_too_largecorps supérieur à 8 Mo
429rate_limited · concurrencyau-delà de 300/min ou 8 en parallèle — patientez
503upstream_busymodè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.

Obtenir une clé API