Подключите Codex к Model.sale.
Используйте один prepaid-ключ Model.sale в Codex CLI, Codex App или VS Code. Подключение работает через Responses protocol, секрет остаётся локальным, а списания идут из того же кошелька, что и остальные API-запросы.
https://api.model.sale/v1 и модель из ответа /v1/models.Перед началом
- Войдите на model.sale и создайте API key в разделе API Keys. Полный секрет показывается один раз.
- Пополните Billing или используйте одноразовый Telegram-тестовый кредит, если аккаунт подходит под условия.
- Откройте
GET https://api.model.sale/v1/modelsи выберите модель со статусом live. Не угадывайте ID и не подменяйте модель автоматически. - Установите Codex и выберите ниже environment-метод или конфигурацию TOML.
Вариант A — локальная переменная окружения
Это самый простой вариант для Codex CLI и локальной разработки. Клиент читает значение во время запуска, а не из текста команды.
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"Последнюю строку можно добавить в ~/.zshrc или ~/.bashrc. После изменения environment перезапустите Codex.
Вариант B — custom provider Codex
В ~/.codex/config.toml задайте provider, но не храните в нём сам секрет: используйте ссылку через 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"Перед изменением сохраните копию текущего config. Выберите provider model_sale и live-модель из каталога. Название пункта в интерфейсе может отличаться в разных версиях Codex.
Codex App и VS Code
- Откройте настройки provider или custom endpoint в приложении/расширении.
- Укажите base URL:
https://api.model.sale/v1. - Выберите wire protocol Responses, если клиент задаёт этот вопрос.
- Укажите имя переменной ключа
MODEL_SALE_API_KEY; не вставляйте secret в project-файл. - Перезапустите приложение или перезагрузите окно VS Code и выберите live-модель.
Основной путь — /v1/responses. Клиент должен сохранить запрошенный model ID и показать ошибку, если выбранная модель недоступна.
Проверка минимальным запросом
Запустите команду из того же shell, из которого будет запускаться Codex. Короткий prompt помогает не тратить лишний баланс.
curl https://api.model.sale/v1/responses \
-H "Authorization: Bearer $MODEL_SALE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.6-luna","input":"Reply exactly: OK"}'| Проверка | Ожидаемый результат |
|---|---|
| Status | 200 и Responses JSON. |
| Request ID | Есть x-model-sale-request-id; сохраните его для поддержки. |
| Usage | Input/output usage виден в ответе или Usage, reservation закрыт. |
| Баланс | Кошелёк уменьшился на charge, остаток reservation освобождён. |
Streaming
Для streaming задайте stream: true. События передаются сразу, а terminal usage нужен для точного settlement.
Reasoning
Запрашивайте только уровни reasoning, которые указаны в capability выбранной модели.
Лимиты
Действуют RPM, TPM, concurrency и spend caps ключа. Модель не подменяется автоматически из-за лимита.
Если что-то не работает
| Симптом | Что проверить |
|---|---|
401 unauthorized | Переменная загружена в процесс Codex, ключ начинается с ms_live_ и не отозван. Не выводите secret в лог. |
402 / insufficient balance | Пополните wallet и проверьте available/reserved balance. Начальный резерв возвращается после terminal usage. |
404 model not found | Обновите /v1/models и скопируйте точный live ID без provider-алиасов. |
429 limit | Дождитесь окна лимита, уменьшите параллелизм или измените ограничения ключа в dashboard. |
| Модель не появилась | Перезапустите Codex, проверьте wire_api = "responses", base URL без двойного /v1 и curl-тест. |
| Streaming оборвался | Сохраните request ID и проверьте Usage. Не повторяйте запрос много раз: повторная inference-работа может списаться отдельно. |
Откат и безопасность ключа
Для отката восстановите резервную копию ~/.codex/config.toml, удалите ~/.config/model-sale/env и строку source из shell profile. Если компьютер общий или secret мог быть скопирован, отзовите ключ в API Keys.
Model.sale хранит только метаданные, необходимые для биллинга и операций, а не prompt и response body. Отключайте подробное логирование в собственном клиенте, если оно может записать Authorization или содержимое модели.
FAQ
Это OpenAI API key?
Нет. Используйте ключ Model.sale и base URL Model.sale. Формат Responses совместим с клиентами Codex, но credential относится к вашему аккаунту Model.sale.
Можно указать любое имя модели?
Нет, используйте только ID из /v1/models. Каталог меняется при проверках доступности, а unavailable-модели не принимают customer traffic.
Где посмотреть расходы?
Откройте Usage после запроса. Там видны endpoint, модель, статус, токены, charge и request ID без сохранения текста prompt.