> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexinference.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Codex

> Pointez Codex vers FlexInference avec une clé qui inclut la date limite.

[Codex](https://developers.openai.com/codex/cli) construit son propre corps de requête, vous n'avez donc pas d'endroit où placer `start_within`. La date limite est plutôt associée à la clé. Créez-en une d'abord (voir [clés d'agent](/fr/agent-keys)).

## Configurer cela avec un agent

Ouvrez le bloc ci-dessous et copiez-le dans n'importe quel agent de codage. L'invite ne vous demande jamais votre clé API : l'agent configure tout le reste, puis imprime la ligne d'exportation que vous devrez exécuter vous-même.

<Accordion title="Copier l'invite de configuration de l'agent">
  ```text theme={null}
  Configure the Codex CLI to send its requests to FlexInference. Do not change my existing Codex setup: create a separate profile I opt into per run.

  You will never see or handle my API key. The profile stores only the NAME of an environment variable, and I export the value myself. Do not ask me for the key, and do not read it from my environment.

  1. Create `~/.codex/flexinference.config.toml` with exactly this content:

  model = "gpt-5.6-sol"
  model_provider = "flexinference"

  [model_providers.flexinference]
  name = "FlexInference"
  base_url = "https://api.flexinference.com/v1"
  wire_api = "responses"
  env_key = "FLEX_API_KEY"

  2. Tell me to export the key myself, in the shell I will run Codex from:

     export FLEX_API_KEY=<paste your key here>

     Print that line for me to run. Do not run it, do not ask for the value, and do not add it to my shell profile.

  3. Tell me to start Codex with `codex --profile flexinference`.

  Rules that matter, do not deviate:
  - Keep the `model` line. Codex defaults to a slug ending in `-codex`, which FlexInference recognizes but holds no price for and never races. Use the full `gpt-5.6-sol`; the bare `gpt-5.6` alias makes Codex print a metadata warning.
  - Keep `wire_api = "responses"`. FlexInference serves that surface at `/v1/responses`.
  - Never add `service_tier`. FlexInference derives the tier from the key's deadline and returns `400 service_tier_not_allowed` if the request carries its own.
  - `env_key` and `auth` are mutually exclusive. Use `env_key` unless I ask for a keychain helper.
  - Do not set `request_max_retries`. My key may carry its own retry policy and the two stack.

  Verify by checking the file parses under `codex --profile flexinference --strict-config`, then report what you changed.
  ```
</Accordion>

## Configurer Codex

Codex conserve chaque profil dans son propre fichier. Ce profil laisse votre configuration Codex habituelle intacte, et vous l'activez par exécution avec `--profile`.

1. Écrivez le fichier de profil. Collez ceci une fois :

```bash theme={null}
mkdir -p ~/.codex && cat > ~/.codex/flexinference.config.toml <<'EOF'
model = "gpt-5.6-sol"
model_provider = "flexinference"

[model_providers.flexinference]
name = "FlexInference"
base_url = "https://api.flexinference.com/v1"
wire_api = "responses"
env_key = "FLEX_API_KEY"
EOF
```

2. Exportez la clé que Codex lit. Le fichier de profil ne la contient jamais.

```bash theme={null}
export FLEX_API_KEY=flex_live_...
```

3. Démarrez Codex avec le profil.

```bash theme={null}
codex --profile flexinference
```

C'est toute l'intégration. Codex appelle `/v1/responses`, envoie la clé comme jeton d'authentification (bearer token), et la clé fournit la date limite. L'en-tête de session nomme le fournisseur utilisé, vous pouvez donc voir que le profil a été pris en compte.

Pour nous joindre à chaque exécution de Codex, placez les mêmes lignes dans `~/.codex/config.toml`. Les champs `model` et `model_provider` de niveau supérieur y définissent votre valeur par défaut.

`env_key` et `auth` s'excluent mutuellement. `env_key` lit la clé depuis votre environnement, ce qui est le chemin le plus court. Conservez plutôt les secrets dans un trousseau de clés (keychain) et vous omettez `env_key`, puis nommez une commande d'assistance dans `auth`.

Conservez la ligne `model`. Codex utilise par défaut un slug se terminant par `-codex`, pour lequel nous n'avons pas de prix et que nous ne mettons jamais en concurrence. Utilisez le `gpt-5.6-sol` complet, car l'alias `gpt-5.6` seul fait afficher un avertissement de métadonnées par Codex.

## Confirmer que la clé a été appliquée

Chaque réponse est accompagnée de `x-flexinference-defaults-applied`. Codex n'affiche pas les en-têtes de réponse, alors lisez plutôt la requête dans le tableau de bord sous **Logs**.

## Dépannage

**Rien ne nous parvient du tout.** Vous avez exécuté un `codex` simple, qui utilise votre fournisseur et compte habituels. Démarrez-le avec `--profile flexinference`. Toute erreur que vous avez vue est la leur, y compris les limites d'utilisation, et l'en-tête de session nomme le fournisseur utilisé.

**[`400 model_not_priced_for_managed`](/fr/errors#model_not_priced_for_managed).** `model` n'est pas défini, donc la requête est arrivée sur un slug `-codex` pour lequel nous n'avons pas de prix. Définissez `model = "gpt-5.6-sol"` dans le profil. Avec votre propre clé de fournisseur, nous exécutons ce slug à la place, sans coût de notre part.

**[`400 service_tier_not_allowed`](/fr/errors#service_tier_not_allowed).** Le profil définit `service_tier`, et nous lisons le niveau de service à partir de la date limite à la place. Supprimez la ligne.

**[`400 key_default_not_applicable`](/fr/errors#key_default_not_applicable) nommant une route épinglée.** La requête épingle une route cloud telle que `foundry`, qui n'a pas de niveau bon marché à mettre en concurrence. Supprimez la route épinglée, ou modifiez la clé pour un niveau de service.

**Chaque requête épuise un budget de tentatives complet.** Codex a son propre `request_max_retries`, et une politique de `retry` de clé s'y ajoute. Définissez l'un ou l'autre, pas les deux.

**Le curseur reste en attente.** **Flex race** coûte moins cher et démarre plus tard, ce que vous ressentez dans une boucle interactive. Modifiez la date limite de la clé en **Priority** ou **Standard**. La prochaine requête la prendra en compte sans redémarrage.

Consultez [erreurs](/fr/errors) pour toutes les refus que nous renvoyons, et [clés d'agent](/fr/agent-keys) pour celles qui ne sont pas spécifiques à Codex.
