URL de base et authentification
Envoyez des requêtes à l’URL de base https://api.codexapipricing.com/v1 en utilisant votre clé API. Ce point de terminaison est compatible avec les SDK OpenAI standard, vous devez donc uniquement mettre à jour l'URL de base et fournir votre clé. Authentifiez-vous en passant l'en-tête Authorization: Bearer YOUR_API_KEY avec chaque requête. Vous pouvez générer une clé immédiatement en vous connectant avec Google ou un e-mail et mot de passe. La clé n'est affichée qu'une seule fois après sa création, donc conservez-la en toute sécurité. Vos invites ne sont pas utilisées pour l'apprentissage, garantissant la confidentialité de vos données.
Point de terminaison des complétions de chat
Utilisez le POST /v1/chat/completions point de terminaison pour générer du texte. C'est l'interface principale pour envoyer des invites et recevoir des réponses. L'ID du modèle est toujours uncensored, quelle que soit la version du modèle exécutée sur nos serveurs. Vous pouvez vérifier les modèles disponibles via GET /v1/models. Envoyez l'historique de votre conversation dans le messages
Paramètres pris en charge et mode JSON
Maîtrisez la génération avec des paramètres comme temperature, top_p, et stop. Utilisez response_format défini à {"type": "json_object"} pour forcer la sortie JSON. C'est utile pour l'extraction de données structurées ou l'appel de fonctions. Vous pouvez également définir max_tokens pour limiter la longueur de la sortie, avec une valeur par défaut de 2 048 si omis. La fenêtre de contexte prend en charge jusqu'à 100 000 jetons pour la somme du prompt et de la complétion. Transmettez seed pour des résultats déterministes ou presence_penalty et frequency_penalty pour ajuster la répétition. Ces paramètres permettent un ajustement fin du comportement du modèle sans configuration complexe. Le mode JSON assure un formatage strict pour une analyse fiable dans votre application.
Réponses en streaming via SSE
Activez le streaming en définissant stream: true dans votre requête. L'API renvoie des Server-Sent Events (SSE) au fur et à mesure de la génération des tokens. Cela réduit la latence perçue pour les réponses longues. Les détails d'utilisation des tokens apparaissent dans le dernier chunk du flux. Vous pouvez traiter les tokens de manière incrémentielle pour afficher le texte en temps réel. Cette fonctionnalité fonctionne avec tous les SDK compatibles OpenAI. Le streaming est idéal pour les interfaces de chat où les utilisateurs s'attendent à une réactivité immédiate. Le dernier chunk contient le nombre total de tokens pour une facturation précise. Utilisez cette méthode pour gérer les grandes sorties avec élégance sans attendre la réponse complète.
Limites de débit et corps de requête
Chaque clé API est limitée à 300 requêtes par minute et 8 requêtes simultanées. La taille maximale du corps de la requête est de 8 Mo. Si vous dépassez ces limites, vous recevez une erreur 429. Vous pouvez générer de nouvelles clés pour remplacer les existantes, mais une seule clé est active par compte. Les erreurs et les refus ne comptent pas contre votre limite de taux. La fenêtre de contexte de 100 000 tokens permet une longue histoire de conversation. Gardez vos corps de requête concis pour rester dans les limites de taille. Surveillez votre utilisation pour éviter les interruptions pendant les heures de pointe. Ces limites garantissent une utilisation équitable pour tous les clients prépayés.
Gestion des erreurs et dépannage
Gérez les erreurs en vérifiant le code de statut HTTP. Une erreur 401 indique une clé API invalide ou manquante. Une erreur 402 signifie que votre crédit prépayé est épuisé. Une erreur 429 signale que vous avez dépassé les limites de débit. Utilisez le error field in the response to get details. Mistakes like double charges are fixed via the Support page. Credit never expires, so you can top up later. Refusals for content policy violations are free. This predictable error structure helps you debug integration issues quickly without guessing the cause.
cURL
curl https://api.codexapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the hourly rates for the large model."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.codexapipricing.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.codexapipricing.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);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)