> ## 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

> Aponte o Codex para o FlexInference com uma chave que contém o prazo.

O [Codex](https://developers.openai.com/codex/cli) constrói seu próprio corpo de requisição, então não há onde colocar `start_within`. O prazo é definido na chave. Crie uma primeiro (consulte [chaves de agente](/pt/agent-keys)).

## Configure isso com um agente

Abra o bloco abaixo e copie-o para qualquer agente de codificação. O prompt nunca pede sua chave de API: o agente configura todo o resto e, em seguida, imprime a linha de exportação para você executar.

<Accordion title="Copiar prompt de configuração do agente">
  ```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>

## Configurar o Codex

O Codex mantém cada perfil em seu próprio arquivo. Este perfil não altera sua configuração usual do Codex, e você o ativa por execução com `--profile`.

1. Escreva o arquivo de perfil. Cole isso uma vez:

```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. Exporte a chave que o Codex lê. O arquivo de perfil nunca a armazena.

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

3. Inicie o Codex com o perfil.

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

Essa é a integração completa. O Codex chama `/v1/responses`, envia a chave como um token de portador, e a chave fornece o prazo. O cabeçalho da sessão nomeia o provedor em uso, para que você possa ver que o perfil foi aplicado.

Para nos alcançar em cada execução do Codex, coloque as mesmas linhas em `~/.codex/config.toml`. Os campos `model` e `model_provider` de nível superior definem seu padrão.

`env_key` e `auth` são mutuamente exclusivos. `env_key` lê a chave do seu ambiente, que é o caminho mais curto. Mantenha os segredos em um chaveiro e você omite `env_key`, então nomeia um comando auxiliar em `auth`.

Mantenha a linha `model`. Caso contrário, o Codex assume um slug que termina em `-codex`, para o qual não temos preço e nunca competimos. Use o `gpt-5.6-sol` completo, porque o alias `gpt-5.6` simples faz o Codex imprimir um aviso de metadados.

## Confirmar que a chave foi aplicada

Toda resposta vem com `x-flexinference-defaults-applied`. O Codex não mostra os cabeçalhos de resposta, então leia a requisição no painel em **Logs**.

## Solução de problemas

**Nada nos alcança.** Você executou um `codex` simples, que usa seu provedor e conta usuais. Inicie-o com `--profile flexinference`. Qualquer erro que você viu é deles, incluindo limites de uso, e o cabeçalho da sessão nomeia o provedor em uso.

**[`400 model_not_priced_for_managed`](/pt/errors#model_not_priced_for_managed).** `model` não está definido, então a requisição chegou em um slug `-codex` para o qual não temos preço. Defina `model = "gpt-5.6-sol"` no perfil. Em sua própria chave de provedor, executamos esse slug, sem custo nosso.

**[`400 service_tier_not_allowed`](/pt/errors#service_tier_not_allowed).** O perfil define `service_tier`, e nós lemos o nível do prazo. Remova a linha.

**[`400 key_default_not_applicable`](/pt/errors#key_default_not_applicable) nomeando uma rota fixada.** A requisição fixa uma rota de nuvem como `foundry`, que não tem um nível barato para competir. Remova a rota fixada ou edite a chave para um nível.

**Cada requisição gasta um orçamento completo de retentativas.** O Codex tem seu próprio `request_max_retries`, e uma política de `retry` da chave se acumula com ele. Defina um ou outro, não ambos.

**O cursor fica esperando.** A **Flex race** custa menos e começa mais tarde, o que você sente em um loop interativo. Edite o prazo da chave para **Priority** ou **Standard**. A próxima requisição a utilizará sem reiniciar.

Consulte [erros](/pt/errors) para cada recusa que retornamos, e [chaves de agente](/pt/agent-keys) para aquelas que não são específicas do Codex.
