Démarrage rapide développeur : API sans censure
Intégrez le LLM sans censure dans votre application en utilisant un endpoint standard compatible OpenAI. Ce guide couvre l'authentification, le formatage des requêtes, le streaming et l'utilisation des outils pour l'API hébergée.
URL de base et authentification
Commencez par définir votre base_url sur https://api.abliteratedmodels.cc/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 une clé immédiatement après vous être inscrit via Google ou e-mail sur la page Obtenir la clé API. La clé est affichée une seule fois ; stockez-la en toute sécurité dans vos variables d'environnement.
- En-tête :
Authorization: Bearer YOUR_API_KEY - Aucun paramètre de requête supplémentaire n'est requis pour l'authentification.
Assurez-vous que votre bibliothèque cliente prend en charge les URL de base personnalisées. Cela vous permet de remplacer l'endpoint OpenAI par défaut sans modifier la structure de votre code.
Première requête
Envoyez une requête POST vers /v1/chat/completions avec l'ID de modèle uncensored. L'API accepte les paramètres standard de complétion de chat. Le texte entre, le texte sort. Il n'y a pas d'endpoints pour les embeddings ou la génération d'images.
- Modèle :
uncensored - Endpoint :
POST /v1/chat/completions
Utilisez la commande curl suivante pour vérifier la connectivité :
curl https://api.abliteratedmodels.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."}]
}'
Intégration SDK Python
Le SDK Python officiel d'OpenAI fonctionne directement avec cette API. Initialisez le client avec l'URL de base correcte et votre clé. Cette approche abstrait les détails HTTP tout en maintenant un contrôle total sur des paramètres comme temperature et top_p.
- Utilisez
OpenAI(base_url=..., api_key=...) - Appelez
client.chat.completions.create()
Voici un exemple minimal pour une tâche de codage de LLM :
from openai import OpenAI
client = OpenAI(base_url="https://api.abliteratedmodels.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)
Intégration SDK Node
Pour les environnements Node.js, utilisez le package npm openai. Configurez baseURL pour pointer vers notre serveur. Cette méthode est idéale pour les services backend ou les fonctions serverless où vous avez besoin d'un accès programmatique au modèle sans censure.
- Installez le package
openai - Définissez
baseURLsurhttps://api.abliteratedmodels.cc/v1
Exemple d'implémentation :
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.abliteratedmodels.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);
Réponses en streaming (SSE)
Activez le streaming en définissant stream: true dans votre requête. L'API retourne des Server-Sent Events (SSE). Les statistiques d'utilisation des tokens sont incluses dans le dernier chunk. Cela réduit la latence perçue pour les utilisateurs finis lors de la génération de contenu.
- Définissez
stream: true - Analysez les événements SSE sur le client ou le serveur
Extrait de code pour le 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)
Limites de débit et fenêtre de contexte
Chaque clé API autorise 300 requêtes par minute et 8 requêtes simultanées. Le corps de la requête ne doit pas dépasser 8 Mo. La fenêtre de contexte est de 100 000 tokens au total. Il n'y a pas de limite de sortie séparée ; si max_tokens n'est pas défini, la réponse peut s'étendre jusqu'à la fin de la fenêtre. Si vous atteignez la limite, vos requêtes seront en file d'attente ou échoueront. Gérez la concurrence pour rester dans la limite de 8 requêtes simultanées. Consultez la page Tarifs pour les détails sur le crédit.
Questions et réponses
Comment le modèle sans censure gère-t-il les refus de contenu ?
Le modèle est ajusté pour répondre sans refus pour un usage adulte légal, y compris les sujets controversés ou fictifs. Il n'applique pas les mêmes filtres corporatifs que les autres éditeurs. Cependant, une limite stricte bloque le contenu sexuel impliquant des mineurs, qui est toujours refusé quel que soit le prompt.
Que se passe-t-il si j'excède mon crédit prépayé ?
Lorsque votre crédit prépayé est épuisé, les requêtes suivantes échoueront. Vous pouvez recharger en utilisant USDT (TRC20) ou USDC (Base), avec des montants entre 20 $ et 500 $. Le crédit n'expire jamais, vous pouvez donc ajouter des fonds à tout moment sans frais d'abonnement.
Cette API prend-elle en charge l'appel de fonctions ?
Oui, vous pouvez utiliser les paramètres tools et tool_choice pour l'appel de fonctions. Vous pouvez également imposer une sortie JSON en utilisant response_format: {"type": "json_object"}. Cela est utile pour générer des données structurées ou s'intégrer à d'autres systèmes.
Votre clé n'est qu'à un formulaire d'ici
Créez un compte, copiez la clé, changez l'URL de base. C'est toute la configuration.
Caractéristiques techniques
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é |
| Base URL | https://api.abliteratedmodels.cc/v1 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Authentification | Authorization: Bearer YOUR_KEY |
| ID du modèle | uncensored |
| 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) |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Taille | jusqu'à 8 Mo par requête |
| Limite de débit | 300 requêtes par minute et par clé |
| Concurrence | 8 requêtes simultanées par clé |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| 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 |
| Recharge | crypto : USDT sur TRON ou USDC sur Base, 20 $–500 $, tout montant entier |
| Prix | 0,15 $ par million de tokens en entrée · 0,50 $ par million en sortie |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Bonus | +5 % dès 50 $, +10 % dès 100 $, +15 % dès 200 $ |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| 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.
| HTTP | 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 |