URL de base et authentification
L'API Unrestricted AI est hébergée sur https://api.unrestrictedai.top/v1. Elle suit la structure des completions de chat OpenAI, ce qui signifie que vous pouvez utiliser les SDK OpenAI existants en mettant simplement à jour le base_url et en fournissant votre clé API. Une seule clé active par compte suffit, et elle vous donne un accès immédiat au modèle sans censure. L'authentification se fait via l'en-tête Authorization avec le schéma Bearer. Assurez-vous de conserver votre clé en sécurité, car elle contrôle l'utilisation de votre crédit prépayé. Contrairement aux services d'abonnement, vous ne payez que pour les tokens traités, les erreurs et les refus étant facturés à zéro token.
Votre première requête
Envoyez une requête standard de completions de chat pour tester la connectivité. L'ID du modèle est toujours uncensored. Cet endpoint accepte une entrée textuelle et renvoie une sortie textuelle, supportant jusqu'à 100 000 tokens dans la fenêtre de contexte. Si vous ne spécifiez pas max_tokens, l'API utilise par défaut 2 048 tokens de sortie. Cette simple requête POST démontre la fonctionnalité principale : envoyer un prompt et recevoir une réponse générée sans filtre de contenu pour les sujets légaux pour adultes ou controversés.
Intégration SDK Python
Utiliser la bibliothèque Python officielle OpenAI est le moyen le plus rapide d'intégrer. Pointez le client vers notre URL de base et transmettez votre clé. Le code ci-dessous montre une requête synchrone de base. Cette approche gère automatiquement l'analyse JSON, vous permettant d'accéder directement au contenu de la réponse dans vos variables Python. Elle est idéale pour les services backend ou le traitement par lots où la latence du streaming est moins critique que la simplicité du code.
Intégration SDK Node.js
Pour les environnements JavaScript, configurez le client OpenAI Node.js pour cibler notre endpoint. La nature asynchrone de Node.js s'harmonise bien avec le temps de réponse de l'API. Définissez correctement l'URL de base, et le SDK gérera le formatage de la requête. N'oubliez pas que cette API ne prend pas en charge les endpoints d'images, d'audio ou d'embeddings, restez donc sur les complétions textuelles. Cette méthode convient aux serveurs web ou aux fonctions edge où vous devez injecter des réponses LLM sans censure dans du contenu dynamique.
Réponses en streaming
Activez le streaming en définissant stream: true dans votre requête. L'API renvoie des données via Server-Sent Events (SSE), vous permettant de recevoir des tokens en temps réel. Les métriques d'utilisation et de facturation des tokens sont incluses dans le dernier chunk du flux. Cela réduit la latence perçue pour les utilisateurs finaux, en particulier pour les sorties longues. Le streaming est recommandé pour les interfaces de chat où le rendu immédiat du texte améliore l'expérience utilisateur. Surveillez le dernier chunk pour les nombres totaux de tokens afin de suivre avec précision votre crédit prépayé.
Limites, erreurs et contexte
Chaque clé API est limitée à 300 requêtes par minute et 8 requêtes simultanées. Le corps de la requête ne doit pas dépasser 8 Mo. Les erreurs courantes incluent 401 pour les clés invalides, 402 lorsque le crédit prépayé est épuisé, et 429 pour les limites de débit. La fenêtre de contexte supporte 100 000 tokens au total, incluant à la fois le prompt et la complétion. Si vous dépassez ces limites, implémentez un backoff exponentiel. Le crédit n'expire jamais, et les erreurs comme les doubles facturations sont gérées via la page Support, garantissant que vous conservez votre valeur prépayée indéfiniment.
cURL
curl https://api.unrestrictedai.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.unrestrictedai.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.unrestrictedai.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)