URL de base et authentification
Notre API suit l’interface standard des chat-completions OpenAI. Pour l’intégration, mettez à jour la configuration de votre client avec notre URL de base spécifique et une clé codex api valide. Vous générez cette clé lors de l’inscription sur le tableau de bord. L’endpoint accepte les requêtes standard et en streaming, ce qui en fait une solution prêt à l’emploi pour la plupart des agents de codage qui attendent une structure compatible OpenAI.
L’authentification repose sur l’en-tête Authorization. Incluez votre clé en tant que jeton Bearer. Si vous utilisez un proxy ou un framework d’agent personnalisé, assurez-vous qu’il respecte les en-têtes HTTP standard. Le service est indépendant ; il ne transite pas par d’autres fournisseurs et n’agrège pas de modèles. Vous vous connectez directement à notre LLM sans censure.
Envoyer une complétion de chat
Commencez par tester une simple requête de texte. Cela confirme que votre authentification et votre URL de base sont corrects. L'endpoint accepte une liste de messages avec des rôles comme user ou assistant. L'ID du modèle est toujours uncensored. Cette requête renvoie une réponse de complétion standard. Utilisez-la pour vérifier que votre agent peut analyser la structure JSON avant de passer à des prompts complexes.
Assurez-vous que votre payload reste dans la limite de corps de 8 Mo. Les grandes fenêtres de contexte sont prises en charge, mais le nombre total de tokens (entrée plus sortie) doit rester inférieur à 100 000 tokens. Si vous dépassez ces limites, le serveur renvoie une erreur. Commencez par un petit test pour confirmer la connectivité.
curl https://api.getcodexapi.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 le streaming (SSE)
Pour les agents de codage qui nécessitent une génération de tokens en temps réel, activez le streaming. Définissez le paramètre stream sur true dans le corps de votre requête. Le serveur renvoie une séquence d'événements envoyés par le serveur (SSE) au lieu d'un seul objet JSON. Chaque événement contient un fragment partiel de la réponse. Cela réduit la latence perçue pour vos utilisateurs et permet à votre agent de traiter les tokens à mesure qu'ils arrivent.
Le streaming ne modifie pas la tarification ni le comptage des tokens. Vous payez toujours pour le total des tokens d'entrée et de sortie. Gérez le flux SSE dans le code de votre client pour accumuler la réponse finale ou la traiter de manière incrémentale. C'est idéal pour la génération de code où les résultats intermédiaires sont utiles.
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
Notre modèle prend en charge l'appel de fonctions, permettant à votre agent d'exécuter des outils externes. Définissez vos fonctions dans le paramètre tools. Le modèle renverra une réponse avec un appel de fonction au lieu de texte brut s'il détermine qu'une fonction est nécessaire. Votre agent doit analyser cette réponse et exécuter l'outil, puis renvoyer le résultat dans la conversation.
Cette capacité est essentielle pour les agents de codage qui doivent exécuter du code, interroger des bases de données ou récupérer des données en direct. Le schéma d'outil suit le format standard OpenAI. Assurez-vous que votre agent gère correctement le cycle aller-retour entre le modèle et la logique d'exécution de vos outils. Cela maintient la fenêtre de contexte efficacement en remplaçant le texte brut par des résultats d'outils structurés.
from openai import OpenAI
client = OpenAI(base_url="https://api.getcodexapi.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
Utilisez l'endpoint GET /v1/models pour vérifier les modèles disponibles. Cet endpoint renvoie une liste d'objets de modèle, y compris leurs ID et dates de création. Notre API sert un seul modèle : uncensored. Contrairement aux relais proxy qui agrègent plusieurs fournisseurs, nous fournissons un endpoint dédié pour un LLM optimisé. Cela garantit un comportement cohérent et des performances prévisibles pour vos tâches de codage.
Interrogez cet endpoint pour confirmer que votre client est connecté au bon service. Il renvoie des champs de métadonnées standard. Vous n'avez pas besoin de gérer la sélection des modèles manuellement. Le client demande simplement l'ID du modèle uncensored dans toutes les complétions de chat. Cela simplifie l'intégration et évite les erreurs de routage.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.getcodexapi.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);
Limites de débit et contraintes
Surveillez votre utilisation pour éviter les interruptions. L'API applique une limite de 300 requêtes par minute par clé. Si vous dépassez cette limite, vous recevez une erreur 429 Too Many Requests. La taille du corps de la requête est plafonnée à 8 Mo. Ces contraintes garantissent des performances stables pour les agents à haut débit. Ajustez la fréquence des requêtes de votre client si vous traitez de gros lots.
Les erreurs d’authentification renvoient un statut 401 si la clé est invalide. Un solde insuffisant entraîne un statut 402. Assurez-vous que votre solde prépayé est positif avant d’envoyer des requêtes. Les crédits n’expirent jamais, vous pouvez donc les recharger quand vous le souhaitez. La clé codex api peut être régénérée à tout moment, révoquant instantanément l’ancienne. Gardez votre clé en sécurité.