Claude + n8n: AI-воркфлоу на власному VPS
Підключіть Claude до n8n на власному VPS: credentials, вибір моделі для вузлів, 3 готові AI-воркфлоу, розрахунок вартості та типові помилки.
Що ви створюєте
Три робочі AI-воркфлоу в інстансі n8n, який уже запущено: webhook, що підсумовує все, що ви йому передаєте; запланований feed reader, який перетворює статті на структуровані рядки електронної таблиці; і AI Agent, який самостійно викликає HTTP API, щоб відповідати на запитання. Це no-code-альтернатива виклику Claude API з Python на вашому VPS: той самий API, ті самі токени, той самий рахунок, але оркестрація виконується у вузлах n8n, а не в скрипті.
Я припускаю, що n8n уже працює за HTTPS відповідно до інструкції зі self-hosted n8n у Docker. Якщо це не так, спочатку налаштуйте його. Для webhook потрібен справжній TLS endpoint, а сховищу облікових даних, куди ви зараз додасте API key, потрібна резервна копія encryption key, про яку попереджає ця інструкція.
Основні проблеми тут не пов’язані з перетягуванням елементів. Вони стосуються вибору моделі для кожного вузла, полів prompt, у яких непомітно підставляється undefined, і того, що автоматизація працює без нагляду. Workflow, виконання якого коштує пів цента, залишається дешевим, доки цикл повторних спроб не запустить його чотири тисячі разів за ніч. Більшу частину цієї інструкції присвячено саме цим питанням.
Один обліковий секрет, зашифрований ключем із резервної копії
Отримайте API key в Anthropic Console на platform.claude.com: відкрийте Settings, потім API Keys і створіть ключ із назвою на кшталт n8n-vps. Його буде показано лише один раз. Під час створення ключа Console також запропонує вибрати термін дії. Запишіть дату, оскільки прострочений ключ зупинить автоматизований workflow з тією самою помилкою 401, яку описано нижче в розділі про типові помилки. Поповніть обліковий запис або налаштуйте billing. Використання API оплачується за кількістю токенів із передплачених кредитів. Підписка Pro цього не покриває. Однак плани Claude Max і Team тепер містять щомісячні кредити Claude API ($100 у Max 5x, $200 у Max 20x і спільний ліміт до $500 у Team). Щоб отримати ці кредити, прив’яжіть організацію Console у billing settings на claude.ai. Кредити оплачують API-виклики, зокрема ті, які виконує n8n. Вони не покривають Claude Code і завершують дію наприкінці кожного billing cycle. Якщо ви планували створити ці три workflow без оплати, у pricing FAQ Anthropic зазначено, що нові користувачі отримують невеликий обсяг безкоштовних кредитів для тестування API. Тому новий обліковий запис Console може запускати ці workflow за рахунок стартових кредитів, перш ніж ви додасте billing. Після їх вичерпання кожен виклик Claude оплачується за кількістю токенів. Деякі операції також не мають додаткової вартості, крім токенів. Наприклад, endpoint підрахунку токенів і до 1,550 безкоштовних годин виконання коду на організацію щомісяця. Проте жоден із цих трьох workflow не використовує виконання коду. У розділі Що покривають безкоштовні API-кредити наведено подробиці.
У n8n відкрийте Credentials, виберіть Create credential, вкажіть Anthropic, вставте ключ у поле API Key і збережіть credential. Кожен вузол Claude у кожному workflow використовує цей збережений credential. Не вставляйте ключ безпосередньо у вузол.
Два робочі зауваження. По-перше, n8n шифрує збережені credentials за допомогою N8N_ENCRYPTION_KEY. Якщо ви явно встановили цю змінну середовища у compose-файлі відповідно до посібника n8n, credential збережеться після повторного створення контейнерів. Якщо n8n згенерує ключ самостійно, а ви потім втратите volume, кожен збережений credential, зокрема цей ключ, стане невідновлюваним шифротекстом. Якщо ви пропустили резервне копіювання, зробіть його зараз. По-друге, вважайте сховище credentials n8n межею потенційного впливу: кожен, хто може використовувати ваш Anthropic credential, може виконувати запити з вашим ключем. У Community edition це ви та власник інстансу. У документації n8n зазначено: «Лише власник інстансу та користувач, який їх створив, можуть отримувати доступ до workflow і credentials», тому інші облікові записи з роллю Member не мають до них доступу. Спільний доступ до workflow і credentials є платною функцією self-hosted n8n (Business або Enterprise). Після надання спільного доступу до workflow його редактори можуть використовувати кожен credential, який застосовує цей workflow. Тому, якщо хтось інший входить до цього інстансу, прочитайте які засоби контролю доступу доступні в платній ліцензії n8n, перш ніж створювати облікові записи. У Console в розділі Settings встановіть ліміт витрат, щоб скомпрометований або некерований інстанс не перевищив визначений ліміт.
Вибір моделі для кожної ноди
Список моделей у Claude-нодах n8n завантажується безпосередньо з API, тому в ньому відображаються моделі, до яких має доступ ваш ключ. У цьому посібнику використовуються такі моделі з цінами API за мільйон вхідних і вихідних токенів станом на October 2026: Claude Haiku 4.5 (claude-haiku-4-5) за $1/$5 із контекстним вікном 200K, Claude Sonnet 5 (claude-sonnet-5) за $2/$10 і Claude Opus 4.8 (claude-opus-4-8) за $5/$25 — обидві з контекстним вікном 1M токенів. Також доступна Claude Fable 5 (claude-fable-5) за $10/$50 для найскладніших задач міркування; у цьому посібнику вона не потрібна. Використовуйте саме ці ID. claude-haiku-4-5 — це псевдонім зафіксованого знімка claude-haiku-4-5-20251001, який також працює, але датований ID, скопійований зі старого посібника, може вказувати на модель, яку вже знято з підтримки, і спричинити помилку. Ціни змінюються, тому перевіряйте platform.claude.com, перш ніж покладатися на будь-які наведені цифри, зокрема в цьому посібнику.
Від часу першої публікації цього посібника Anthropic випустила новіші моделі, а в документації Haiku 4.5, Sonnet 5, Opus 4.8 і Fable 5 тепер позначені як застарілі. Вони все ще працюють. На сторінці deprecations указано, що Haiku 4.5 буде знято з підтримки не раніше October 15, 2026; ця дата вже минула, але станом на October 20, 2026 на сторінці Haiku 4.5 усе ще позначена як активна, без повідомлення про припинення підтримки. Sonnet 5, Opus 4.8 і Fable 5 буде знято з підтримки не раніше середини 2027 року. Anthropic повідомляє щонайменше за 60 днів до припинення підтримки публічно випущеної моделі, тому стежте за її сторінкою deprecations, якщо ваші workflow фіксують Haiku 4.5. Поточна лінійка містить Claude Haiku 5.5 (claude-haiku-5-5, випущена October 7, 2026) — від $0.10/$0.50 для запитів обсягом до 100,000 токенів і $0.50/$2.50 для більших запитів, Claude Sonnet 5.5 (claude-sonnet-5-5) за $2/$10, Claude Opus 5.5 (claude-opus-5-5) за $4/$20 і Claude Fable 5.1 (claude-fable-5-1) за $10/$50. Токенізатор Haiku 5.5 підраховує той самий текст приблизно як на 30% більше токенів, ніж Haiku 4.5, тому порівнюйте фактичну вартість кожного запуску на сторінці usage у Console, а не лише ціни зі списку.
Потрібно сформувати таку звичку: вибирайте модель для кожної ноди, а не для всієї платформи. Класифікація, витягування даних, узагальнення та маршрутизація — основні задачі автоматизації — чудово працюють на Haiku, ціна якого за списком удвічі нижча, ніж у Sonnet, і вп’ятеро нижча, ніж у Opus. Використовуйте Sonnet для агентів і багатокрокового міркування, а Opus — для рідкісних workflow, у яких неправильна відповідь коштує дорожче за витрачені токени. Workflow із п’ятьма Claude-нодами може і повинен поєднувати різні моделі.
Два вузли Claude і де який використовувати
n8n має дві окремі інтеграції з Anthropic. Вибір неправильної інтеграції — найпоширеніша помилка початківців.
Вузол Anthropic — це звичайний вузол застосунку: один вхідний запит і одна вихідна відповідь. Його ресурс Text має операцію Message a Model, а також операції для аналізу зображень і документів. Використовуйте його, коли логіка workflow реалізується в n8n: тригер, виклик Claude, наступний вузол. У наведених нижче workflow 1 і 2 використовується цей вузол або його еквівалент у ланцюжку.
Вузол Anthropic Chat Model — це sub-node, невелике вкладення, яке надає модель кореневому вузлу, наприклад AI Agent або Basic LLM Chain. Він не має власного тригера й вихідних даних. Вузол містить вибір моделі та параметри семплювання, зокрема Maximum Number of Tokens і Sampling Temperature. Важливе застереження з документації n8n: вирази всередині sub-node завжди обчислюються щодо першого вхідного елемента, а не кожного елемента окремо. Тому вирази для окремих елементів потрібно додавати в поля промпту кореневого вузла, а не в sub-node. Є також обмеження з боку Anthropic: у моделях Claude 4.7 і новіших — тобто в усіх моделях цього посібника, крім Haiku 4.5, — значення temperature, top_p або top_k, відмінне від стандартного, спричиняє помилку 400. Тому для цих моделей залишайте Sampling Temperature, Top K і Top P не заданими.
Workflow 1: вхідний webhook, вихідний підсумок
Базовий приклад автоматизації AI: усе, що надходить через POST на URL, підсумовується, а результат надсилається в Slack або на вашу електронну пошту.
- Вузол Webhook, метод HTTP POST, шлях
summarize. n8n надає тестовий і робочий URL; робочий URL починає приймати запити лише після публікації workflow. - Вузол Anthropic, дія Message a Model, модель
claude-haiku-4-5, Max Tokens приблизно 300. - Вузол Slack (або Send Email), який надсилає текст відповіді в канал.
Саме в prompt expressions n8n взаємодіють із Claude. Тіло POST-запиту доступне в $json.body, тому поле повідомлення користувача має такий вигляд:
Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.
{{ $json.body.text }}Інструкції щодо ролі та формату вказуйте в полі system prompt вузла, а не в повідомленні користувача. System prompt залишається незмінним, тоді як payload змінюється. Це забезпечує стабільну поведінку та робить prompt зрозумілим і через шість місяців. Перевірте workflow безпосередньо з VPS:
curl -X POST https://n8n.example.com/webhook/summarize \
-H 'Content-Type: application/json' \
-d '{"text": "Third support ticket this month about slow disk IO..."}'Вартість одного запуску на Haiku: payload обсягом 1,200 токенів разом із prompt коштує приблизно $0.0012 для вхідних даних, а 300 вихідних токенів — $0.0015, тобто приблизно чверть цента. Тисяча запусків на місяць коштує менше $3. Той самий вузол із моделлю Opus 4.8 коштує приблизно вп’ятеро дорожче. Якщо помножити це співвідношення на кожен workflow, який ви створюєте, стає зрозуміло, чому важливо обирати модель на рівні кожного вузла.
Workflow 2: запланований RSS у структуровані рядки
Тепер налаштуємо запуск за розкладом і структурований результат: щогодини читатимемо RSS-стрічку, класифікуватимемо кожен елемент і додаватимемо рядки до таблиці.
- Schedule Trigger, щогодини.
- RSS Read, URL-адреса стрічки. Вузол повертає один елемент для кожної статті.
- Basic LLM Chain із підвузлом Anthropic Chat Model, налаштованим на
claude-haiku-4-5, і підвузлом Structured Output Parser, який містить JSON-схему. - Google Sheets (або Postgres), додавання одного рядка для кожного елемента.
Саме Structured Output Parser перетворює запит «Claude, поверни JSON» із припущення на контракт: він перевіряє відповідь моделі за вашою схемою та явно завершує обробку елемента з помилкою, замість того щоб записувати некоректні рядки. Наприклад, схема може мати такий вигляд:
{
"type": "object",
"properties": {
"category": { "type": "string", "enum": ["release", "security", "tutorial", "other"] },
"relevance": { "type": "number" },
"one_line_summary": { "type": "string" }
},
"required": ["category", "relevance", "one_line_summary"]
}У prompt ланцюжка потрібно вказати елемент стрічки:
Classify this article for a VPS hosting audience.
Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}Розрахунок вартості тут змінюється: оплата нараховується за кожен елемент, а не за кожен запуск. П’ятдесят статей на годину протягом 24 годин на добу — це 36,000 викликів Claude на місяць; для Haiku це може коштувати приблизно $40–90 залежно від обсягу статей, а для Opus — приблизно в п’ять разів дорожче. Виконуйте дедуплікацію перед вузлом LLM: використовуйте простий IF для перевірки посилань, які вже оброблялися, або вузол n8n Remove Duplicates. Це різко зменшує кількість викликів, оскільки під час більшості щогодинних опитувань нових даних немає. Найдешевший токен — той, для якого не потрібно виконувати виклик.
Робочий процес 3: AI Agent, який використовує інструменти
Перші два робочі процеси є конвеєрами: ви визначаєте кроки. Вузол AI Agent працює інакше: ви задаєте Claude мету та інструменти, а він визначає, які інструменти викликати і в якому порядку, доки не завершить завдання. n8n вимагає дочірній вузол chat model і щонайменше один підключений дочірній вузол tool.
Конкретний приклад — ops assistant, який відповідає, «що не працює і чому», використовуючи дані моніторингу:
- Chat Trigger (або webhook) отримує запитання.
- AI Agent із дочірнім вузлом Anthropic Chat Model, налаштованим на
claude-sonnet-5. Агенти планують і поєднують виклики інструментів; Haiku може керувати простими агентами з одним інструментом, але коли кількість інструментів зростає, Sonnet є мінімально доцільним варіантом. - Вузол HTTP Request, підключений як інструмент і спрямований до вашого API стану Uptime Kuma або кінцевої точки Zabbix. Другий HTTP-інструмент може звертатися до будь-якого іншого REST API.
Основну роботу виконують два параметри. System Message агента визначає завдання: «Ви — ops assistant. Перед відповіддю використовуйте інструмент стану, щоб перевірити поточний стан моніторів. Повідомляйте лише монітори, які не працюють, із зазначенням тривалості». А опис кожного інструмента — це не документація для людей, а спосіб, у який Claude визначає, коли його викликати. Опис «Повертає поточний стан up/down усіх моніторіваних сервісів у форматі JSON» спричиняє виклик у потрібний момент; опис «status API» можуть проігнорувати або використати неправильно. Підключивши вузол HTTP Request як інструмент, увімкніть для нього параметр Optimize Response і виберіть потрібні поля JSON. Інакше кожна розлога відповідь API потраплятиме в контекст моделі як вхідні токени, за які ви платите.
Установіть для агента Max Iterations (типове значення — 10) на найменше число, за якого все працює. Саме це визначає, чи «агент здасться після 4 викликів інструментів», чи виконає цикл із десятком обмінів із моделлю. Враховуйте також структуру тарифікації: на кожній ітерації повна історія діалогу — системне повідомлення, запитання та всі попередні результати інструментів — повторно надсилається як вхідні токени. Один запуск агента з шістьма ітераціями легко може містити загалом 20,000 вхідних токенів і 2,000 вихідних: для Sonnet 5 за тарифом $2/$10 це приблизно $0.06; такий запуск можна вважати приблизно у двадцять разів дорожчим за простий запуск сумаризації. Якщо ви починаєте додавати багато інструментів до одного агента, це означає, що запуск MCP-серверів на вашому VPS стане чистішою архітектурою.
Обмеження витрат, коли ніхто не контролює процес
Автоматизованому процесу потрібні засоби контролю, які людина за клавіатурою забезпечує неявно. Використовуйте чотири рівні — від найдешевшого.
Max Tokens у кожному вузлі Claude. Це жорстке обмеження кількості токенів у вихідних даних. Для підсумовувача потрібно 300, для класифікатора — 100. Це обмежує найдорожчу частину витрат: для моделей, описаних у цьому посібнику, вартість 1 мільйона вихідних токенів становить $5–$50, а вхідних — $1–$10; вихідні токени в кожній моделі коштують у п’ять разів дорожче за вхідні. Це також захищає від неконтрольованого виконання: помилка в prompt, через яку Claude генерує надто довгу відповідь, коштуватиме 300 токенів, а не 8,000.
Модель для кожного вузла. Це описано вище. Перехід між Haiku 4.5 і Opus 4.8 змінює ціну в п’ять разів, а до Fable 5 — у десять разів. У всій поточній лінійці, від Haiku 5.5 до Fable 5.1, різниця сягає ста разів для prompt обсягом до 100,000 токенів. Налаштування займає десять секунд.
Обмежте цикли. Встановіть Max Iterations для агентів. У параметрах workflow задайте timeout, щоб зависле виконання завершувалося, а не продовжувало працювати. Також обережно використовуйте Retry On Fail для окремих вузлів: цей параметр призначений для тимчасових помилок, але повторні спроби збільшують витрати. Max Tries зі значенням 3 і Wait Between Tries зі значенням 5000 ms означають, що постійна помилка може списати кошти до трьох разів для кожного елемента, перш ніж workflow завершиться. Не додавайте retry навколо вузла, який уже успішно виконав дорогу операцію.
Error workflow як резервний механізм. Створіть workflow, що починається з вузла Error Trigger і надсилає до Slack назву workflow, у якому сталася помилка, та текст помилки. Потім у параметрах кожного AI workflow виберіть його як Error Workflow. Цей механізм призначений для найгіршого сценарію: workflow із запуском за розкладом завершується помилкою під час кожного запуску, щогодини протягом тижня, і щоразу витрачає токени до завершення. Додатково встановіть місячний ліміт витрат в Anthropic Console та перевіряйте сторінку usage у Console протягом перших кількох днів після активації запланованого workflow. Щоб точно зрозуміти, за що саме виставляється рахунок, перегляньте посібник з використання токенів.
Типові сценарії помилок і відповідні повідомлення
Вузол одразу завершується з помилкою "Authorization failed - please check your credentials." API повернув 401. Тіло відповіді має таку структуру (у поточних відповідях також є поле request_id):
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}Причиною може бути неправильно вставлений ключ, обрізаний ключ, пробіли в кінці або заповнювач із навчального матеріалу. Створіть облікові дані n8n заново та вставте ключ повторно. Якщо вчора все працювало, перевірте в Console, чи не було ключ відкликано або чи не завершився строк його дії. Також перевірте, чи відновлення тому не повернуло облікові дані, зашифровані за допомогою іншого N8N_ENCRYPTION_KEY.
Виконання пакетно завершуються з помилкою 429 rate_limit_error із повідомленням на кшталт "Number of request tokens has exceeded your per-minute rate limit." Обмеження швидкості вимірюються за хвилину та застосовуються за допомогою безперервно поповнюваного token bucket. n8n дуже легко дає змогу одночасно запустити п’ятдесят виконань webhook або RSS. Виправте це на рівні структури workflow: обробляйте елементи послідовно через Loop Over Items, а не паралельно. Увімкніть Retry On Fail, встановіть Max Tries у значення 3, а Wait Between Tries — у максимальне значення 5000 ms. n8n обмежує це поле значенням 5000 ms. Якщо потрібна довша затримка, щоб bucket встиг поповнитися до повторної спроби, додайте Wait у гілку помилки або обробляйте елементи по одному. Помилка 429 через обмеження швидкості зазвичай містить заголовок retry-after, який указує, скільки секунд потрібно чекати. У документації Anthropic зазначено, що такий заголовок є не в кожній відповіді 429. Фіксована затримка n8n не може прочитати це значення, тому довшу паузу потрібно реалізувати самостійно. Є один виняток: помилка 429 без заголовка retry-after і зі значенням error_code, що дорівнює enforced_spend_limit_reached, означає, що організація досягла місячного ліміту витрат свого тарифного рівня. Повторна спроба не допоможе до початку наступного місяця або підвищення тарифного рівня.
404 not_found_error із назвою моделі. Повідомлення містить ID моделі, який ви надіслали, приблизно в такому вигляді:
{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}Причиною можуть бути крапки замість дефісів (4.5 замість 4-5), помилковий або вигаданий суфікс із датою чи застаріла модель із давнього допису в блозі. Перевірте ID за поточним списком моделей. Така помилка часто виникає, коли значення вводять у поле моделі як expression, замість того щоб вибрати модель зі спадного списку.
Claude відповідає на запитання, якого ви не ставили. Помилок немає, а виконання завершується успішно. Expression n8n, що посилається на відсутнє поле, наприклад {{ $json.body.text }}, коли payload містив message, вставляє в prompt буквальний рядок undefined. У результаті Claude відповідає на prompt, який не містить потрібних даних. Якщо згаданий вузол взагалі не виконувався, n8n зупиняється з помилкою про те, що expression посилається на вузол, який "hasn't been executed yet". Однак відсутнє поле не спричиняє помилки. Перед активацією завжди один раз запускайте workflow з реальними даними та перевіряйте фактично сформований prompt на панелі вхідних даних вузла. Редактор expression показує попередній перегляд обчисленого значення, а undefined буде видно одразу.
FAQ
Як підключити Claude до n8n?
Створіть API key в Anthropic Console на platform.claude.com, потім у n8n додайте облікові дані типу Anthropic і вставте ключ у поле API Key. Кожен вузол Claude, вузол Anthropic app і дочірній вузол Anthropic Chat Model використовують ці збережені облікові дані. n8n шифрує їх за допомогою N8N_ENCRYPTION_KEY, тому створіть резервну копію цього ключа, інакше облікові дані буде втрачено разом із volume.
Скільки коштує один запуск AI workflow?
Оцініть кількість tokens на один запуск, а потім помножте її на ціни моделі за мільйон tokens. Станом на October 2026 Haiku 4.5 коштує $1/$5 за мільйон input/output tokens, а Sonnet 5 — $2/$10. Webhook-саммаризація на Haiku коштує приблизно чверть цента. Запуск agent на Sonnet із кількома викликами tools коштує ближче до $0.06–$0.10, оскільки на кожній ітерації вся розмова повторно надсилається як input. Перевіряйте фактичний запуск на сторінці usage у Console, а не покладайтеся на оцінки.
Яку модель Claude використовувати для n8n automations?
Haiku 4.5 підходить для класифікації, вилучення даних, саммаризації та маршрутизації, а також для великого обсягу завдань, де важливі швидкість і ціна. Sonnet 5 підходить для вузлів AI Agent і багатокрокового міркування. Opus 4.8 використовуйте лише тоді, коли помилка коштує достатньо дорого, щоб виправдати його list price $5/$25: це в п’ять разів дорожче за Haiku і у 2.5 раза дорожче за Sonnet. Новіші Anthropic Haiku 5.5, Sonnet 5.5 і Opus 5.5 виконують ті самі ролі за такими самими або нижчими list prices. Встановлюйте модель для кожного вузла, а не для всього workflow: один workflow може поєднувати всі три моделі.
Як не допустити надмірних витрат n8n workflow на Claude API?
Встановіть кілька обмежень: низьке значення Max Tokens у кожному вузлі Claude, Max Iterations для agents, timeout workflow і консервативні параметри Retry On Fail, щоб помилки не збільшували витрати на tokens. Потім додайте workflow з Error Trigger, який надсилатиме сповіщення в Slack, коли будь-який AI workflow завершується з помилкою. Також встановіть місячний ліміт витрат в Anthropic Console як жорстку межу, яку ніщо на VPS не зможе обійти.
Чи коштують виклики tools в AI Agent додатково?
Окремої плати за tool немає, але tools не є безкоштовними: кожен результат tool передається моделі як input tokens, а на кожній ітерації agent повторно надсилає всю розмову до цього моменту. Велика відповідь API, передана без фільтрації, може значно перевищити обсяг вашого фактичного prompt. Увімкніть Optimize Response для tools HTTP Request і повертайте лише поля, потрібні agent.