Короткий ответ
Responses подходит для Codex-клиентов и GPT-моделей, где этот протокол подтверждён. GLM и DeepSeek обычно используют Chat Completions с SSE. Один ключ Model.sale работает с обоими вариантами, но model ID и capabilities должны совпадать с каталогом.
ChatGPT-compatible API для приложения
В OpenAI SDK обычно достаточно заменить base URL на https://api.model.sale/v1 и передать ключ через переменную окружения. Начните с короткого запроса и проверьте request ID, статус и terminal usage в Usage.
Codex использует Responses
Codex CLI, Codex App и расширение VS Code подключаются как custom provider с env_key и wire_api = "responses". Ограничьте ключ дневным лимитом и не вставляйте секрет в config.toml, URL или аргументы процесса.
GLM и другие open-модели
Для GLM и DeepSeek используйте точный публичный model ID и /v1/chat/completions. Поля reasoning, tool calling и формат SSE могут отличаться; не подменяйте модель автоматически при ошибке.
Streaming и отмена
Сначала убедитесь, что JSON-запрос работает, затем включайте stream=true и ждите terminal event. При disconnect проверьте request ID и состояние списания перед повтором: раннее закрытие потока не доказывает, что upstream не завершил запрос.
Как работает prepaid-биллинг
Перед отправкой временно резервируется сумма, после terminal usage списывается фактическая стоимость, а остаток резерва освобождается. При отсутствии usage запрос остаётся на reconciliation, а не получает выдуманный расход.
Проверка за пять минут
Создайте отдельный ключ, вызовите /v1/models, выполните JSON и короткий SSE, проверьте charge и ledger, затем подключайте SDK или Codex. Никогда не отправляйте в поддержку ключи, prompts или ответы.