Встроенный узел OpenAI

Кроме универсального HTTP Request, в n8n есть отдельный узел OpenAI, который скрывает технические детали запроса. Внутри он делает то же самое — отправляет HTTP-запрос на api.openai.com — но вам не нужно вручную прописывать URL, заголовки и структуру тела.

Примечание. Структура самого узла OpenAI и список его операций со временем меняются: добавляются новые модели, операции и параметры. То, что описано ниже — общий принцип. Конкретные названия полей в вашей версии n8n могут отличаться.

Когда стоит использовать встроенный узел

  • Узел OpenAI удобен, когда сценарий простой и вам нужен быстрый результат: «отправить вопрос и получить ответ», «сгенерировать картинку», «сделать транскрипцию аудио».
  • HTTP Request даёт полный контроль: вы можете передать любые параметры, включая те, которые встроенный узел ещё не поддерживает.

Если в OpenAI вышло что-то новое, а в узле этого пока нет — проще отправить через HTTP Request. Если задача стандартная — встроенный узел проще и компактнее.

Что нужно для работы узла

  1. Учётные данные. Создайте в n8n запись Credentials для OpenAI и вставьте туда свой API-ключ. Один раз — потом эту запись будут использовать все узлы OpenAI в любых сценариях.
  2. Выбор операции. Узел поддерживает несколько типов задач — например, генерация текста (chat), генерация изображений, работа с аудио (распознавание/синтез), эмбеддинги. Выберите подходящую операцию.
  3. Выбор модели. Внутри операции укажите модель (например, одну из моделей семейства gpt-... для текста). Список моделей у OpenAI обновляется — что доступно в вашем аккаунте, можно посмотреть в личном кабинете OpenAI.
  4. Содержимое запроса. Для chat-операции это сообщения от пользователя (и при необходимости системное сообщение). Для генерации изображения — текстовое описание. И так далее.

Замена HTTP Request на узел OpenAI в нашем сценарии

В сценарии Ask AI можно заменить узел HTTP Request на узел OpenAI (операция, связанная с chat / message), не трогая Webhook и Respond to Webhook.

В настройках узла:

  • выберите учётные данные OpenAI;
  • выберите операцию для общения с моделью;
  • укажите модель;
  • в качестве сообщения пользователя подставьте {{ $json.body.question }} из webhook.

После выполнения узел вернёт текст ответа уже в более удобном виде — обычно есть поле, в котором лежит готовый текст без необходимости разбирать choices[0].message.content. Точное имя поля зависит от версии узла; посмотрите вывод и используйте то поле, в котором лежит итоговый текст, в Respond to Webhook.

Что выбрать

Для учебного сценария — оба варианта рабочие. Полезно попробовать оба: сначала через HTTP Request, чтобы понять, как это устроено «снизу», а потом через встроенный узел, чтобы оценить разницу. В реальных проектах обычно используют встроенный узел, а на HTTP Request переключаются, когда нужна тонкая настройка или ещё не поддерживаемая возможность.