Make
Подключение Hubris к Make (бывший Integromat) — приложение с модулями «Создать текстовый ответ» и «Сгенерировать изображение», готовый сценарий для блога на WordPress и универсальный путь через HTTP-модуль.
Make (бывший Integromat) — визуальный конструктор автоматизаций: сценарий собирается из модулей мышкой, без кода. Hubris подключается двумя способами:
- Готовое приложение Hubris — два модуля, «Создать текстовый ответ» и «Сгенерировать изображение». Список моделей подтягивается прямо из вашего аккаунта, изображение приходит готовым файлом. Это основной путь.
- HTTP-модуль — универсальный запасной вариант: работает с любым нашим эндпоинтом, включая те, которых нет в приложении (озвучка, транскрибация, эмбеддинги, видео).
Приложение для Make собрал Максим Соколов — наш пользователь, а не команда Hubris. Мы отвечаем за API и за то, что описано ниже; вопросы по устройству самого приложения и пожелания к нему — к автору. Если что-то не сходится с этой страницей — напишите нам, разберёмся вместе.
Требования
Приложение ставится на аккаунт любого тарифа. Учтите только: Make относит сторонние приложения к платным категориям, и на бесплатном тарифе запуск сценария может упереться в сообщение вида «premium app» — это ограничение Make, а не наше. Тогда пригодится HTTP-модуль (см. ниже) — он штатный и такого ограничения не имеет.
Установка приложения
Приложение не опубликовано в общем каталоге Make — оно ставится по ссылке-приглашению.
- Войдите в свой аккаунт Make.
- Откройте ссылку: Установить приложение Hubris
- Подтвердите установку. Приложение появится в вашей организации — дальше оно ищется в списке модулей по слову
Hubris.
Ссылка ведёт на зону us2. Если ваш аккаунт живёт в другой зоне (eu1, eu2, us1 — видно в адресной строке Make), сначала войдите в Make, а потом откройте ссылку: установка идёт в ту организацию, которая выбрана в вашей сессии. Если Make всё-таки показывает ошибку — напишите нам.
Создание подключения
Подключение (Connection) создаётся один раз и потом переиспользуется во всех модулях сценария.
- Добавьте в сценарий любой модуль Hubris.
- В поле Connection нажмите Add.
- Заполните:
| Поле | Значение |
|---|---|
| Connection name | любое понятное имя, например Hubris |
| API Key | ваш ключ формата sk-gw-... — создать в личном кабинете |
- Сохраните. 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 Format | Text — обычный текст. 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 | Описание картинки. Поддерживает сопоставление — можно собирать из данных предыдущих шагов. |
| Quality | Medium — размер 1K, High — 2K. Влияет на стоимость. |
| Aspect Ratio | 1: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.
Цепочка из девяти модулей:
- Google Sheets → Get a Cell — очередная тема из таблицы.
- Hubris → Создать текстовый ответ — статья по теме: заголовки, списки, блок вопросов, финальный призыв со ссылкой.
- Hubris → Создать текстовый ответ — промпт для обложки по той же теме.
- Hubris → Сгенерировать изображение — сама обложка.
- Hubris → Создать текстовый ответ — имя файла, заголовок, alt-текст, подпись и описание картинки (ответ в JSON).
- WordPress → Create a Media Item — обложка попадает в медиатеку с заполненными alt и подписью.
- Markdown → Markdown to HTML — статья переводится из Markdown в HTML.
- WordPress → Create a Post — запись создаётся черновиком, обложка привязывается к ней.
- Google Sheets → Delete a Row — отработанная тема вычёркивается из таблицы.
Как импортировать
- В Make: Create a new scenario → меню
···в правом нижнем углу → Import Blueprint → выберите скачанный файл. - Откройте каждый модуль и подставьте свои подключения: Hubris, Google Sheets, WordPress.
- В модулях Google Sheets выберите свою таблицу и лист — в файле они намеренно не заданы. Формат таблицы простой: темы идут списком в столбце
A, сценарий читает ячейкуA1, а в конце удаляет первую строку — следующая тема поднимается наверх сама. - Во втором модуле (статья) в поле Prompt (2-е сообщение) замените
https://example.comи анкор на свои — иначе в конце статьи окажется ссылка-заглушка. - Запустите один прогон и посмотрите черновик в 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 может не хватить.
Что дальше
- Каталог моделей — какие модели доступны и сколько стоят.
- Управление ключами — отдельный ключ под Make с дневным лимитом.
- Расходы — во сколько обошлись прогоны сценариев.
- Структурированный вывод — как получать стабильный JSON.
- Генерация изображений — параметры моделей и оба пути вызова.
Обновлено: