В этой статье
Если модель должна вызываться из программы, нужен 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 перед интеграцией
Проверьте запрос в том же окружении, где будет работать клиент:
- Убедитесь, что процесс видит
OPENAI_API_KEY, но значение ключа не попадает в лог. - Отправьте
POSTна/v1/responsesс модельюgpt-5.4иreasoning.effort: "none". - Проверьте HTTP-статус
200. - В SDK проверьте непустой
response.output_text, а при разборе JSON — текстовое сообщение вoutput. - Проверьте смысл результата простым условием: ожидаемым словом, форматом или числом пунктов.
Если запрос завершился ошибкой, сначала различите авторизацию, доступность модели, лимит, некорректный 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.
Источники
- GPT-5.4 Model | OpenAI APIOpenAI Developers
- Using GPT-6 | OpenAI API — GPT-5.4 model guidanceOpenAI Developers
- Introducing GPT-5.4OpenAI
- Text generation | OpenAI APIOpenAI Developers