API Hop

Documentation

Documentation API Hop

Intégration Codex

Utilisez l’endpoint RequestBeam compatible OpenAI Responses dans Codex CLI, l’extension VS Code ou l’application de bureau.

Codex appelle les modèles via le protocole OpenAI Responses. Configurez le fournisseur de modèles avec l’URL de base compatible OpenAI indiquée sur cette page.

text
Codex base_url: https://api.apihop.ai/openai

Prérequis

Préparez d’abord une clé API RequestBeam valide. Elle sera écrite dans votre répertoire local de configuration Codex. Ne l’incluez pas dans des dépôts, journaux ou captures d’écran.

Codex conserve généralement ses fichiers de configuration dans :

  • macOS / Linux: ~/.codex/
  • Windows: %userprofile%\.codex\

Si le répertoire ou le fichier de configuration n’existe pas, créez-le d’abord :

bash
mkdir -p ~/.codex
touch ~/.codex/config.toml

Pour Windows CMD :

bat
mkdir %userprofile%\.codex
type nul > %userprofile%\.codex\config.toml

Sauvegarder la configuration

Si vous avez déjà utilisé Codex, sauvegardez d’abord la configuration actuelle :

bash
cp ~/.codex/config.toml ~/.codex/config.toml.bak
cp ~/.codex/auth.json ~/.codex/auth.json.bak

Mettre à jour config.toml

Ouvrez ~/.codex/config.toml, puis ajoutez ou mettez à jour cette configuration :

toml
model_provider = "requestbeam"
model = "gpt-5.4"
review_model = "gpt-5.4"
model_reasoning_effort = "high"
disable_response_storage = true
network_access = "enabled"

[model_providers.requestbeam]
name = "RequestBeam"
base_url = "https://api.apihop.ai/openai"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = true
websocket_connect_timeout_ms = 15000

[features]
responses_websockets = true

La règle de base_url est : l’URL de base publique de l’API indiquée sur cette page + /openai.

Si votre config.toml contient déjà [marketplaces.*], [plugins.*] ou d’autres paramètres d’outils, conservez-les et ajoutez ou mettez à jour uniquement les paramètres de fournisseur de modèles Codex ci-dessus.

Mode WebSocket

Lorsque supports_websockets = true et responses_websockets = true sont activés, Codex utilise l’endpoint Responses WebSocket ci-dessous :

text
https://api.apihop.ai/openai/responses

Si l’URL de base utilise https://, Codex utilise la connexion wss:// correspondante.

Ce mode WebSocket est un pont Responses sur WebSocket propre à Codex :

  • Prend en charge response.create
  • Prend en charge response.cancel
  • Renvoie response.completed
  • Conserve aussi l’événement de compatibilité response.processed

response.cancelled accuse réception de la demande locale d’annulation. Il ne confirme pas un remboursement du fournisseur. Une requête dont le résultat du fournisseur est inconnu reste réservée jusqu’à la vérification de son utilisation ou de son échec.

Ce n’est pas l’API OpenAI Realtime. Ce mode ne prend pas en charge session.update, conversation.item.*, input_audio_buffer.*, le streaming audio, les messages binaires ni les enveloppes Realtime.

Si un proxy réseau, une passerelle d’entreprise ou une ancienne version de Codex ne peut pas établir de connexion WebSocket, passez temporairement à :

toml
[model_providers.requestbeam]
supports_websockets = false

[features]
responses_websockets = false

Codex revient alors à HTTP POST https://api.apihop.ai/openai/responses. Compact est une capacité distincte : les cinq modèles GPT actuellement listés n’ont pas de canal Compact vérifié. Changer de mode HTTP/WebSocket n’active pas la compaction. Commencez une nouvelle conversation avant de dépasser la limite de contexte du modèle ; ne comptez pas sur une compaction automatique des contextes longs avec ces routes.

Enregistrer la clé API

Remplacez YOUR_REQUESTBEAM_API_KEY par votre clé API RequestBeam :

bash
echo '{"OPENAI_API_KEY":"YOUR_REQUESTBEAM_API_KEY"}' > ~/.codex/auth.json

Pour Windows CMD :

bat
echo {"OPENAI_API_KEY":"YOUR_REQUESTBEAM_API_KEY"} > %userprofile%\.codex\auth.json

Redémarrer et tester

Enregistrez la configuration, quittez entièrement Codex, puis rouvrez-le.

Vous pouvez tester la CLI avec :

bash
codex "Reply in one sentence whether the current model is available."

Pour l’extension VS Code ou l’application de bureau, quittez entièrement l’application, rouvrez-la et commencez une discussion normale.

Dépannage

  • base_url doit être l’URL de base publique de l’API indiquée sur cette page suivie de /openai.
  • wire_api doit être responses ; ne le remplacez pas par chat.
  • Une erreur Compact indisponible signifie qu’aucun canal Compact n’est vérifié ; modifier un seuil local de tokens ne peut pas l’activer.
  • RequestBeam prend en charge HTTP Responses et Codex Responses WebSocket. Conservez supports_websockets = true et responses_websockets = true par défaut. Si votre version de Codex ou proxy ne peut pas utiliser WebSocket, définissez temporairement supports_websockets = false pour revenir à HTTP.
  • auth.json doit être un JSON valide et la clé doit s’appeler OPENAI_API_KEY.
  • Si vous recevez 401 ou invalid key, confirmez que la clé API est valide et n’a pas été remplacée par une ancienne clé locale.
  • Si le modèle est indisponible, consultez GET https://api.apihop.ai/v1/models et définissez model et review_model sur un modèle GPT visible. L’exemple par défaut utilise gpt-5.4 ; gpt-5.3-codex et gpt-5.6-luna ne sont actuellement pas activés.
  • Quittez entièrement puis rouvrez Codex après modification de la configuration. Fermer uniquement la fenêtre peut ne pas recharger auth.json.
  • POST https://api.apihop.ai/openai/responses : endpoint RequestBeam compatible Responses recommandé.
  • POST https://api.apihop.ai/openai/responses/compact : nécessite un canal Compact explicitement activé ; sinon renvoie 503 avant réservation. Un canal compatible renvoie response.compaction.
  • WS /openai/responses : endpoint compatible Responses WebSocket. Il accepte response.create et response.cancel, renvoie response.completed et conserve l’événement de compatibilité response.processed.
  • WS /openai/responses/compact : utilise le même contrôle de capacité Compact et le même endpoint. Une connexion WebSocket établie ne prouve pas à elle seule la prise en charge du modèle.