COMRAD404 / HOWTO

Как интегрировать OpenAI API в приложение (Python/JS)

Пошаговая инструкция по интеграции OpenAI API в приложение на Python и JavaScript: создание API key, переменная OPENAI_API_KEY, установка SDK, запрос через Responses API и проверка результата.

Понадобится

15–25 минут
  • Аккаунт OpenAI с доступом к API
  • Созданный API key
  • Python 3.9+ или Node.js с совместимой версией для выбранного tagged release openai
  • Терминал и возможность задать переменную окружения OPENAI_API_KEY
  • Проверка официальных страниц Models и Pricing в день релиза

После выполнения инструкции вы интегрируете 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 в приложение

  1. Создайте API key в Dashboard.

    Откройте OpenAI Dashboard и создайте API key. Официальный quickstart рекомендует начинать именно с этого. Ожидаемый результат: у вас есть действующий ключ, который можно сохранить в окружение приложения.

  2. Сохраните ключ в переменной окружения OPENAI_API_KEY.

    Официальные SDK читают ключ автоматически из окружения, поэтому не встраивайте его в исходный код. Выполните команду для вашей среды.

    # macOS / Linux
    export OPENAI_API_KEY='ваш_ключ'
    # Windows PowerShell
    $env:OPENAI_API_KEY='ваш_ключ'

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

  3. Установите официальный 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 может опережать опубликованный релиз.

  4. Выберите актуальный model ID перед вставкой кода.

    Базовый запрос к Responses API требует указать модель. Так как модели, лимиты и цены меняются часто, сверяйте идентификатор в день релиза на официальной странице Models или запросом к GET /v1/models.

    curl https://api.openai.com/v1/models 
      -H "Authorization: Bearer $OPENAI_API_KEY"

    Ожидаемый результат: вы получаете список доступных моделей и подставляете нужный идентификатор вместо YOUR_MODEL_ID в примерах ниже. Это особенно важно, если вы переносите код между проектами или регионами.

  5. Добавьте минимальный запрос в код приложения.

    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 без захардкоженного ключа и без привязки к устаревшему способу вызова.

  6. Запустите файл и проверьте текстовый ответ.

    Для 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: так вы быстрее поймёте, проблема в ключе, в окружении, в модели или в самом приложении.

  1. Проверьте ответ приложения. После запуска example.py или example.mjs вы должны увидеть непустой и осмысленный текст в response.output_text. Для smoke test используйте короткий prompt: так легче понять, что интеграция отвечает именно на ваш запрос.

  2. Проверьте список доступных моделей. Отправьте 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 release openai-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 в день релиза.

Источники

Вопросы и ответы

Нужно ли передавать 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 доступен только в странах и территориях из официального списка. Перед запуском в новой юрисдикции перепроверьте актуальную страницу поддержки стран.

Шаги

HOW-TO
  1. Создайте API key в Dashboard

    | Откройте OpenAI Dashboard и создайте API key. Это стартовый шаг из официального quickstart.

  2. Сохраните ключ в OPENAI_API_KEY

    | Задайте переменную окружения OPENAI_API_KEY в вашей системе. Официальные SDK читают ключ автоматически из окружения.

  3. Установите официальный SDK

    | Для Python выполните pip install openai. Для JavaScript выполните npm install openai и проверьте совместимость выбранного релиза с вашим runtime.

  4. Определите актуальный model ID

    | Проверьте официальный список моделей на странице Models или запросом GET /v1/models и выберите model ID для кода.

  5. Добавьте минимальный запрос через Responses API

    | Создайте клиент через OpenAI(), вызовите client.responses.create(...) и выведите response.output_text в Python или JavaScript.

  6. Запустите файл и подтвердите результат

    | Выполните python example.py или node example.mjs и убедитесь, что приложение получает осмысленный текстовый ответ.

Источники

SOURCES

Вопросы и ответы

FAQ
Нужно ли передавать 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 доступен только в странах и территориях из официального списка. Перед запуском в новой юрисдикции перепроверьте актуальную страницу поддержки стран.

Читайте также

LINKS