GPT-5.4 API: как подключить модель и сделать первый запрос

В этой статье

Если модель должна вызываться из программы, нужен OpenAI API, а не ChatGPT. ChatGPT — пользовательское приложение с отдельной подпиской и интерфейсом, API — HTTP-сервис: приложение передаёт ему ключ, модель и входные данные. Для нового текстового запроса к GPT-5.4 используйте Responses API, как рекомендует материал о выпуске GPT-5.4.

Модель и endpoint

В запросе укажите модель gpt-5.4, а endpoint — https://api.openai.com/v1/responses. Это основной маршрут для новой текстовой интеграции. Подписка ChatGPT не создаёт API-ключ автоматически и не пополняет баланс API.

Если нужна именно пользовательская подписка ChatGPT, а не программный доступ к API, проверьте каталог Amber Market: там можно посмотреть актуальное наличие цифровых товаров и оплатить заказ через СБП. Такая подписка не заменяет API-баланс и сама по себе не выдаёт разработчику API-ключ.

Для обычного запуска берите alias gpt-5.4 — он следует текущей версии модели. Для воспроизводимых production-тестов зафиксируйте snapshot gpt-5.4-2026-03-05: так сравнение результатов не будет зависеть от обновления alias.

Минимальный запрос через curl

Секрет храните в переменной окружения, а не в исходном коде и не в логах CI.

export OPENAI_API_KEY='ваш_api_ключ'

curl --fail-with-body -sS https://api.openai.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-5.4",
    "reasoning": {"effort": "none"},
    "input": "Коротко объясни, зачем API-ответу нужен HTTP-статус."
  }'

--fail-with-body завершит команду с ошибкой при HTTP 4xx/5xx и при этом сохранит тело ответа для диагностики. В рабочем клиенте проверяйте и статус, и схему JSON: успешный smoke-test — это HTTP 200 и непустой осмысленный текст, а не только наличие id.

В сыром ответе текстовое содержимое находится внутри элементов output. Если разбираете JSON самостоятельно, найдите текстовое сообщение и проверьте, что его текст не пустой. Для более подробного примера curl можно использовать инструкцию по первому запросу к Responses API.

Тот же вызов из Python

В официальном Python SDK итоговый текст доступен через response.output_text, поэтому для простого клиента не нужно вручную обходить внутренние элементы output (пример работы с текстовым ответом).

import os

from openai import OpenAI


def main() -> None:
    api_key = os.environ.get("OPENAI_API_KEY")
    if not api_key:
        raise RuntimeError("Не задана переменная OPENAI_API_KEY")

    client = OpenAI(api_key=api_key)
    response = client.responses.create(
        model="gpt-5.4",
        reasoning={"effort": "none"},
        input="Назови два признака успешного HTTP-запроса к API.",
    )

    text = response.output_text
    if not text or not text.strip():
        raise RuntimeError("API вернул пустой текстовый результат")

    print(text)


if __name__ == "__main__":
    main()

Здесь проверяются обе границы: ключ существует до запроса, а текстовый результат не пуст после него. В приложении добавьте обработку исключений SDK, таймаут и журналирование request ID без секрета. Повтор после сетевого обрыва тоже требует решения на уровне приложения: сервер мог успеть выполнить первую попытку. Если операция меняет состояние или списывает деньги, повтор должен быть идемпотентным в вашей системе.

Если нужен расширенный Python-разбор первого подключения, после этого короткого примера пригодится инструкция по OpenAI API из Python.

Как выбрать reasoning.effort

GPT-5.4 поддерживает уровни none, low, medium, high и xhigh. Для первого запроса, классификации или короткого преобразования начните с none: так проще измерить базовые задержку и расход токенов.

Если на многошаговой задаче модель ошибается, повышайте уровень постепенно — сначала до low, затем до medium или выше, если это оправдано тестами. Более высокий reasoning не гарантирует одинаково лучшего ответа для любого запроса и может увеличить задержку и расход токенов. Выбирайте настройку по набору реальных запросов, а не по названию уровня.

Smoke-test перед интеграцией

Проверьте запрос в том же окружении, где будет работать клиент:

  1. Убедитесь, что процесс видит OPENAI_API_KEY, но значение ключа не попадает в лог.
  2. Отправьте POST на /v1/responses с моделью gpt-5.4 и reasoning.effort: "none".
  3. Проверьте HTTP-статус 200.
  4. В SDK проверьте непустой response.output_text, а при разборе JSON — текстовое сообщение в output.
  5. Проверьте смысл результата простым условием: ожидаемым словом, форматом или числом пунктов.

Если запрос завершился ошибкой, сначала различите авторизацию, доступность модели, лимит, некорректный JSON и сетевой сбой. Ошибку схемы нельзя исправить бездумным повтором.

Responses API и Chat Completions

Для новой текстовой интеграции оставляйте Responses API основным вариантом (рекомендации по переходу на актуальную модель). Если существующий код уже использует Chat Completions, совместимость может упростить постепенную миграцию; полный справочник двух интерфейсов здесь не нужен. Сначала зафиксируйте контракт приложения, затем проверьте поддерживаемый endpoint и формат ответа в актуальной документации модели.

В карточке GPT-5.4 в OpenAI API указаны контекстное окно 1 050 000 токенов, максимум вывода 128 000 токенов и стандартные цены $2.50 за 1 млн входных токенов, $0.25 за 1 млн cached input и $15 за 1 млн выходных токенов. Это значения, указанные в карточке на дату проверки материала; перед расчётом бюджета откройте её ещё раз — цены и лимиты могут измениться. Фактические задержка и качество также зависят от запроса, reasoning и нагрузки.

Для первого рабочего подключения достаточно четырёх решений: gpt-5.4, POST /v1/responses, ключ в OPENAI_API_KEY и начальный reasoning.effort: "none". После smoke-test сравните low или medium на собственных примерах, а для воспроизводимых production-тестов переключитесь на gpt-5.4-2026-03-05.

Источники

Есть следующая задача?Ещё по теме «Работа с API» →