hubris
Интеграции
ИНТЕГРАЦИИ

Make

Подключение Hubris к Make (бывший Integromat) — приложение с модулями «Создать текстовый ответ» и «Сгенерировать изображение», готовый сценарий для блога на WordPress и универсальный путь через HTTP-модуль.

Make (бывший Integromat) — визуальный конструктор автоматизаций: сценарий собирается из модулей мышкой, без кода. Hubris подключается двумя способами:

  • Готовое приложение Hubris — два модуля, «Создать текстовый ответ» и «Сгенерировать изображение». Список моделей подтягивается прямо из вашего аккаунта, изображение приходит готовым файлом. Это основной путь.
  • HTTP-модуль — универсальный запасной вариант: работает с любым нашим эндпоинтом, включая те, которых нет в приложении (озвучка, транскрибация, эмбеддинги, видео).

Приложение для Make собрал Максим Соколов — наш пользователь, а не команда Hubris. Мы отвечаем за API и за то, что описано ниже; вопросы по устройству самого приложения и пожелания к нему — к автору. Если что-то не сходится с этой страницей — напишите нам, разберёмся вместе.

Требования

  • Аккаунт Make
  • Аккаунт на hubris.pw, пополненный баланс и API-ключ формата sk-gw-...

Приложение ставится на аккаунт любого тарифа. Учтите только: Make относит сторонние приложения к платным категориям, и на бесплатном тарифе запуск сценария может упереться в сообщение вида «premium app» — это ограничение Make, а не наше. Тогда пригодится HTTP-модуль (см. ниже) — он штатный и такого ограничения не имеет.

Установка приложения

Приложение не опубликовано в общем каталоге Make — оно ставится по ссылке-приглашению.

  1. Войдите в свой аккаунт Make.
  2. Откройте ссылку: Установить приложение Hubris
  3. Подтвердите установку. Приложение появится в вашей организации — дальше оно ищется в списке модулей по слову Hubris.

Ссылка ведёт на зону us2. Если ваш аккаунт живёт в другой зоне (eu1, eu2, us1 — видно в адресной строке Make), сначала войдите в Make, а потом откройте ссылку: установка идёт в ту организацию, которая выбрана в вашей сессии. Если Make всё-таки показывает ошибку — напишите нам.

Создание подключения

Подключение (Connection) создаётся один раз и потом переиспользуется во всех модулях сценария.

  1. Добавьте в сценарий любой модуль Hubris.
  2. В поле Connection нажмите Add.
  3. Заполните:
ПолеЗначение
Connection nameлюбое понятное имя, например Hubris
API Keyваш ключ формата sk-gw-... — создать в личном кабинете
  1. Сохраните. Make сразу проверит ключ запросом к нашему каталогу моделей — если подключение создалось, ключ рабочий.

Ключ живёт в хранилище подключений Make и в самом сценарии не показывается. Разумно завести под Make отдельный ключ с дневным лимитом — тогда ошибка в сценарии (например, бесконечный цикл) не съест весь баланс.

Модуль «Создать текстовый ответ»

Отправляет запрос к языковой модели и возвращает текст. Подходит для генерации статей и писем, кратких пересказов, классификации обращений, извлечения данных из текста.

Параметры

ПолеЧто задаёт
ПровайдерСемейство моделей: ChatGPT, Claude, Gemini, DeepSeek, Llama, Mistral, Qwen, Grok, Kimi, GLM. Это фильтр для следующего поля.
ModelКонкретная модель. Список подгружается из вашего аккаунта Hubris при открытии модуля — то есть всегда актуальный.
PromptОсновной текст запроса. Поле многострочное; чтобы подставлять данные предыдущих шагов, включите режим сопоставления (иконка Map) и вставляйте переменные вида {{1.text}}.
Prompt (2-е сообщение)Необязательное второе сообщение с ролью system. Удобно, когда одна часть промпта постоянная (правила, тон, формат), а вторая приходит из сценария. Если поле заполнено, первое сообщение тоже отправляется как system.
RoleРоль первого сообщения: user, system или assistant. По умолчанию user.
Max TokensПотолок длины ответа в токенах. По умолчанию 6000.
TemperatureРазброс ответов, от 0 до 2. Ниже — стабильнее и суше, выше — свободнее. По умолчанию 1.
Top PАльтернативный способ ограничить разброс, от 0 до 1. Обычно трогают либо Temperature, либо Top P.
Response FormatText — обычный текст. JSON Object — модель обязана ответить корректным JSON.
Parse JSON ResponseРазбирает ответ модели в поле Result. Подробности ниже.

