Подключение и примеры

GPT API через CLODEx

Для Python-приложения нужен API-клиент, для Codex — провайдер с протоколом Responses. Ниже оба варианта и объяснение, почему подписка ChatGPT, ключ CLODEx и название модели — не одно и то же.

GPT API и «ChatGPT API»: что вы подключаете

GPT — модель, ChatGPT — приложение, а CLODEx — отдельный шлюз и баланс. Здесь запрос оплачивается по условиям CLODEx. Подписка ChatGPT не превращается в API-кредит, и ключ CLODEx не является ключом кабинета OpenAI.

Создайте ключ на странице API-ключей. Точное имя модели возьмите из каталога, доступного этому ключу: gpt-5.6-sol, gpt-5.6-terra и gpt-5.6-luna — разные ID, а не значения параметра качества одного запроса. Установите Python-пакет openai в окружение приложения.

Создать ключ · Модели для кода

Какой из двух протоколов нужен

Если приложение уже вызывает chat.completions.create, начните с его существующего формата. Для Codex нужен Responses. Переход между протоколами меняет не только путь, но и входное тело, обработку результата и инструментов.

КлиентОтправкаЧтение ответа
Chat Completionsmessages; /v1/chat/completionschoices[].message и finish_reason
Responses / Codexinput; /v1/responsesoutput items и status

Первый запрос через Responses API

Задайте CLODEX_API_KEY и CLODEX_MODEL в защищённом окружении процесса. Пример выполняет один платный текстовый запрос; он намеренно не включает инструменты и автоматические повторы. Успех проверяется по status и непустому тексту, а не только по HTTP 200.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["CLODEX_API_KEY"],
    base_url="https://clodex.xyz/v1",
    timeout=60.0,
    max_retries=0,
)
response = client.responses.create(
    model=os.environ["CLODEX_MODEL"],
    input="Reply with one word: ready",
    stream=False,
)
if response.status != "completed" or not response.output_text.strip():
    raise RuntimeError(f"Incomplete text response: {response.status}")
print(response.output_text)
print(response.usage)

Codex: настройки из нашей /docs

Сначала установите официальный Codex и сохраните копию текущего ~/.codex/config.toml. Внесите блок ниже в существующий файл: не создавайте второй раздел с тем же именем и не стирайте ваши MCP, проекты и разрешения. Ключ читается из CLODEX_API_KEY; значение секрета не нужно записывать в TOML.

Это минимальная ручная конфигурация CLI. Для Codex App используйте соответствующий установщик из /docs: он также настраивает каталог моделей. Если установщик уже создал model_catalog_json, сохраните его действительный абсолютный путь. Не копируйте буквальный /ABSOLUTE/PATH из учебного примера.

Полностью перезапустите приложение или VS Code после настройки окружения. Процесс, запущенный раньше, может не получить переменную. В /status сверяйте провайдера и модель; не отключайте sandbox и подтверждения команд ради подключения.

# Merge into ~/.codex/config.toml; do not overwrite other settings.
model = "gpt-5.6-sol"
model_provider = "clodex"

[model_providers.clodex]
name = "Clodex"
base_url = "https://clodex.xyz/v1"
wire_api = "responses"
env_key = "CLODEX_API_KEY"
supports_websockets = false
requires_openai_auth = false

Установщики Codex для вашей ОС · OpenAI: настройка провайдеров

Как сравнить расход, а не названия тарифов

Одна задача агента состоит из нескольких запросов: история, ответы инструментов и повторные проверки снова попадают во вход. Поэтому цена «одного ответа» не равна цене исправленной задачи. Сравнивайте журнал списаний за одинаковое задание и долю патчей, прошедших тесты.

Ставки, лимиты и условия оплаты в России смотрите в кабинете и /pricing. Наличие API не гарантирует поддержку любой банковской карты. CLODEx не продаёт официальный аккаунт OpenAI и не обещает обход сетевых ограничений или бесплатную работу Codex.

Тарифы · Пример Chat Completions

Документация и проверка примера

Адреса и настройки подключения сверены с документацией CLODEx. Примеры предназначены для указанного протокола; они не являются журналом выполненных запросов и не обещают одинаковые функции у всех моделей. Рабочий запрос на генерацию может списать средства.

Подключение клиентов · Протоколы API

Частые вопросы

Почему Responses не возвращает choices?

Это другой протокол. В Python SDK текст доступен в output_text, а сырой ответ содержит output items. Обработчик Chat Completions нельзя применить к нему без изменения.

Нужно ли менять ключ при переключении модели?

Не обязательно: один ключ может иметь доступ к нескольким моделям. Ограничения ключа и группы проверяются отдельно; новое имя не добавляет доступ автоматически.

Можно ли вставить ключ в frontend?

Нет. Публичный JavaScript и сетевые запросы браузера доступны пользователю. Отправляйте запрос через свой сервер с проверкой авторизации и лимитов.

Подключите CLODEX API к своему проекту

Один ключ, единый endpoint и несколько семейств LLM для разработки, приложений и ботов.