API compatible OpenAI : changez de client en trois lignes
Changez de client en trois lignes : modifiez l'URL de base et la clé API, puis conservez votre code existant. Cette API compatible OpenAI prêt à l'emploi offre une expérience d'API LLM sans censure avec une tarification transparente par token.
- URL de base
- https://api.openaicompatibleapi.com/v1
- Modèle
- sans censure
Prérequis : Installer le SDK OpenAI
Avant d'effectuer des requêtes, assurez-vous que votre environnement de développement dispose du SDK OpenAI officiel installé pour votre langage préféré. C'est la méthode standard pour interagir avec une API compatible OpenAI, garantissant une typage cohérent et une gestion des erreurs. Pour Python, utilisez pip install openai. Pour Node.js, exécutez npm install openai. Ces bibliothèques gèrent les détails HTTP sous-jacents, vous permettant de vous concentrer sur le passage de prompts et la réception de sorties textuelles.
Configurer l'URL de base et la clé API
L'avantage principal de notre service est que vous n'avez besoin de mettre à jour que deux valeurs de configuration. Pointez votre client vers notre URL de base : https://api.openaicompatibleapi.com/v1. Ensuite, générez votre clé API sur la page d'inscription ; elle est affichée immédiatement après l'inscription sans besoin de carte bancaire. Définissez base_url et api_key dans l'initialisation de votre client. Cela fait de nous une alternative API GPT directe pour vos projets existants sans réécrire la logique.
Effectuer votre première requête
Envoyez une requête standard de complétion de chat en utilisant l'ID de modèle uncensored. Ce modèle est un modèle de langage à poids ouverts ajusté pour répondre sans refus de contenu pour un usage adulte légal. Ce n'est pas GPT, Claude ou tout autre modèle d'un autre fournisseur. Vous pouvez tester la connectivité immédiatement avec une simple invite textuelle. La réponse renverra le texte généré dans le champ content.
curl https://api.openaicompatibleapi.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."}]
}'
Activer les réponses en streaming
Pour une meilleure expérience utilisateur, activez le streaming pour recevoir les tokens au fur et à mesure de leur génération. Définissez stream=True dans votre requête. Le SDK fournira des chunks à mesure de leur arrivée, vous permettant d'afficher les résultats partiels instantanément. Cela est particulièrement utile pour les fenêtres de contexte longues jusqu'à 100 000 tokens. Le streaming fonctionne de manière identique aux clients OpenAI standard, maintenant la compatibilité avec votre logique de gestion des erreurs existante.
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)
Utiliser l'appel de fonctions (Function Calling)
Notre API prend en charge l'appel de fonctions structuré. Définissez vos fonctions dans le paramètre tools, et le modèle renverra des appels d'outils dans la réponse. Vous pouvez ensuite exécuter ces outils et renvoyer les résultats au modèle pour un raisonnement supplémentaire. Cette fonctionnalité fonctionne avec n'importe quel client compatible OpenAI qui prend en charge le format standard d'appel de fonctions. Elle est idéale pour créer des agents ou automatiser des workflows sans gérer un proxy LLM complexe.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapi.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)
Vérifier les modèles disponibles
Interrogez l'endpoint GET /v1/models pour vérifier les modèles disponibles. Vous verrez le modèle uncensored répertorié. Cela confirme que votre clé API et votre URL de base sont configurées correctement. Vous pouvez également utiliser cet endpoint pour déboguer les problèmes d'authentification. Si l'endpoint renvoie une liste, votre connexion à l'API IA pour développeurs est active. Aucun autre modèle n'est proposé, ce qui garde la configuration simple.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapi.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);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é |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| ID du modèle | uncensored |
| Authentification | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.openaicompatibleapi.com/v1 |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| 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 |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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) |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite de débit | 300 requêtes par minute et par clé |
| Taille | jusqu'à 8 Mo par requête |
| 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 $ |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| 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 |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
| Connexion | Google ou e-mail et mot de passe |
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
Quelles sont les limites de débit ?
Vous êtes limité à 300 requêtes par minute par clé API. La taille du corps de la requête est plafonnée à 8 Mo. Si vous dépassez cette limite, vous recevrez une erreur 429. Vous pouvez régénérer votre clé à tout moment pour réinitialiser l'association, bien que la limite de débit s'applique à la clé elle-même.
Pourquoi obtiens-je une erreur 401 ou 402 ?
Une erreur 401 indique une clé API invalide ou expirée. Une erreur 402 signifie que votre crédit prépayé est épuisé. Nous n'offrons pas de niveau gratuit illimité ; vous devez recharger pour continuer à utiliser l'API LLM sans censure. Le crédit n'expire jamais, vous pouvez donc recharger à partir de 10 $ en crypto (USDT ou USDC).
La fenêtre de contexte fait-elle vraiment 100k ?
Oui, le modèle prend en charge une fenêtre de contexte stricte de 100 000 tokens pour le prompt et la complétion combinés. Cela permet un traitement de documents étendu ou des conversations longues. Assurez-vous que vos entrées tiennent dans cette limite pour éviter la troncature ou les erreurs.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, changez l'URL de base. C'est toute la configuration.