OpenAI token API: как получить ключ и сделать первый запрос

В этой статье

В поиске часто пишут open ai token api, хотя в документации OpenAI это называется API key. По сути, это секрет, которым сервер подписывает запросы к OpenAI API. Он не равен подписке ChatGPT: подписка даёт пользовательский доступ к интерфейсу, а API-ключ нужен приложению, которое само отправляет HTTP-запросы.

Где создать OpenAI API token

Откройте страницу API keys, войдите в аккаунт и создайте новый ключ. Полное значение секрета показывается при создании, поэтому сразу сохраните его в менеджер секретов или в локальное защищённое хранилище. Если ключ потерян, восстановить его нельзя — создайте новый и замените значение в приложении. Это указано в справке OpenAI о ключах.

Не смешивайте эту задачу с покупкой готового доступа к AI-сервису. Если вам не нужна интеграция, а нужен пользовательский сервис или подписка, можно посмотреть каталог Amber Market. Это не способ получить или пополнить OpenAI API token: в каталоге представлены пользовательские AI-сервисы, а их наличие и условия нужно проверить в карточке перед заказом. По подтверждённым условиям Amber Market принимает оплату через СБП, без автоматических списаний.

Как передать ключ серверному приложению

Ключ должен находиться на backend-сервере, а не в браузере, мобильном приложении или публичном репозитории. Клиент вызывает ваш endpoint, сервер добавляет ключ и обращается к OpenAI. Иначе любой пользователь сможет извлечь секрет из JavaScript-бандла или приложения и отправлять запросы за ваш счёт.

Для локального запуска задайте переменную окружения. В Linux или macOS:

export OPENAI_API_KEY="ваш_ключ_здесь"

В Windows PowerShell:

$env:OPENAI_API_KEY = "ваш_ключ_здесь"

Значение в примерах — заполнитель, не настоящий секрет. Не записывайте ключ в исходник, в .env, который попадает в Git, логи или сообщения об ошибках. Если используете .env локально, добавьте его в .gitignore, а в production передавайте секрет средствами окружения или secret manager. Рекомендации по защите серверного приложения собраны в Best Practices for API Key Safety.

Первый запрос через официальный SDK для JavaScript

Нужен серверный Node.js-проект. Установите официальный пакет:

npm install openai

Создайте файл example.mjs:

import OpenAI from "openai";

const client = new OpenAI();

const response = await client.responses.create({
  model: process.env.OPENAI_MODEL ?? "gpt-5",
  input: "Ответь одной короткой фразой: API подключён?",
});

const text = response.output_text?.trim();

if (!text) {
  throw new Error("OpenAI вернул пустой output_text");
}

console.log(text);

Запустите его в том же окружении, где задан OPENAI_API_KEY:

node example.mjs

Конструктор new OpenAI() читает ключ из переменной OPENAI_API_KEY, поэтому передавать его вручную в код обычно не требуется. Вызов responses.create отправляет запрос через Responses API, а response.output_text даёт собранный текстовый результат. Такой минимальный сценарий соответствует официальному JavaScript quickstart.

Переменная OPENAI_MODEL здесь не обязательна: она оставляет выбор модели настройкой окружения, а не частью исходника. Используйте модель, доступную вашему проекту и указанную в актуальной документации; если у проекта другая модель по умолчанию, замените значение в окружении.

Как понять, что настройка сломана

Пустой output_text и исключение из примера — полезная граница проверки: запрос не следует считать успешным только потому, что процесс Node.js запустился. Проверьте по порядку:

  1. Переменная задана в том же терминале или окружении, из которого запускается Node.js.
  2. В ключе нет лишних кавычек, пробелов и переноса строки.
  3. В приложении используется backend, а не код страницы.
  4. Имя модели доступно проекту.
  5. В панели OpenAI ключ не отозван и для проекта нет ограничений, мешающих запросу.

Если секрет уже попал в Git, issue, логи или клиентский бандл, не пытайтесь просто удалить строку из последнего коммита. Отзовите скомпрометированный ключ, создайте новый на странице API keys и обновите секрет в серверном окружении. Повторить HTTP-запрос легко; сложнее понять, успел ли утёкший ключ создать расход до отзыва. Поэтому ротация — часть настройки, а не аварийная процедура на потом.

Источники

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