Поля Провайдер и Model нельзя подставить переменной — модель выбирается из списка руками. Если модель нужно переключать по ходу сценария (например, дешёвая для простых заявок, сильная для сложных), поставьте перед модулями Router с двумя ветками или используйте HTTP-модуль.

Что возвращает

ПолеЗначение
Text ResponseОтвет модели текстом — то, что нужно в 90 % сценариев.
ResultРазобранный JSON (только при включённом Parse JSON Response).
ModelИдентификатор модели, которая реально ответила.
IDИдентификатор запроса — пригодится, если будете искать его в логах.
Finish ReasonПочему модель остановилась: stop — договорила сама, length — упёрлась в Max Tokens.
Usage → Prompt / Completion / Total TokensСколько токенов ушло на запрос и ответ.
Usage → CostСтоимость запроса в копейках. 1250 — это 12,50 ₽. Удобно складывать за прогон и писать в таблицу.

Ответ в формате JSON

Когда нужен не связный текст, а структура (заголовок, описание, теги), попросите модель ответить JSON и разберите его. Есть два пути.

Надёжный путь, любые поля. Поставьте Response Format = JSON Object, Parse JSON Response оставьте выключенным, а следом добавьте штатный модуль Make JSON → Parse JSON. Он разберёт Text Response и покажет в сопоставлении все поля вашей структуры.

Быстрый путь. Включите Parse JSON Response — разобранный ответ придёт в поле Result. Оговорка: в списке для сопоставления у Result показаны заранее заданные ключи (filename, title, alt, caption, info) — их зашил автор приложения под свой сценарий. Если ваша структура другая, поля просто не появятся в подсказках, и удобнее взять первый путь.

В самом промпте всегда описывайте нужную структуру словами и приводите пример — модель ориентируется на него. Режим JSON Object поддерживают не все модели: если выбранная его не понимает, запрос вернётся ошибкой — тогда оставьте Response Format = Text и опишите формат словами либо возьмите модель с пометкой о структурированном выводе в каталоге. Подробнее — в разделе Структурированный вывод.

Модуль «Сгенерировать изображение»

Рисует картинку по текстовому описанию и отдаёт её готовым файлом — дальше его можно сразу положить в Google Drive, загрузить в WordPress, отправить в Telegram или приложить к письму, без промежуточных модулей.

Параметры

ПолеЧто задаёт
ПровайдерСемейство: Gemini Image, GPT Image, FLUX, Recraft, Seedream, Riverflow, Grok Imagine, MiniMax, Qwen Image, Wan.
ModelКонкретная модель, список подгружается из вашего аккаунта.
PromptОписание картинки. Поддерживает сопоставление — можно собирать из данных предыдущих шагов.
QualityMedium — размер 1K, High — 2K. Влияет на стоимость.
Aspect Ratio1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2. Соотношения 2:3 и 3:2 отправляются как ближайшие поддерживаемые — 3:4 и 4:3.

Quality и Aspect Ratio учитывают модели линеек Gemini Image и GPT Image. Остальные линейки (FLUX, Recraft, Seedream и прочие) задают размер сами — там эти поля ни на что не влияют.

Что возвращает

ПолеЗначение
DataСамо изображение — двоичный файл. Именно его принимают модули Google Drive, Dropbox, WordPress, Telegram, Email.
File NameИмя файла с правильным расширением (.png, .jpg, .webp).
MIME TypeТип содержимого — например image/png.
Text CommentТекстовый комментарий модели к картинке, если она его дала.
ModelМодель, которая рисовала.
Endpoint UsedКаким путём ушёл запрос: chat или images. Полезно при разборе ошибок.
First Image URL / Image URLsСсылка на изображение (у части моделей это data:-строка, а не веб-адрес).

Модели Gemini Image и GPT Image приложение вызывает через /v1/chat/completions, остальные — через /v1/images/generations. Это видно в поле Endpoint Used и объясняет, почему набор влияющих настроек у линеек разный. Подробнее про оба пути — в разделе Генерация изображений.

Готовый сценарий: блог на WordPress

Чтобы не собирать конвейер с нуля, возьмите готовый: скачать wordpress-seo.blueprint.json. Сценарий берёт тему из Google Таблицы, пишет статью, рисует обложку, заливает её в медиатеку сайта и создаёт запись в WordPress.

Цепочка из девяти модулей:

  1. Google Sheets → Get a Cell — очередная тема из таблицы.
  2. Hubris → Создать текстовый ответ — статья по теме: заголовки, списки, блок вопросов, финальный призыв со ссылкой.
  3. Hubris → Создать текстовый ответ — промпт для обложки по той же теме.
  4. Hubris → Сгенерировать изображение — сама обложка.
  5. Hubris → Создать текстовый ответ — имя файла, заголовок, alt-текст, подпись и описание картинки (ответ в JSON).
  6. WordPress → Create a Media Item — обложка попадает в медиатеку с заполненными alt и подписью.
  7. Markdown → Markdown to HTML — статья переводится из Markdown в HTML.
  8. WordPress → Create a Post — запись создаётся черновиком, обложка привязывается к ней.
  9. Google Sheets → Delete a Row — отработанная тема вычёркивается из таблицы.

