После выполнения инструкции вы интегрируете OpenAI API в приложение на Python или JavaScript: сохраните API key в окружении, установите официальный SDK, отправите запрос через Responses API и проверите, что приложение получает ответ в response.output_text.
Это минимальный воспроизводимый путь для реального приложения, а не только для одноразового теста. Вы пройдёте все базовые действия: ключ, окружение, установка SDK, выбор актуального model ID, запуск кода и проверка результата.
- Время: 15–25 минут.
- Сложность: средний.
- Стоимость: API тарифицируется отдельно от подписок ChatGPT; актуальные цены проверяйте на официальной странице Pricing.
- Что потребуется: аккаунт OpenAI с доступом к API, API key, Python или Node.js, терминал, возможность задать переменную окружения
OPENAI_API_KEY. - Актуальность: инструкция сверена по официальной документации и репозиториям OpenAI на 2026-08-14.
- Актуальная API: в официальных SDK основной путь —
Responses API.
| Стек | Что ставить | Что проверить до запуска |
|---|---|---|
| Python | pip install openai |
Официальная поддержка Python 3.9+; policy отдельно указывает полностью выпущенный диапазон 3.10–3.14. Для Python 3.9 фиксируйте последний совместимый релиз. |
| JavaScript / Node.js | npm install openai |
Для продакшена фиксируйте tagged release. На дату проверки GitHub Releases показывает latest release v6.39.0, а main-ветка уже содержит 7.1.0 и engines.node >=22.0.0. |
Практический вердикт: для нового кода используйте официальный SDK и
Responses API. Редакционное ограничение: в source pack не зафиксирован конкретный актуальный model ID для quickstart и не указан единый текущий релизopenai-python, поэтому перед релизом подставьте модель с официальной страницы Models и зафиксируйте версию пакета в вашем lockfile.
Почему именно этот путь: официальный quickstart и README SDK ведут через Responses API. По официальной странице Models текущие модели OpenAI поддерживают текстовый и изображенческий ввод, текстовый вывод, мультиязычность и vision. Для первой интеграции в приложение этого достаточно: начните с текстового запроса, а мультимодальность добавьте после успешного smoke test.
Пошагово: как интегрировать OpenAI API в приложение
-
Создайте API key в Dashboard.
Откройте OpenAI Dashboard и создайте API key. Официальный quickstart рекомендует начинать именно с этого. Ожидаемый результат: у вас есть действующий ключ, который можно сохранить в окружение приложения.
-
Сохраните ключ в переменной окружения
OPENAI_API_KEY.Официальные SDK читают ключ автоматически из окружения, поэтому не встраивайте его в исходный код. Выполните команду для вашей среды.
# macOS / Linux export OPENAI_API_KEY='ваш_ключ'# Windows PowerShell $env:OPENAI_API_KEY='ваш_ключ'Ожидаемый результат: приложение сможет создать клиент через
OpenAI()без явной передачи секретного ключа в коде. -
Установите официальный SDK для вашего языка.
Для Python официальный пакет ставится через
pip. Для JavaScript официальный путь — пакетopenaiчерезnpm.# Python pip install openai# JavaScript / Node.js npm install openaiЕсли вы используете Python, учитывайте официальную поддержку Python 3.9+ и отдельно проверяйте совместимость на 3.9. Если вы используете Node.js, не ориентируйтесь на main-ветку репозитория как на продакшен-стандарт: source pack прямо указывает, что main может опережать опубликованный релиз.
-
Выберите актуальный
model IDперед вставкой кода.Базовый запрос к
Responses APIтребует указать модель. Так как модели, лимиты и цены меняются часто, сверяйте идентификатор в день релиза на официальной странице Models или запросом кGET /v1/models.curl https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY"Ожидаемый результат: вы получаете список доступных моделей и подставляете нужный идентификатор вместо
YOUR_MODEL_IDв примерах ниже. Это особенно важно, если вы переносите код между проектами или регионами. -
Добавьте минимальный запрос в код приложения.
Python: сохраните файл
example.pyи вставьте минимальный запрос черезResponses API.from openai import OpenAI client = OpenAI() response = client.responses.create( model='YOUR_MODEL_ID', input='Напишите одну короткую строку: интеграция API работает.' ) print(response.output_text)JavaScript: сохраните файл
example.mjs. Официальный quickstart для JS используетnew OpenAI(),client.responses.create(...)и запуск черезnode example.mjs.import OpenAI from 'openai'; const client = new OpenAI(); const response = await client.responses.create({ model: 'YOUR_MODEL_ID', input: 'Write one short line saying the API integration works.' }); console.log(response.output_text);Ожидаемый результат: в приложении появляется минимальный рабочий вызов API без захардкоженного ключа и без привязки к устаревшему способу вызова.
-
Запустите файл и проверьте текстовый ответ.
Для Python выполните
python example.py. Для JavaScript выполнитеnode example.mjs. Если всё настроено правильно, вы увидите осмысленный текст вresponse.output_text.# Python python example.py# JavaScript / Node.js node example.mjsЭто и есть базовая интеграция: приложение установило SDK, прочитало
OPENAI_API_KEY, отправило запрос и вывело результат. Если вывода нет или он не появляется, переходите к блоку с ошибками ниже.
Как проверить, что всё работает
Не ограничивайтесь одним признаком успеха. Лучше проверить и прикладной код, и прямой доступ к API: так вы быстрее поймёте, проблема в ключе, в окружении, в модели или в самом приложении.
-
Проверьте ответ приложения. После запуска
example.pyилиexample.mjsвы должны увидеть непустой и осмысленный текст вresponse.output_text. Для smoke test используйте короткий prompt: так легче понять, что интеграция отвечает именно на ваш запрос. -
Проверьте список доступных моделей. Отправьте
GET /v1/models. Если endpoint возвращает список, ключ и сетевой доступ работают независимо от прикладного кода.curl https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY"
| Проверка | Успешный признак | Что это доказывает |
|---|---|---|
response.output_text |
Есть осмысленный текстовый вывод | SDK установлен, клиент инициализируется, запрос выполняется, приложение получает ответ |
GET /v1/models |
Возвращается список доступных моделей | Ключ валиден, базовый доступ к API есть, сеть и авторизация работают |
| Клиент без явного ключа | OpenAI() создаётся без параметра apiKey |
Переменная OPENAI_API_KEY подхватывается автоматически |
Если GET /v1/models работает, а ваш код — нет, чаще всего проблема в выбранном model ID, версии SDK или в среде выполнения. Если наоборот код не стартует вообще, сначала проверьте переменную окружения и совместимость Python или Node.js.
Частые ошибки и исправления
- Ошибка: приложение не видит
OPENAI_API_KEY.
Решение: задайте переменную в той же сессии терминала, из которой запускаете приложение. Официальный quickstart и SDK опираются именно на переменную окружения. - Ошибка: запрос к
Responses APIне проходит после копирования примера.
Решение: проверьте, что вы подставили реальныйmodel ID, а не оставилиYOUR_MODEL_ID. Source pack отдельно предупреждает, что модели меняются часто, поэтому сверяйте страницу Models и/v1/modelsв день релиза. - Ошибка: код на Python установлен, но среда ведёт себя нестабильно или пакет не совпадает с вашей версией интерпретатора.
Решение: проверьте поддержку Python 3.9+ и помните, что policy отдельно отмечает полностью выпущенный диапазон 3.10–3.14. Если вы на Python 3.9, фиксируйте последний совместимый релиз. - Ошибка: JavaScript-проект собрался на одной машине, но не запускается на другой.
Решение: зафиксируйте конкретный tagged releaseopenai-nodeи проверьте совместимость с вашим Node runtime. Source pack указывает расхождение между latest release и main-веткой, поэтому не ориентируйтесь на main как на продакшен-норму. - Ошибка: вы ожидаете, что доступ к API будет работать из любой юрисдикции.
Решение: проверьте официальный список поддерживаемых стран и территорий до запуска. По справке OpenAI использование вне поддерживаемых локаций может привести к ограничению или блокировке аккаунта. - Ошибка: вы предполагаете, что подписка ChatGPT покрывает API-вызовы.
Решение: разделяйте ChatGPT и OpenAI API по биллингу. Официальная страница Pricing указывает, что API тарифицируется отдельно.
Безопасность и ограничения
Для продакшена считайте этот минимум обязательным, а не дополнительным. Здесь важны не только код и модель, но и правила работы с данными, регионами и версиями SDK.
- Не храните ключ в коде. Официальный quickstart рекомендует переменную окружения
OPENAI_API_KEY, а SDK подхватывает её автоматически. - Учитывайте политику данных. По политике OpenAI API-запросы не используются для обучения или улучшения моделей без opt-in.
- Понимайте retention. Для
Responses APIхранение Application State по умолчанию или приstore=trueсоставляет 30 дней. - Проверяйте региональную доступность. API доступен только в странах и территориях из официального списка. Для запуска в новой юрисдикции нужна повторная проверка.
- Отдельно проверяйте data residency. Source pack отмечает, что для data residency и регионального процесса могут потребоваться дополнительные условия, approval или настройки проекта.
- Не фиксируйте цены и модельный ряд в документации продукта навсегда. Source pack прямо предупреждает, что модели, лимиты и цены меняются часто; сверяйте Models и Pricing в день релиза.
Редакционное ограничение: эта инструкция сознательно не называет конкретный рекомендуемый model ID и не объявляет один универсальный релиз openai-python как текущий для всех случаев, потому что source pack не фиксирует такие значения как стабильные на все сценарии. Для рабочей эксплуатации зафиксируйте модель и версии SDK в вашем проекте отдельно.
Что делать дальше
- Если вам нужен самый короткий стартовый smoke test без разбора продакшен-ограничений, пройдите Как подключить OpenAI API и отправить первый запрос.
- После базовой интеграции добавьте инструментальные вызовы и маршрутизацию через Как использовать function calling в API.
- Вынесите
model ID, prompt и политику ретраев в конфигурацию приложения, а не оставляйте их внутри одного демонстрационного файла. - Зафиксируйте версии зависимостей и повторно проверьте страницу Pricing и Models в день релиза.
Источники
- OpenAI Services Agreement | OpenAI
- openai-python/CHANGELOG.md at main · openai/openai-python · GitHub
- openai-node/NODE_VERSION_POLICY.md at main · openai/openai-node · GitHub
- Developer quickstart – OpenAI API
- Models | OpenAI API
- All models | OpenAI API
- Models | OpenAI API Reference
- Data controls in the OpenAI platform – OpenAI API
- OpenAI API – Supported Countries and Territories | OpenAI Help Center
- OpenAI API Pricing | OpenAI
- openai-python/README.md at main · openai/openai-python · GitHub
- openai-python/PYTHON_VERSION_POLICY.md at main · openai/openai-python · GitHub
- openai-node/README.md at main · openai/openai-node · GitHub
- Releases · openai/openai-node · GitHub
- openai-node/package.json at main · openai/openai-node · GitHub
Вопросы и ответы
Нужно ли передавать API key прямо в коде?
Нет. Официальный quickstart рекомендует сохранить ключ в переменной окружения OPENAI_API_KEY. Официальные SDK читают её автоматически.
Какую модель подставить в примеры Python и JS?
Подставьте актуальный model ID с официальной страницы Models или из результата GET /v1/models. Source pack не фиксирует один неизменный идентификатор, потому что модельный ряд обновляется.
Можно ли считать подписку ChatGPT оплатой за API?
Нет. Официальная страница Pricing указывает, что OpenAI API тарифицируется отдельно от подписок ChatGPT.
Что происходит с данными запросов?
По политике данных OpenAI API-запросы не используются для обучения или улучшения моделей без opt-in. Для Responses API хранение Application State по умолчанию или при store=true составляет 30 дней.
Будет ли API работать из любой страны?
Нет. API доступен только в странах и территориях из официального списка. Перед запуском в новой юрисдикции перепроверьте актуальную страницу поддержки стран.