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=truen8n Cloud. Пакет подан на проверку в n8n; после одобрения он появится в панели узлов Cloud по запросу «Hubris». До этого в Cloud используйте запасной путь через штатный узел OpenAI, описанный ниже.
Пакет в npm: n8n-nodes-hubris, исходный код открыт: github.com/Aimagine-life/n8n-nodes-hubris.
Credential «Hubris API»
Создаётся один раз и используется во всех узлах пакета.
- Раздел Credentials → Add Credential → найдите Hubris API.
- Заполните поля:
| Поле | Значение |
|---|---|
| API Key | ваш ключ Hubris (формат sk-gw-...) |
| Base URL | https://api.hubris.pw/v1 (уже подставлен, менять не нужно) |
- Нажмите Save — n8n сразу проверит ключ запросом к
GET /v1/keyи покажет «Connection successful».
Узел «Hubris»
Один узел, внутри — ресурс и операция. Модель в каждой операции выбирается из живого каталога Hubris, отфильтрованного под задачу (для озвучки — только модели озвучки, для видео — только видеомодели), либо задаётся идентификатором через выражение.
| Ресурс | Операция | Что делает |
|---|---|---|
| Text | Chat | Запрос к /v1/chat/completions: простой промпт с системной инструкцией или полный массив сообщений; картинка из бинарного поля для vision-моделей; режимы JSON и JSON Schema с уже разобранным ответом в поле json; уровень размышления; инструменты. |
| Text | Response | Запрос к /v1/responses: текст или массив блоков input, инструкции, ответ по JSON-схеме. |
| Embedding | Embed | Вектор для строки или пакета строк (JSON-массив) — по одному элементу на вектор, размерность настраивается. |
| Image | Generate | Картинка по описанию; результат — бинарное поле data, каждая картинка отдельным элементом. |
| Audio | Transcribe | Распознавание речи из бинарного поля (wav, mp3, flac, m4a, ogg, webm, aac); при verbose_json — язык, длительность и сегменты. |
| Audio | Generate Speech | Озвучка текста выбранным голосом; результат — mp3 или PCM в бинарном поле. |
| Video | Generate | Запуск генерации: узел сразу возвращает идентификатор задачи и статус, ничего не ожидая. |
| Video | Get | Проверка задачи по идентификатору и загрузка готового ролика в бинарное поле (хранится 72 часа). |
| Account | Get Key Info | Лимит, расход за период и баланс текущего ключа. |
В каждом ответе, где API отдаёт стоимость (usage.cost в копейках), узел добавляет поле cost_rub — та же сумма в рублях. У генерации картинок и озвучки стоимости в ответе нет, её видно в журнале.
Ошибки API приходят с кодом и текстом Hubris — 402 Insufficient balance, 429 daily_limit_exceeded, 401 invalid_api_key — и обрабатываются штатной настройкой узла «Continue On Fail».
Пример: статья и обложка
- Hubris → Text → Chat, модель
anthropic/claude-sonnet-5, промптНапиши статью на 300 слов о {{ $json.topic }}. - Hubris → Text → Chat, модель
openai/gpt-4o-mini, Response Format — JSON Schema со схемой{ "type": "object", "properties": { "prompt": { "type": "string" } }, "required": ["prompt"] }, промптОпиши обложку для этой статьи: {{ $json.text }}. - Hubris → Image → Generate, модель
black-forest-labs/flux.2-klein-4b, промпт{{ $json.json.prompt }}. - Узел вашей CMS: текст из шага 1, картинка из бинарного поля
dataшага 3.
Узел «Hubris Chat Model» для AI Agent
Подключается к AI Agent, Basic LLM Chain и любому узлу со входом «Model»:
- Добавьте Hubris Chat Model, выберите credential «Hubris API».
- Выберите модель из каталога — например
anthropic/claude-sonnet-5илиopenai/gpt-4o-mini. - В 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-совместимый провайдер.
- Credentials → Add Credential → OpenAI API: API Key — ключ Hubris, Base URL —
https://api.hubris.pw/v1, Organization ID — пусто. - OpenAI Chat Model (для AI Agent и цепочек) или OpenAI → Message a model: выберите credential и укажите идентификатор модели из каталога.
- 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:
- Hubris → Video → Generate — вернёт
{ id, status: "pending" }. - Wait — например 30 секунд.
- Hubris → Video → Get — Video ID:
{{ $('Hubris').item.json.id }}. - If —
{{ $json.status }}равенcompleted? Да — ролик лежит в бинарном полеdata, идём дальше. Нет — обратно на узел Wait.
Идентификатор задачи работает и из другого сценария или более позднего запуска, если забрать ролик в течение 72 часов.
Что дальше
- Каталог моделей — какие идентификаторы использовать.
- Управление API-ключами — отдельный ключ под n8n с лимитом.
- Расходы — во сколько обошёлся прогон сценария.
- Структурированный вывод — стабильный JSON для следующих шагов сценария.
Обновлено:
Dify
Подключение Hubris к Dify — низкокодовой LLM-платформе для построения чат-приложений, агентов и workflow.
Make
Подключение Hubris к Make (бывший Integromat) — приложение с модулями «Создать текстовый ответ» и «Сгенерировать изображение», готовый сценарий для блога на WordPress и универсальный путь через HTTP-модуль.