Как импортировать

  1. В Make: Create a new scenario → меню ··· в правом нижнем углу → Import Blueprint → выберите скачанный файл.
  2. Откройте каждый модуль и подставьте свои подключения: Hubris, Google Sheets, WordPress.
  3. В модулях Google Sheets выберите свою таблицу и лист — в файле они намеренно не заданы. Формат таблицы простой: темы идут списком в столбце A, сценарий читает ячейку A1, а в конце удаляет первую строку — следующая тема поднимается наверх сама.
  4. Во втором модуле (статья) в поле Prompt (2-е сообщение) замените https://example.com и анкор на свои — иначе в конце статьи окажется ссылка-заглушка.
  5. Запустите один прогон и посмотрите черновик в WordPress. Когда результат устроит, поменяйте в модуле Create a Post статус с draft на publish.

Модели в файле проставлены рабочие, но их можно менять: для более выразительного текста — модель посильнее из каталога, для картинок — любая image-модель.

Стоимость каждого прогона видна в поле Usage → Cost и в логах — там же можно отфильтровать запросы по ключу, если под Make заведён отдельный.

Универсальный путь: HTTP-модуль

Приложение закрывает текст и картинки. Всё остальное — озвучку, транскрибацию, эмбеддинги, видео, вызов инструментов, картинку на входе — можно взять штатным модулем HTTP → Make a request:

URL:     https://api.hubris.pw/v1/chat/completions
Method:  POST
Headers:
  Authorization: Bearer sk-gw-...
  Content-Type:  application/json
Body type: Raw → JSON (application/json)
Request content:
{
  "model": "anthropic/claude-haiku-4.5",
  "messages": [
    {"role": "user", "content": "{{1.text}}"}
  ]
}

Включите Parse response, чтобы Make сам разобрал JSON — тогда ответ доступен как {{2.choices[1].message.content}} (в Make нумерация элементов массива начинается с единицы). Таймаут в настройках модуля стоит поднять до 300 секунд: длинные тексты и рассуждающие модели отвечают не мгновенно.

Полный список эндпоинтов — в справочнике API.

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

Сценарии Make — это обычно поток однотипных запросов, где важнее цена и скорость, чем предельное качество рассуждений.

МодельКогда уместна
anthropic/claude-haiku-4.5классификация, короткие ответы, извлечение данных
openai/gpt-4o-miniуниверсальный недорогой выбор
anthropic/claude-sonnet-4.5статьи, письма, тексты, где виден стиль
google/gemini-2.5-flash-imageбыстрые иллюстрации и обложки
black-forest-labs/flux.2-proфотореалистичные изображения

Полный каталог с ценами и фильтрами — на странице Модели.

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

Список моделей пустой или крутится вечно

Приложение запрашивает модели по вашему ключу. Пустой список означает, что запрос не прошёл: проверьте подключение (пересоздайте его с ключом заново) и то, что ключ не отозван в личном кабинете. Ещё вариант — у выбранного провайдера просто нет моделей нужного типа: например, у Recraft нет текстовых.

«Неверный API-ключ Hubris» (401)

Ключ не подошёл. Он должен начинаться с sk-gw- и не содержать пробелов и переносов строк — при копировании из письма или мессенджера легко прихватить лишнее.

«Недостаточно баланса» (402)

Баланс кончился. Пополнить — в личном кабинете, минимум 300 ₽. Полезно включить автопополнение, чтобы ночной сценарий не встал на середине.

«Модель не найдена» (404)

Модель убрали из каталога или переименовали — такое случается, когда производитель снимает версию с публикации. Откройте поле Model и выберите модель заново.

«Превышен дневной лимит API-ключа» (429)

Сработал суточный лимит расхода, заданный для ключа. Поднять или снять — в настройках ключа. Лимит считается по скользящим 24 часам.

Сценарий падает по таймауту

Ограничение на один запрос в модулях приложения — 300 секунд, этого хватает почти всегда. Если используете HTTP-модуль, проверьте его собственное поле Timeout: по умолчанию там куда меньше. И помните про ограничение Make на длительность всего сценария на вашем тарифе.

Ответ обрывается на полуслове

Finish Reason = length означает, что упёрлись в Max Tokens. Поднимите значение — для длинной статьи 6000 может не хватить.

Что дальше

Обновлено: