Configurer une API compatible avec OpenAI dans Codex
Configurez un fournisseur de modèles personnalisé dans Codex, définissez la bonne Base URL et l’API Responses, puis testez la connexion sans modifier de fichiers.

Pour connecter une API compatible avec OpenAI à Codex, ajoutez un fournisseur de modèles personnalisé à la configuration utilisateur, puis indiquez la Base URL du fournisseur, la variable d’environnement contenant la clé d’API et le protocole responses. La seule compatibilité avec /v1/chat/completions ne suffit pas : la version actuelle de Codex utilise l’API Responses. Les quatre étapes ci-dessous, fondées sur --profile, s’appliquent uniquement à Codex CLI.
Pour BetterToken, les valeurs à utiliser sont base_url = "https://www.bettertoken.ai/v1?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-016&utm_content=openai-sovmestimyy-api-codex-podklyuchenie", env_key = "BETTERTOKEN_API_KEY" et wire_api = "responses". Ouvrez le guide Codex BetterToken à jour, créez votre propre clé d’API et copiez le Model ID complet actuellement affiché dans Setup, model plaza ou le guide en vigueur. Les noms de groupes et les mappings peuvent évoluer : ne les reprenez pas depuis d’anciens exemples. Il s’agit d’un workflow API facturé à l’usage, distinct des fonctionnalités d’un abonnement ChatGPT ou Codex.
Prérequis
- Node.js et npm, nécessaires pour installer le Codex CLI officiel.
- Votre propre compte BetterToken, votre propre clé d’API et le Model ID complet actuel provenant de Setup ou de model plaza.
- Un solde ou un quota de test disponible pour une requête courte.
- Un terminal macOS/Linux ou Windows PowerShell. Les commandes pour les deux systèmes sont fournies ci-dessous.
- Pour un autre fournisseur, la confirmation qu’il prend en charge l’API Responses, le streaming SSE et les tool calls dont vous avez besoin.
Vérifier la compatibilité avant la configuration
Si le fournisseur ne présente qu’un exemple Chat Completions sans mentionner Responses, demandez une confirmation ou commencez par un test minimal. Ne transposez pas sans vérification dans Codex la configuration d’un client de chat générique.
Étape 1. Installer ou mettre à jour Codex CLI
Vérifiez les champs en vigueur dans la référence de configuration officielle de Codex. Au 14 août 2026, model_provider sélectionne une entrée de model_providers, env_key nomme la variable d’environnement contenant la clé et responses est la seule valeur acceptée pour wire_api.
Étape 2. Créer un fichier de profil indépendant
La référence de configuration OpenAI actuelle place le profil nommé dans $CODEX_HOME/bt.config.toml. Par défaut, CODEX_HOME correspond généralement à ~/.codex sous macOS/Linux et à %USERPROFILE%\.codex sous Windows, mais une valeur personnalisée détermine le chemin réel et prévaut sur ces valeurs par défaut.
Sous macOS/Linux, vérifiez le répertoire sans modifier la variable :
Sous PowerShell :
Créez bt.config.toml précisément dans le répertoire affiché :
Le chemin de fichier $CODEX_HOME/bt.config.toml correspond à la commande --profile bt. Ce profil ne remplace pas le fichier principal $CODEX_HOME/config.toml ; le fournisseur officiel reste donc disponible.
Remplacez YOUR_MODEL_ID par l’identifiant API complet et actuel affiché dans Setup, model plaza ou le guide en vigueur, et disponible avec votre clé. N’utilisez pas le titre visible du modèle s’il diffère de l’identifiant API.
Codex ajoute lui-même /responses. La Base URL doit donc se terminer par /v1, et non par /v1/responses, sinon le chemin serait ajouté deux fois.
Étape 3. Fournir la clé d’API par l’environnement
Sous macOS/Linux :
Pour une configuration persistante, utilisez un gestionnaire de secrets protégé ou un fichier d’initialisation du shell doté de droits appropriés. N’ajoutez jamais la clé à un dépôt, à .env.example, à un README ni à une commande qui restera dans l’historique du shell d’un ordinateur partagé.
Vérifiez que la variable existe sans afficher sa valeur :
Sous Windows PowerShell, définissez la valeur pour la fenêtre actuelle et enregistrez-la pour les prochaines sessions :
Étape 4. Lancer le profil dans Codex CLI et vérifier la requête
Redémarrez Codex CLI, puis exécutez :
Le premier test doit être court et ne modifier aucun fichier :
La connexion est confirmée si la réponse arrive sans erreur, si le modèle correspond au Model ID sélectionné et si une nouvelle requête postérieure au test apparaît dans BetterToken Workspace avec le modèle, le statut et l’utilisation attendus. Une réponse correcte ne suffit pas, à elle seule, à prouver quel routage a traité la requête : contrôlez également l’enregistrement d’utilisation. Autorisez ensuite la lecture d’un seul fichier de test et n’ouvrez un dépôt de travail qu’après la réussite de ce contrôle en lecture seule.
Codex Desktop utilise les mêmes champs de fournisseur personnalisé, mais vérifiez la méthode actuelle de sélection de la configuration et de lancement dans le guide BetterToken en vigueur ; n’y supposez pas que la commande CLI --profile s’applique telle quelle. Pour VS Code Extension, utilisez le guide séparé et ne transposez ni le profil CLI ni son mode d’authentification sans vérification.
Résoudre les erreurs courantes
Profil introuvable ou configuration non appliquée
Vérifiez trois correspondances exactes : le fichier s’appelle bt.config.toml, la commande contient --profile bt et model_provider = "bettertoken" correspond à la table [model_providers.bettertoken]. Fermez ensuite complètement Codex CLI, ouvrez un nouveau terminal et répétez le test court.
D’anciennes variables OpenAI peuvent remplacer le routage attendu. Sous macOS/Linux, vérifiez uniquement leur présence, sans afficher leurs valeurs :
Sous PowerShell, supprimez-les de la session actuelle et des prochaines sessions utilisateur :
Après le nettoyage, ouvrez un nouveau terminal, redéfinissez uniquement BETTERTOKEN_API_KEY et lancez codex --profile bt.
404 ou réponse HTML au lieu de JSON
Le chemin de l’endpoint est généralement mal construit. Vérifiez que base_url ne contient pas /responses, /chat/completions ni un chemin de proxy supplémentaire. Pour BetterToken, sa valeur exacte doit être `https://www.bettertoken.ai/v1%60.?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-016&utm_content=openai-sovmestimyy-api-codex-podklyuchenie
401 ou 403
Vérifiez l’orthographe de env_key, assurez-vous que la variable est disponible dans le même processus et confirmez que le modèle sélectionné est accessible avec votre clé. Si la clé a pu apparaître dans des logs, révoquez-la et créez-en une nouvelle avant de continuer.
model not found
Recopiez le Model ID complet et actuel depuis Setup, model plaza ou le guide en vigueur, puis vérifiez qu’il est disponible avec votre clé. N’inventez pas de suffixe de version et ne considérez pas le nom d’un ancien groupe comme permanent.
Erreur Chat Completions ou champ non pris en charge
Vérifiez que wire_api = "responses" et que le fournisseur implémente l’API Responses, y compris les fonctions nécessaires à Codex. Remplacer cette valeur par chat ne résoudra pas le problème : la référence Codex actuelle n’accepte que responses.
Le streaming démarre puis s’interrompt
Commencez par répéter une requête courte. Contrôlez ensuite le proxy, les timeouts et la prise en charge de SSE. Augmenter les retries sans limite peut créer des requêtes en double et une utilisation supplémentaire.
Revenir en arrière sans perdre la configuration officielle
Puisque le fournisseur est isolé dans $CODEX_HOME/bt.config.toml, terminez la session Codex CLI en cours et relancez-le sans --profile bt : le fichier principal $CODEX_HOME/config.toml sera de nouveau appliqué. Ne supprimez pas auth.json et ne remplacez pas le jeton officiel par une clé d’API tierce. Pour Codex Desktop, vérifiez la procédure actuelle dans le guide BetterToken ; pour VS Code Extension, suivez la procédure du guide séparé.
Vérification finale
Une connexion Codex fonctionnelle exige davantage qu’une URL « compatible avec OpenAI ». Quatre éléments doivent correspondre : l’API Responses, la Base URL exacte, un Model ID disponible et la variable d’environnement contenant la clé d’API. Conservez le fournisseur dans un profil indépendant, lancez un test en lecture seule et vérifiez la nouvelle requête dans Workspace avant d’ouvrir un dépôt de travail.
Pour éviter de reprendre des champs ou mappings obsolètes, suivez la configuration Codex BetterToken actuelle, créez votre propre clé d’API et lancez la première requête en lecture seule avec le profil bt dans Codex CLI.