nsfwllms.comDocumentation
LLM NSFW : Guide de démarrage rapide de l'API LLM sans censure
Commencez avec notre API LLM sans censure en quelques minutes. Ce guide couvre l'authentification, les complétions de chat, le streaming et l'appel d'outils avec des clients compatibles OpenAI standard.
- par 1 M de tokens d'entrée
- $0.25
- Tokens de sortie / 1 M
- $1.00
- fenêtre de contexte de tokens
- 100,000
- crédit d'essai gratuit
- $0.50
- requêtes par minute
- 300
URL de base et authentification
Notre API suit le standard OpenAI, ce qui rend l'intégration simple. Utilisez l'URL de base https://api.nsfwllms.com/v1 pour toutes les requêtes. L'authentification est gérée via un jeton Bearer dans l'en-tête Authorization. Vous pouvez générer votre clé sur la page Obtenir une clé API en utilisant simplement une adresse e-mail et un mot de passe. Aucun numéro de téléphone ni carte bancaire n'est requis pour commencer avec le crédit d'essai gratuit.
Première requête
Envoyez une requête standard de complétion de chat pour tester la connectivité. L'identifiant du modèle est uncensored. Cette requête démontre le flux basique texte en entrée, texte en sortie sans paramètres spéciaux.
curl https://api.nsfwllms.com/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."}]
}'
Cela renvoie un objet de réponse standard contenant le texte généré. Si vous recevez une erreur 401, vérifiez votre clé API. Une erreur 402 indique que le solde de votre crédit prépayé est insuffisant.
Intégration du SDK Python
Utilisez le package Python officiel openai pour interagir avec l'endpoint. Définissez l'URL de base pour pointer vers nos serveurs et fournissez votre clé API. Cela vous permet de tirer parti des patterns SDK familiers pour vos applications LLM sans censure.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwllms.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)
Le client gère automatiquement la sérialisation et la logique de nouvelle tentative. Vous pouvez passer model="uncensored" pour vous assurer d'utiliser le bon modèle ablité.
Utilisation du SDK Node.js
Pour les projets JavaScript ou TypeScript, initialisez le client OpenAI avec l'URL de base personnalisée. Cette approche fonctionne avec n'importe quelle bibliothèque client compatible OpenAI qui prend en charge les endpoints personnalisés.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwllms.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);
Assurez-vous d'utiliser une version récente du SDK qui prend en charge la configuration baseUrl. Cela garantit la compatibilité avec nos fonctionnalités de streaming et d'appel d'outils.
Réponses en streaming (SSE)
Activez le streaming en définissant stream: true dans votre requête. L'API renvoie des Server-Sent Events (SSE) que vous pouvez traiter de manière incrémentale. Cela réduit la latence perçue pour les interfaces de chat.
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)
Chaque chunk contient des deltas de texte partiels. Concaténez ces deltas pour reconstituer la réponse complète. Le streaming fonctionne de manière identique au protocole OpenAI standard, donc les analyseurs de flux existants devraient fonctionner sans modification.
Limites de débit et contraintes
Chaque clé API est limitée à 300 requêtes par minute. La taille maximale du corps de la requête est de 8 Mo. La fenêtre de contexte prend en charge jusqu'à 100 000 tokens au total pour le prompt et la complétion combinés. Si vous dépassez la limite de débit, vous recevrez une erreur 429. Vous pouvez régénérer votre clé API à tout moment, ce qui révoque immédiatement la clé précédente.
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é |
| Authentification | Authorization: Bearer YOUR_KEY |
| ID du modèle | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.nsfwllms.com/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 |
| 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) |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| 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é |
| Taille | jusqu'à 8 Mo par requête |
| Limite de débit | 300 requêtes par minute et par clé |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| 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 |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
| Connexion | Google ou e-mail et mot de passe |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
Erreurs et solutions
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
Que se passe-t-il si mon crédit prépayé est épuisé ?
Vous recevrez une erreur 402 sur les requêtes suivantes. Vous pouvez recharger votre compte à partir de 10 $ en utilisant des cryptomonnaies (USDT ou USDC). Des crédits bonus sont ajoutés automatiquement aux niveaux supérieurs.
Le modèle sans censure est-il GPT-4 ?
Non. L'ID du modèle est <code>uncensored</code>. Il s'agit d'un modèle à poids ouverts ajusté pour la génération de texte sans restriction, fonctionnant sur nos propres serveurs GPU. Ce n'est ni GPT, ni Claude, ni le modèle d'un autre fournisseur.
Comment gérer les erreurs de streaming ?
Vérifiez le code de statut HTTP du flux de réponse. Si le flux se termine prématurément ou renvoie un objet d'erreur, inspectez le champ <code>error</code> pour obtenir des détails tels que les limites de débit ou les paramètres invalides.