Guide rapide pour les utilisateurs de NSFW Chatgpt
Intégrez notre API LLM sans censure avec les SDK OpenAI standards en quelques minutes. Ajoutez votre clé et commencez à générer du texte sans filtre de contenu.
URL de base et authentification
Notre API nsfw chatgpt suit la norme OpenAI chat-completions. Vous vous authentifiez à l'aide d'un token Bearer dans l'en-tête Authorization. L'URL de base est https://api.nsfwchatgpt.cc/v1. Inscrivez-vous pour obtenir un compte gratuit et recevez immédiatement votre clé API ; aucune carte bancaire n'est requise pour l'essai initial. Cette clé vous donne accès à notre unique modèle sans censure, optimisé pour un usage adulte légal, ce qui signifie qu'il n'accepte pas par défaut les sujets controversés ou pour adultes, mais bloque strictement les contenus sexuels impliquant des mineurs.
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 de complétion de conversation
Envoyez des messages à l'endpoint POST /v1/chat/completions. L'ID du modèle est toujours uncensored. Il s'agit d'un modèle à poids ouverts fonctionnant sur nos propres serveurs, distinct de GPT, Claude ou Llama. Il accepte les rôles de message standards comme user et assistant. Vous pouvez envoyer jusqu'à 8 requêtes simultanées par clé. Si vous devez changer de clé, la génération d'une nouvelle clé remplace la clé active précédente pour ce compte.
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)
Réponses en streaming
Activez le streaming en définissant stream: true. L'API renvoie des événements envoyés par le serveur (SSE). Chaque chunk contient du texte partiel. Les données d'utilisation des tokens ne sont incluses que dans le dernier chunk du flux. C'est idéal pour créer des interfaces de chat qui affichent le texte au fur et à mesure de sa génération. Assurez-vous que votre client gère correctement les SSE pour capturer la réponse complète et les comptes de tokens finaux.
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)
Appel de fonctions et outils
L'API prend en charge l'appel de fonctions. Définissez vos outils dans le paramètre tools et définissez tool_choice sur auto ou un nom de fonction spécifique. Le modèle renverra des appels d'outils dans sa réponse lorsque cela sera approprié. Cela vous permet d'intégrer notre modèle sans censure dans des agents qui doivent interagir avec des API externes ou exécuter du code. Assurez-vous que vos définitions d'outils suivent le schéma OpenAI standard pour la compatibilité.
Mode JSON
Forcez le modèle à produire du JSON valide en définissant response_format sur {"type": "json_object"}. Cela est utile pour la génération de données structurées ou lors de la création d'applications qui analysent des schémas spécifiques. Le modèle est ajusté pour respecter la syntaxe JSON même lors de la génération d'objets imbriqués complexes. Si la sortie est invalide, la requête peut échouer ou renvoyer du texte mal formé, donc validez toujours la réponse dans votre code.
Paramètres : température et top P
Contrôlez la créativité avec temperature et la diversité avec top_p. Des valeurs de température plus élevées rendent les réponses plus aléatoires et créatives, tandis que des valeurs plus basses les rendent plus déterministes. top_p filtre les tokens en fonction de la probabilité cumulative. Vous pouvez également définir des séquences stop, un seed pour la reproductibilité, et des pénalités pour la présence et la fréquence. Ces paramètres permettent un réglage fin du style de sortie du modèle sans censure.
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);Questions et réponses
Quelles sont les limites en tokens ?
La fenêtre de contexte est de 100 000 tokens pour le prompt et la complétion combinés. La sortie maximale par requête est de 32 000 tokens, ou 2 048 si vous ne définissez pas <code>max_tokens</code>. Les requêtes dépassant ces limites seront rejetées.
Que se passe-t-il en cas d'erreur 401 ou 429 ?
Une erreur 401 signifie que votre clé API est invalide ou manquante. Une erreur 429 indique que vous avez atteint la limite de débit de 300 requêtes par minute. Les erreurs et les refus ne consomment pas votre crédit de tokens prépayé.
Comment payer les tokens ?
Nous acceptons USDT (TRC20) et USDC (Base). Le rechargement minimum est de 10 $, et vous recevez un bonus pour les montants supérieurs. Le crédit n'expire jamais, et vous pouvez commencer avec un essai gratuit de 0,50 $.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.
Fiche technique de l'API
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é |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.nsfwchatgpt.cc/v1 |
| ID du modèle | uncensored |
| Authentification | Authorization: Bearer YOUR_KEY |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| Sortie max. | jusqu'au reste de la fenêtre de 100 000 tokens ; max_tokens optionnel (pas de plafond distinct) |
| Mode JSON | response_format: {"type": "json_object"} |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| Taille | jusqu'à 8 Mo par requête |
| Limite de débit | 300 requêtes par minute et par clé |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concurrence | 8 requêtes simultanées par clé |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| 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 |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| Connexion | Google ou e-mail et mot de passe |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
| 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 |