hubris

n8n

Официальная нода Hubris для n8n — текст, картинки, озвучка, распознавание речи, видео и эмбеддинги в одном узле, плюс модель для AI Agent. Запасной путь — штатный узел OpenAI.

n8n — платформа автоматизации с сотнями готовых интеграций, в которой сценарии собираются из узлов. У Hubris есть официальная нода сообщества — пакет n8n-nodes-hubris: узел «Hubris» со всеми модальностями и узел «Hubris Chat Model» для агентов. Если поставить пакет нельзя, Hubris подключается и как обычный OpenAI-совместимый провайдер — этот способ описан в конце.

Требования

  • n8n self-hosted (версия 1.100 и новее, Node.js 22) или n8n Cloud
  • Аккаунт на hubris.pw и API-ключ из раздела Ключи

Установка ноды

Self-hosted. Настройки → Community Nodes → Install → введите n8n-nodes-hubris → подтвердите. Нужна n8n 1.100 или новее. Чтобы AI Agent мог вызывать узел «Hubris» как инструмент, запустите n8n с переменной окружения:

N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true

n8n Cloud. Пакет подан на проверку в n8n; после одобрения он появится в панели узлов Cloud по запросу «Hubris». До этого в Cloud используйте запасной путь через штатный узел OpenAI, описанный ниже.

Пакет в npm: n8n-nodes-hubris, исходный код открыт: github.com/Aimagine-life/n8n-nodes-hubris.

Credential «Hubris API»

Создаётся один раз и используется во всех узлах пакета.

  1. Раздел CredentialsAdd Credential → найдите Hubris API.
  2. Заполните поля:
ПолеЗначение
API Keyваш ключ Hubris (формат sk-gw-...)
Base URLhttps://api.hubris.pw/v1 (уже подставлен, менять не нужно)
  1. Нажмите Save — n8n сразу проверит ключ запросом к GET /v1/key и покажет «Connection successful».

Узел «Hubris»

Один узел, внутри — ресурс и операция. Модель в каждой операции выбирается из живого каталога Hubris, отфильтрованного под задачу (для озвучки — только модели озвучки, для видео — только видеомодели), либо задаётся идентификатором через выражение.

РесурсОперацияЧто делает
TextChatЗапрос к /v1/chat/completions: простой промпт с системной инструкцией или полный массив сообщений; картинка из бинарного поля для vision-моделей; режимы JSON и JSON Schema с уже разобранным ответом в поле json; уровень размышления; инструменты.
TextResponseЗапрос к /v1/responses: текст или массив блоков input, инструкции, ответ по JSON-схеме.
EmbeddingEmbedВектор для строки или пакета строк (JSON-массив) — по одному элементу на вектор, размерность настраивается.
ImageGenerateКартинка по описанию; результат — бинарное поле data, каждая картинка отдельным элементом.
AudioTranscribeРаспознавание речи из бинарного поля (wav, mp3, flac, m4a, ogg, webm, aac); при verbose_json — язык, длительность и сегменты.
AudioGenerate SpeechОзвучка текста выбранным голосом; результат — mp3 или PCM в бинарном поле.
VideoGenerateЗапуск генерации: узел сразу возвращает идентификатор задачи и статус, ничего не ожидая.
VideoGetПроверка задачи по идентификатору и загрузка готового ролика в бинарное поле (хранится 72 часа).
AccountGet Key InfoЛимит, расход за период и баланс текущего ключа.

В каждом ответе, где API отдаёт стоимость (usage.cost в копейках), узел добавляет поле cost_rub — та же сумма в рублях. У генерации картинок и озвучки стоимости в ответе нет, её видно в журнале.

Ошибки API приходят с кодом и текстом Hubris — 402 Insufficient balance, 429 daily_limit_exceeded, 401 invalid_api_key — и обрабатываются штатной настройкой узла «Continue On Fail».

Пример: статья и обложка

  1. Hubris → Text → Chat, модель anthropic/claude-sonnet-5, промпт Напиши статью на 300 слов о {{ $json.topic }}.
  2. Hubris → Text → Chat, модель openai/gpt-4o-mini, Response Format — JSON Schema со схемой { "type": "object", "properties": { "prompt": { "type": "string" } }, "required": ["prompt"] }, промпт Опиши обложку для этой статьи: {{ $json.text }}.
  3. Hubris → Image → Generate, модель black-forest-labs/flux.2-klein-4b, промпт {{ $json.json.prompt }}.
  4. Узел вашей CMS: текст из шага 1, картинка из бинарного поля data шага 3.

Узел «Hubris Chat Model» для AI Agent

Подключается к AI Agent, Basic LLM Chain и любому узлу со входом «Model»:

  1. Добавьте Hubris Chat Model, выберите credential «Hubris API».
  2. Выберите модель из каталога — например anthropic/claude-sonnet-5 или openai/gpt-4o-mini.
  3. В Options при необходимости задайте максимум токенов, уровень размышления, таймаут и число повторов. Temperature и Top P отправляются только если их задать явно: модели Claude 5 отвергают эти параметры.

Для векторных хранилищ используйте штатный узел Embeddings OpenAI с credential «OpenAI API», в котором Base URL — https://api.hubris.pw/v1, а ключ — ваш ключ Hubris.

Рекомендуемые модели

Сценарии n8n обычно однотипные и массовые: классифицировать, перевести, извлечь поля. Здесь важнее цена и скорость, чем предельное качество.

МодельКогда уместна
anthropic/claude-haiku-4.5быстрая классификация, извлечение данных
openai/gpt-4o-miniуниверсальный недорогой выбор, структурированный вывод
google/gemini-2.5-flashкартинки на входе, длинный контекст
anthropic/claude-sonnet-5многошаговые агенты с инструментами

Полный список с фильтрами по цене и возможностям — в каталоге.

Запасной путь: штатный узел OpenAI

Если ставить пакеты нельзя, Hubris работает через встроенные узлы n8n как OpenAI-совместимый провайдер.

  1. Credentials → Add Credential → OpenAI API: API Key — ключ Hubris, Base URL — https://api.hubris.pw/v1, Organization ID — пусто.
  2. OpenAI Chat Model (для AI Agent и цепочек) или OpenAI → Message a model: выберите credential и укажите идентификатор модели из каталога.
  3. HTTP Request — когда нужен параметр, которого нет в интерфейсе узла:
Method: POST
URL: https://api.hubris.pw/v1/chat/completions
Authentication: Generic Credential Type → Header Auth
  Name:  Authorization
  Value: Bearer sk-gw-...
Body (JSON):
{
  "model": "anthropic/claude-haiku-4.5",
  "messages": [
    {"role": "user", "content": "{{ $json.prompt }}"}
  ]
}

Решение проблем

Узел «Hubris» не появляется в панели

  • На self-hosted проверьте, что пакет установлен в Settings → Community Nodes и n8n перезапущен после установки.
  • В n8n Cloud пакет появится после проверки n8n. До этого используйте запасной путь через узел OpenAI.

AI Agent не видит узел «Hubris» среди инструментов

  • На self-hosted нужна переменная N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true. Узел «Hubris Chat Model» подключается к агенту как модель и в этой переменной не нуждается.

401 при первом запросе

  • Ключ не прошёл. Проверьте, что он начинается с sk-gw- и не содержит пробелов. Тест credential покажет причину сразу при сохранении.

402 / insufficient_balance

429 / daily_limit_exceeded

Как дождаться готового видео

Генерация идёт на стороне провайдера и занимает минуты, поэтому узел не ждёт и не блокирует сценарий. Ожидание собирается из штатных узлов n8n:

  1. Hubris → Video → Generate — вернёт { id, status: "pending" }.
  2. Wait — например 30 секунд.
  3. Hubris → Video → Get — Video ID: {{ $('Hubris').item.json.id }}.
  4. If{{ $json.status }} равен completed? Да — ролик лежит в бинарном поле data, идём дальше. Нет — обратно на узел Wait.

Идентификатор задачи работает и из другого сценария или более позднего запуска, если забрать ролик в течение 72 часов.

Что дальше

Обновлено: