Разделение затрат по клиентам: отслеживание расхода ИИ-API в общих средах n8n

Чёткое разделение затрат на ИИ-API по клиентам в общем инстансе n8n: отдельный ключ для каждого клиента, Usage- и Cost-API, типичные ловушки.

Рисунок от руки: воронка распределяет поток мелких точек по трём стоящим рядом папкам, в каждой из которых лежит по одному ключу.

Компании, использующие общий инстанс n8n для нескольких клиентов, разделяют их расходы на ИИ не в n8n, а на стороне поставщика модели: для каждого клиента отдельный API-ключ в отдельном проекте OpenAI или отдельном рабочем пространстве Anthropic, данные считываются через Usage- и Cost-API поставщиков. n8n подсчитывает выполнения и время работы, а не евро на клиента. Таким образом, привязка затрат к клиенту возникает уже в момент создания учётных данных (credential), а не только при выставлении счёта. Актуально на: август 2026.

Почему n8n не распределяет расход ИИ по клиентам самостоятельно

n8n измеряет собственную работу, а не счёт от поставщика модели. Согласно документации n8n панель Insights отображает продуктивные выполнения, неудачные выполнения вместе с долей ошибок, сэкономленное время и среднюю продолжительность выполнения. Все четыре показателя описывают рабочие процессы, а не токены и не суммы. Кроме того, панель доступна только в тарифах Pro, Business и Enterprise, тогда как сводный баннер за последние семь дней доступен во всех тарифах. Самостоятельно размещённые (self-hosted) инстансы хранят данные Insights по умолчанию 365 дней, согласно той же документации, а через N8N_INSIGHTS_MAX_AGE_DAYS максимум 730 дней.

Для агентства это означает: вопрос "Какие расходы на ИИ вызвал клиент B в июле?" нельзя корректно ответить средствами самого n8n. Нужен второй источник данных, и он находится у поставщика модели.

Отдельный API-ключ для каждого клиента: здесь и возникает привязка

Несущий уровень привязки затрат — это API-ключ, а не рабочий процесс (workflow). Оба крупных поставщика предлагают для этого отдельный контейнер, и оба отчётных API умеют группировать данные по нему.

  • OpenAI: Создайте для каждого клиента отдельный проект в организации и сформируйте в нём ключ API проекта. Расход впоследствии можно сгруппировать по project_id.

  • Anthropic: Для каждого клиента — отдельное рабочее пространство (workspace), а в нём отдельный API-ключ. Расход и затраты можно анализировать по workspace_id и api_key_id.

  • Важная ловушка: У Anthropic расход из рабочего пространства по умолчанию (Default-Workspace) отображается в отчётах со значением workspace_id, равным null. Даже если там работает всего один клиент, его доля попадает в анонимный общий котёл и впоследствии её уже нельзя восстановить.

  • Также: Использование через Anthropic Workbench не привязано ни к какому API-ключу, api_key_id там остаётся пустым. Поэтому не тестируйте в контексте клиента через консоль.

Как автоматически считывать расход по каждому клиенту?

Оба поставщика предоставляют для этого административные эндпоинты (Admin-эндпоинты), которые требуют отдельный административный ключ, а не обычный API-ключ из вашей учётной записи (credential) n8n. Это сделано намеренно: тот, кто создаёт рабочие процессы, не должен автоматически получать доступ к платёжным данным всей организации.

  • Расход Anthropic: Эндпоинт /v1/organizations/usage_report/messages согласно документации Usage-and-Cost API выдаёт данные с шагом 1m, 1h или 1d и позволяет фильтровать и группировать по API-ключу, рабочему пространству, модели и уровню обслуживания (service tier).

  • Затраты Anthropic: /v1/organizations/cost_report выдаёт суммы в долларах США, исключительно с шагом в сутки, с возможностью группировки по workspace_id и description.

  • Расход OpenAI: /v1/organization/usage/completions согласно OpenAI Cookbook по Usage API поддерживает те же три интервала времени и группировки project_id, api_key_id, user_id, model и batch.

  • Затраты OpenAI: /v1/organization/costs также работает только с шагом в сутки.

От двух деталей зависит, выдержит ли анализ ежемесячный расчёт. Anthropic указывает, что данные о расходе и затратах обычно появляются в течение пяти минут: для выставления счёта этого достаточно, а для жёсткой блокировки в реальном времени — нет. А с шагом в сутки Usage API Anthropic по умолчанию выдаёт 7 интервалов (buckets), максимум 31. Календарный месяц едва помещается в один запрос, а квартальному отчёту требуется постраничная выборка (пагинация).

Без группировки оба API возвращают поля привязки пустыми. Документация OpenAI прямо указывает, что такие поля, как project_id без group_by приходят как null. Кто это упускает, держит в руках корректную общую сумму и принимает её за разбивку по клиентам.

Что вам всё же нужно поддерживать в порядке в n8n

Сторона поставщика отвечает за цифры, сторона n8n — за порядок. Проекты в n8n группируют рабочие процессы и учётные данные (credentials) и позволяют назначать разные роли для разных пользователей. Именно поэтому учётные данные клиента должны находиться в проекте клиента, а не в личной области консультанта: иначе в следующем квартале рабочий процесс может случайно оказаться привязан не к тому ключу, и разбивка по клиентам незаметно перестанет быть верной.

Однако это требует более высоких тарифных планов. Страница тарифов n8n указывает, что тариф Starter включает 1 общий проект за 20 евро в месяц (при годовой оплате), Pro — 3 проекта за 50 евро, Business — 6 проектов за 667 евро, а Enterprise — неограниченное число проектов на условиях по договорённости (по состоянию на: август 2026). Права на основе ролей, согласно документации n8n, доступны во всех тарифах, кроме Community Edition. Тот, кто размещает семь клиентов в инстансе Pro, получает всего три проекта на семь клиентов и вынужден воссоздавать разделение с помощью соглашений об именовании и тегов — это работает, но требует дисциплины.

В проектах NordFlux хорошо зарекомендовал себя простой принцип: сохранять одинаковое сокращённое название клиента в имени проекта, учётных данных и рабочего пространства поставщика. Тогда ежемесячную сверку между отчётом поставщика и данными n8n можно проводить чисто текстово, а сокращение, которое встречается только в отчёте поставщика, выдаёт забытый старый ключ. Вопрос лицензии — кто вообще вправе эксплуатировать общий инстанс — не зависит от этого и описан в Может ли моё агентство размещать n8n для клиентов?.

Что это означает для счёта клиенту?

На практике работают две модели тарификации, третья — нет. Прямая передача с наценкой честно отражает колебания и подходит, если клиент сам управляет использованием, например, в случае чат-ассистента. Фиксированная плата с лимитом расхода подходит, если рабочий процесс запускается по событию и объём предсказуем, например, при классификации входящих писем. Не работает фиксированная плата без лимита: клиент, удвоивший свой объём, удваивает ваши затраты, а не свои.

Насколько дорогой окажется конкретная модель в рабочем процессе, зависит от выбора модели на каждом шаге. Об этом, а также о настройке самих учётных данных, необходимая информация есть в Подключение Claude/OpenAI: учётные данные, выбор модели, контроль затрат. Если вы не хотите самостоятельно выстраивать мультиарендную (multi-tenant) среду, мы поддержим вас в рамках нашей консультации по n8n.

Часто задаваемые вопросы

Достаточно ли просто помечать (тегировать) рабочий процесс n8n для каждого клиента?

Нет. Теги упорядочивают рабочие процессы, но не влияют на выставление счетов поставщиком модели. Без раздельных API-ключей вы получите общий счёт, который впоследствии можно только оценить приблизительно. Теги полезны как второй уровень упорядочивания, но не как замена раздельных ключей.

Могу ли я использовать один-единственный ключ и разделять клиентов через поле "user"?

У OpenAI возможна группировка по user_id, технически это работает. Но это более слабое разделение: опечатка в поле создаёт нового псевдоклиента, а скомпрометированный ключ сразу затрагивает всех клиентов. Раздельные проекты или рабочие пространства надёжнее и, кроме того, их можно деактивировать по отдельности.

Как часто следует запрашивать данные о расходе?

Для выставления счетов достаточно ежемесячного запроса. Для предупреждения о превышении бюджета имеет смысл ежедневный запрос, который вы можете реализовать сами как рабочий процесс n8n. Anthropic указывает, что поддерживается запрос раз в минуту при непрерывной работе, а результаты для дашбордов следует кэшировать.

Обязательно ли для этого нужна лицензия Enterprise от n8n?

Для самой привязки затрат — нет, это происходит на стороне поставщика модели и не зависит от лицензии n8n. Для чёткого разделения проектов и прав внутри общего инстанса вам нужен как минимум тариф с правами на основе ролей, то есть не Community Edition, а начиная примерно с горстки клиентов — больше проектов, чем предлагают Starter и Pro.

Симон Гловик, основатель NordFlux
Об авторе

Основатель NordFlux. Семь лет опыта, от веба и SEO до автоматизации в масштабах концерна, сегодня прагматично для среднего бизнеса и с немецким суверенитетом данных.

Сертификаты

  • Сертифицирован Microsoft — PL-900 и AZ-900
  • Сертифицирован UiPath — Automation Developer Associate
Все статьи
Бесплатный первичный анализ

Конкретные вопросы по автоматизации или КИ?

В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.