Conecte o Codex à Model.sale.
Use uma única key pré-paga da Model.sale no Codex CLI, no Codex App ou no VS Code. A conexão usa o protocolo Responses, mantém o segredo local e cobra da mesma carteira do restante do seu uso da API.
https://api.model.sale/v1 como base URL e selecione um modelo retornado por /v1/models.Antes de começar
- Faça login em model.sale e crie uma API key em API Keys. O segredo completo é exibido apenas uma vez.
- Deposite fundos em Faturamento, ou use o crédito de teste único do Telegram se sua conta for elegível.
- Abra
GET https://api.model.sale/v1/modelse escolha um modelo cujo status seja live. Não adivinhe um model ID nem substitua silenciosamente por outro modelo. - Tenha o cliente Codex instalado e então escolha o método por variável de ambiente ou a configuração TOML abaixo.
Opção A — variável de ambiente local
Esta é a configuração mais simples para o Codex CLI e funciona bem no desenvolvimento local. O valor é lido pelo cliente em tempo de execução, em vez de ficar embutido no comando.
mkdir -p "$HOME/.config/model-sale"
umask 077
read -rsp "Model.sale API key: " MODEL_SALE_API_KEY; echo
printf 'export MODEL_SALE_API_KEY=%q\n' "$MODEL_SALE_API_KEY" > "$HOME/.config/model-sale/env"
chmod 600 "$HOME/.config/model-sale/env"
unset MODEL_SALE_API_KEY
source "$HOME/.config/model-sale/env"Adicione a linha source final ao ~/.zshrc ou ~/.bashrc se quiser que ela seja carregada em novos shells. Reinicie o Codex após alterar o ambiente.
Opção B — provider personalizado no Codex
O Codex aceita um provider personalizado em ~/.codex/config.toml. Mantenha a key fora desse arquivo e referencie-a via env_key.
[model_providers.model_sale]
name = "Model.sale"
base_url = "https://api.model.sale/v1"
env_key = "MODEL_SALE_API_KEY"
wire_api = "responses"Se você já tem um config, faça backup antes de editar. Selecione model_sale como provider no cliente e escolha um modelo live do catálogo. O rótulo exato na interface pode variar entre versões do Codex.
Codex App e VS Code
- Abra as configurações de provider ou de endpoint personalizado no app ou na extensão.
- Defina a base URL como
https://api.model.sale/v1. - Escolha Responses como protocolo de rede quando o cliente pedir.
- Defina a variável de ambiente da API key como
MODEL_SALE_API_KEY; não cole o segredo em um arquivo do projeto. - Reinicie o app ou recarregue a janela do VS Code e então selecione um modelo live.
O Model.sale expõe o caminho padrão Responses em /v1/responses. O cliente deve preservar o model ID solicitado e mostrar um erro se esse modelo estiver indisponível.
Verifique com uma requisição mínima
Execute isso no mesmo shell em que o Codex vai rodar. O exemplo usa um prompt pequeno para não gastar mais do que o necessário.
Este exemplo usa o modelo Responses publicado no momento codex-auto-review. Confirme se ele continua em GET /v1/models antes de enviar uma requisição.
curl https://api.model.sale/v1/responses \
-H "Authorization: Bearer $MODEL_SALE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"codex-auto-review","input":"Hello"}'| Verificação | Resultado esperado |
|---|---|
| Status | 200 com um objeto JSON de Responses. |
| Request ID | x-model-sale-request-id está presente. Guarde-o ao contatar o suporte. |
| Uso | O uso de input/output aparece na resposta ou na página Uso e a reserva é liquidada. |
| Saldo | A carteira é debitada no valor da cobrança exibida; a reserva não utilizada é liberada. |
stream: true. Os eventos são liberados conforme chegam, e o evento final de uso é necessário para o cálculo exato.Solução de problemas
| Sintoma | O que verificar |
|---|---|
401 não autorizado | Confirme que a variável está carregada no processo do cliente, que a key começa com ms_live_ e que não foi revogada. Nunca imprima a key completa nos logs. |
402 ou saldo insuficiente | Adicione saldo à carteira e compare o saldo disponível com o temporariamente reservado. A reserva inicial é liberada após o evento final de uso. |
404 modelo não encontrado | Atualize /v1/models e copie o ID exato do modelo ativo. Não acrescente aliases específicos de provedor. |
429 limite de taxa ou de gasto | Aguarde a janela do limite, reduza requisições em paralelo ou atualize os limites da key no dashboard. |
| Nenhum modelo no cliente | Reinicie o Codex, verifique wire_api = "responses", confira se a base URL não tem /v1 duplicado e teste primeiro a requisição curl. |
| O stream para antes do fim | Tente novamente uma vez, anote o request ID e confira o Usage. Uma desconexão não é motivo para reenviar repetidamente; trabalho duplicado pode ser cobrado à parte. |
Rollback e higiene da key
Para fazer rollback, restaure o ~/.codex/config.toml que você salvou, remova ~/.config/model-sale/env e apague a linha de source do perfil do seu shell. Revogue a key em API Keys se a máquina foi compartilhada ou se o segredo pode ter sido copiado.
O Model.sale armazena os metadados da requisição necessários para cobrança e operação, não o seu prompt nem o corpo da resposta. Tenha o mesmo cuidado com os logs do seu próprio cliente: desative o log detalhado de requisições quando ele puder incluir headers de autorização ou conteúdo do modelo.
FAQ
Esta é uma API key da OpenAI?
Não. Use uma key do Model.sale e a base URL do Model.sale. O formato wire Responses é compatível com clientes Codex, mas a credencial pertence à sua conta Model.sale.
Posso usar qualquer nome de modelo?
Use apenas os IDs retornados por /v1/models. O catálogo muda conforme a validação e a disponibilidade mudam; modelos indisponíveis não são aceitos para o tráfego de clientes.
Onde posso ver quanto gastei?
Abra o Usage após a requisição. Ele mostra o endpoint, o modelo, o status, o uso de tokens, a cobrança e o request ID, sem armazenar o conteúdo do prompt.