# FLUX.2 pro и LoRA в n8n: автоматизация фото товара, 3 маршрута

> У FLUX.2 [pro] нет входа для LoRA. В n8n фото товара удерживают референсы [pro] или LoRA на [klein] у BFL и [dev] у fal: от $0,015 до $0,045 за кадр 1 Мп.

- Source: https://www.aifreeapi.com/ru/posts/flux-2-pro-lora-product-photography-n8n
- Language: ru
- Published: 2026-10-02
- Updated: 2026-10-02
- Publisher: AI Free API (https://www.aifreeapi.com)

Подключить LoRA к FLUX.2 [pro] нельзя: в запросе к этой модели нет поля для LoRA ни в API Black Forest Labs (BFL), ни на fal. Один и тот же товар в десятках сцен [pro] удерживает по опорным изображениям — референсам, до 8 штук на запрос. Сама LoRA работает на соседних моделях: на FLUX.2 [klein] через эндпоинты `-finetuned` у BFL и на FLUX.2 [dev] у fal. По состоянию на 2 октября 2026 года для воркфлоу в n8n есть три рабочих маршрута:

| Маршрут | Что удерживает товар | Эндпоинт | Цена кадра 1 Мп | Когда брать |
| --- | --- | --- | --- | --- |
| A. FLUX.2 [pro] с референсами | 1–8 фото товара в каждом запросе | `api.bfl.ai/v1/flux-2-pro` | $0,045 с одним референсом | много SKU, по несколько кадров на товар |
| B. LoRA на FLUX.2 [klein] у BFL | LoRA, которую вы обучили сами и загрузили | `api.bfl.ai/v1/flux-2-klein-9b-finetuned` | $0,015 | есть GPU и опыт обучения, большой объём |
| C. LoRA на FLUX.2 [dev] у fal | LoRA, обученная на стороне fal | `queue.fal.run/fal-ai/flux-2/lora` | $0,021 плюс $6,40 за обучение одной LoRA | своего GPU нет, сотни кадров на один товар или стиль |

Каркас в n8n у всех трёх одинаковый: HTTP Request отправляет задачу, Wait делает паузу, второй HTTP Request опрашивает статус, If проверяет готовность, третий HTTP Request скачивает файл. Меняются адрес, заголовок авторизации и тело запроса.

Схема ниже собрана по документации BFL, fal и n8n и на реальных ключах не запускалась. Прежде чем отдавать ей каталог, прогоните один товар и сравните списание с расчётом.

## Можно ли подключить LoRA к FLUX.2 [pro]: такого поля в запросе нет

Нет. [Запрос к `/v1/flux-2-pro`](https://docs.bfl.ai/api-reference/models/generate-or-edit-an-image-with-flux2-%5Bpro%5D) принимает `prompt`, `input_image` и `input_image_2`…`input_image_8`, `width`, `height`, `seed`, `safety_tolerance`, `output_format`, `webhook_url`, `webhook_secret` и `disable_pup`. Полей `finetune_id`, `finetune_strength` или массива `loras` среди них нет. На fal картина та же: у [`fal-ai/flux-2-pro`](https://fal.ai/models/fal-ai/flux-2-pro/api) и его варианта `/edit` параметра `loras` нет.

Прямой фразы «[pro] не поддерживает LoRA» в документации BFL нет. Вывод следует из двух вещей: поля нет в схеме запроса, а в [списке эндпоинтов для дообученных моделей](https://docs.bfl.ai/flux_2/flux2_lora_inference) перечислены только варианты [klein]. Эндпоинтов `-finetuned` для [pro], [max] и [flex] в нём нет.

Путаница возникает из-за названий. «FLUX.2 LoRA» действительно существует, но это [klein] у BFL и [dev] у fal. На сторонних страницах эти возможности нередко приписывают всему семейству, в том числе [pro]. Поэтому проверяйте не обзор модели, а схему конкретного эндпоинта на той площадке, где собираетесь платить.

То же правило относится к FLUX 3 Image, которую BFL выпустила 1 октября 2026 года: принимает ли она LoRA, решает схема её эндпоинта, а не описание модели.

## Какой маршрут выбрать: референсы [pro], LoRA на [klein] или на fal

Решают три вещи: сколько у вас разных товаров, сколько кадров нужно на каждый и готовы ли вы обучать LoRA сами.

**Много SKU и по 3–10 кадров на товар — маршрут A.** Обучать LoRA на каждый артикул ради нескольких сцен невыгодно: на fal одно обучение стоит $6,40, а десять кадров [pro] с одним референсом — $0,45. Референс подставляется в запрос прямо из таблицы каталога, новый товар не требует подготовки. Через API [pro] принимает [до 8 опорных изображений](https://docs.bfl.ai/flux_2/flux2_image_editing), на выходе до 4 Мп. BFL описывает [pro] как модель для производственных объёмов.

**Несколько ключевых товаров или единый стиль бренда и сотни кадров — маршруты B или C.** LoRA окупается, когда одна обученная модель обслуживает длинную серию: сезонные сцены одного флагманского товара или общая манера съёмки для всей линейки. Учтите, что LoRA стиля закрепляет свет, фон и подачу, но не конкретный товар. Если вместе с ней нужен ещё и референс товара, расчёт меняется (см. следующий раздел).

**Маршрут B, если у вас есть видеокарта и вы умеете обучать.** BFL сама ничего не обучает: вы готовите LoRA в AI-Toolkit или Diffusers на базе FLUX.2 [klein] Base, загружаете файл `.safetensors` в Dashboard и вызываете эндпоинт `-finetuned`. По [руководству BFL по обучению](https://docs.bfl.ai/flux_2/flux2_klein_training) минимум для klein 4B Base — 12 ГБ VRAM и 32 ГБ оперативной памяти, для 9B Base — 22 ГБ VRAM и 64 ГБ. Взамен вы получаете самый дешёвый кадр и один счёт у BFL. Ограничения: Public Beta (цены, параметры и имена эндпоинтов могут измениться до общего релиза) и одна LoRA на запрос.

**Маршрут C, если GPU нет.** fal обучает LoRA на FLUX.2 [dev] по архиву фотографий и сразу отдаёт ссылку на веса. В одном запросе можно совместить до 3 LoRA, например товар и стиль бренда. Цена — отдельный счёт у второй площадки и $6,40 за каждое обучение на 1 000 шагов.

Разницу в качестве между [pro], [klein] и [dev] цифры из прайса не показывают. Её выясняет только пробная партия на ваших товарах.

## Сколько стоит один кадр: от $0,015 до $0,045 при 1 Мп

При выходном кадре 1 Мп (1024×1024) и референсах не больше 1 Мп каждая цена за изображение получается такой:

| Запрос | Формула | Цена кадра |
| --- | --- | --- |
| [pro], только текст | $0,03 | $0,030 |
| [pro] + 1 референс | $0,03 + $0,015 | $0,045 |
| [pro] + 2 референса | $0,03 + 2 × $0,015 | $0,060 |
| [pro], выход 2 Мп + 1 референс | $0,03 + $0,015 + $0,015 | $0,060 |
| [klein] 9B `-finetuned`, только текст | $0,015 | $0,015 |
| [klein] 9B `-finetuned` + 1 референс | $0,015 + $0,002 | $0,017 |
| fal [dev] + LoRA, только текст | $0,021 за Мп | $0,021 |
| fal [dev] + LoRA + 1 референс (`/lora/edit`) | $0,021 + $0,021 | $0,042 |

Цены BFL взяты из [её прайса](https://bfl.ai/pricing?category=flux.2): первый мегапиксель выхода, каждый следующий и каждый референс считаются отдельно, разрешение округляется вверх до целого мегапикселя, 1 Мп = 1024×1024. Эндпоинты `-finetuned` на время Public Beta [тарифицируются как базовые](https://docs.bfl.ai/quick_start/pricing). Цены fal указаны на страницах [`fal-ai/flux-2/lora`](https://fal.ai/models/fal-ai/flux-2/lora/api) и [`fal-ai/flux-2-trainer`](https://fal.ai/models/fal-ai/flux-2-trainer/api): обучение стоит 0,0064 × число шагов, то есть $6,40 при 1 000 шагов. Всё в долларах США по состоянию на 2 октября 2026 года.

### С какого кадра LoRA на fal дешевле референса [pro]: с 267-го

Для одного товара сравниваются [pro] с одним референсом и LoRA на fal без референса:

6,40 + 0,021 × n &lt; 0,045 × n, откуда n &gt; 266,7.

![Расчёт границы окупаемости: pro с референсом стоит $0,045 за кадр, LoRA на fal — $6,40 за обучение и $0,021 за кадр; при 266 кадрах дешевле pro, при 267 — LoRA](https://www.aifreeapi.com/posts/ru/flux-2-pro-lora-product-photography-n8n/img/lora-break-even-267.webp)

Проверка по обе стороны границы: при n = 266 LoRA обходится в $11,986, [pro] — в $11,97, дешевле [pro]. При n = 267 LoRA стоит $12,007, [pro] — $12,015, дешевле LoRA. Значит, одна обученная LoRA окупается с 267-го кадра.

Если LoRA закрепляет стиль, а товар всё равно подаётся референсом через `/lora/edit`, граница уходит далеко: 6,40 + 0,042 × n &lt; 0,045 × n даёт n &gt; 2 133,3, то есть LoRA выгоднее только с 2 134-го кадра.

### Пример: 500 кадров на один товар и на сто товаров

| Сценарий (пример) | [pro] + 1 референс | [klein] 9B + LoRA | fal [dev] + LoRA |
| --- | --- | --- | --- |
| 500 кадров одного товара | 500 × $0,045 = $22,50 | 500 × $0,015 = $7,50 | 500 × $0,021 + $6,40 = $16,90 |
| 100 товаров по 5 кадров | $22,50 | $7,50 и 100 обучений на своём GPU | $10,50 + 100 × $6,40 = $650,50 |

Вторая строка показывает, почему для широкого каталога берут референсы: стоимость кадров одинакова, а обучений нужно сто.

Это арифметика по прайсу. В неё не входят брак и повторные генерации, работа по подготовке датасета, собственный GPU и электричество в маршруте B. Граница в 267 кадров сдвигается при другом числе шагов обучения и другом разрешении.

## Каркас воркфлоу в n8n: отправка, Wait, опрос, скачивание

API BFL и очередь fal асинхронные: запрос на генерацию возвращает не картинку, а адрес, по которому нужно спрашивать о готовности. Отдельная нода для BFL в n8n не понадобится, хватит базовых:

1. **Источник товаров** — таблица или база со строками: название, ссылка на фото товара, описание сцены.
2. **Loop Over Items** — делит каталог на партии.
3. **HTTP Request `Submit`** — метод POST, тело JSON, авторизация через учётные данные Header Auth (Authentication → Generic Credential Type → Header Auth).
4. **Wait** — режим After Time Interval, несколько секунд.
5. **HTTP Request `Poll`** — GET по адресу из ответа `Submit`, с тем же заголовком.
6. **If** — готово, ошибка или ещё ждём. В последнем случае ветка возвращается в Wait.
7. **HTTP Request `Download`** — GET по ссылке на результат, Response Format: File, чтобы картинка попала в бинарное поле.
8. **Хранилище** — нода вашего диска или объектного хранилища и запись ссылки обратно в таблицу.

![Каркас воркфлоу n8n: HTTP Request Submit, Wait, HTTP Request Poll, If и HTTP Request Download с возвратом в Wait, отличия заголовков и полей у BFL и fal, лимит 24 активных задач](https://www.aifreeapi.com/posts/ru/flux-2-pro-lora-product-photography-n8n/img/n8n-async-workflow.webp)

Ключ храните в учётных данных, а не в поле URL и не в теле запроса. У BFL заголовок называется `x-key`, у fal — `Authorization` со значением `Key <ваш ключ>`.

Интервал в Wait выбирайте сами: в [официальном примере BFL](https://docs.bfl.ai/quick_start/generating_images) опрос идёт каждые 0,5–1 секунду, минимальный интервал документация не задаёт. По [документации n8n](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/) при паузе короче 65 секунд данные выполнения остаются в памяти и не выгружаются в базу. Добавьте счётчик попыток, чтобы цикл не крутился бесконечно, если задача зависла.

### Маршрут A: FLUX.2 [pro] с референсами товара

`Submit`: POST на `https://api.bfl.ai/v1/flux-2-pro`. Это зафиксированный снимок модели; `/v1/flux-2-pro-preview` указывает на самую свежую версию. Для каталога, где кадры должны быть воспроизводимы от запуска к запуску, логичнее снимок.

```json
{
  "prompt": "Флакон из первого изображения стоит на мраморной столешнице, мягкий дневной свет слева, фон размыт",
  "input_image": "{{ $json.product_photo_url }}",
  "input_image_2": "{{ $json.second_angle_url }}",
  "width": 1024,
  "height": 1024,
  "output_format": "jpeg"
}
```

Референсы передаются ссылкой или в base64. Каждый стоит $0,015, поэтому второй ракурс добавляйте там, где он действительно нужен.

Ответ содержит `id`, `polling_url`, а также `cost`, `input_mp` и `output_mp` — по ним удобно сверить расчёт с первым же запросом.

`Poll`: GET по адресу

```text
{{ $('Submit').item.json.polling_url }}
```

Ссылаться нужно именно на ноду `Submit`: после первого круга в `$json` лежит уже ответ опроса, а `polling_url` в нём нет. Собирать адрес опроса вручную нельзя — для `api.bfl.ai` и региональных `api.eu.bfl.ai`, `api.us.bfl.ai` BFL требует использовать тот, что вернулся в ответе.

If: `{{ $json.status }}` равен `Ready` — идём скачивать `{{ $json.result.sample }}`. Равен `Error` или `Failed` — пишем строку в журнал ошибок и переходим к следующему товару. Любое другое значение — обратно в Wait.

### Маршрут B: эндпоинт -finetuned для LoRA на FLUX.2 [klein]

Подготовка вне n8n: обучить LoRA на базе FLUX.2 [klein] Base, в Dashboard открыть Customization → Finetunes, нажать Add Finetune, выбрать ту же базовую модель и загрузить `.safetensors`. Имя, которое вы зададите, и есть `finetune_id`. Там же можно указать триггерную фразу.

В n8n меняются только адрес и два поля тела:

```json
{
  "prompt": "ohwx флакон на мраморной столешнице, мягкий дневной свет слева",
  "finetune_id": "my-product-lora",
  "finetune_strength": 1.0,
  "width": 1024,
  "height": 1024
}
```

Адрес — `https://api.bfl.ai/v1/flux-2-klein-9b-finetuned` или другой из шести эндпоинтов `-finetuned`. Он обязан совпадать с базовой моделью, для которой загружена LoRA: запрос к `flux-2-klein-4b-finetuned` с LoRA от 9B завершится ошибкой.

Три детали из [документации BFL](https://docs.bfl.ai/flux_2/flux2_lora_inference):

- Триггерную фразу (в примере `ohwx`) нужно вставлять в промпт, иначе LoRA с фразой не сработает.
- `finetune_strength` по умолчанию 1,0. Если каждый кадр похож на обучающую выборку независимо от промпта, пройдите диапазон 0,7–0,9 с одним и тем же `seed`.
- Остальные параметры, включая `input_image`, работают как у базового эндпоинта, так что LoRA можно сочетать с референсом.

Опрос, проверка статуса и скачивание — те же ноды, что в маршруте A.

### Маршрут C: обучение и генерация с LoRA на fal

Здесь два воркфлоу. Первый запускается один раз на товар или стиль и обучает LoRA. `Submit`: POST на `https://queue.fal.run/fal-ai/flux-2-trainer`.

```json
{
  "image_data_url": "https://example.com/product-dataset.zip",
  "steps": 1000,
  "default_caption": "ohwx флакон духов"
}
```

`image_data_url` — ссылка на zip-архив с фотографиями; fal советует не меньше 10 изображений. Подписи можно положить в архив текстовыми файлами с теми же именами. Если подписей нет и `default_caption` не задан, обучение завершится ошибкой. Рекомендаций именно для товарных датасетов у fal нет. В результате придёт `diffusers_lora_file.url` — сохраните эту ссылку в таблице рядом с товаром.

Второй воркфлоу генерирует кадры. `Submit`: POST на `https://queue.fal.run/fal-ai/flux-2/lora`.

```json
{
  "prompt": "ohwx флакон духов на мраморной столешнице, мягкий дневной свет слева",
  "loras": [
    { "path": "{{ $json.lora_url }}", "scale": 1 }
  ],
  "image_size": { "width": 1024, "height": 1024 },
  "output_format": "jpeg"
}
```

Массив `loras` принимает до 3 элементов, `scale` меняется от 0 до 4. Суммарный размер LoRA больше 2 ГБ увеличивает цену на 50 % за каждый следующий гигабайт. Чтобы добавить референс товара, используйте `fal-ai/flux-2/lora/edit` с массивом `image_urls` (до 4 изображений).

[Очередь fal](https://docs.fal.ai/model-apis/model-endpoints/queue) отвечает иначе, чем BFL, поэтому ветка опроса на шаг длиннее:

1. Ответ `Submit` содержит `request_id`, `status_url` и `response_url`.
2. `Poll` — GET по `status_url`. Статус идёт от `IN_QUEUE` через `IN_PROGRESS` к `COMPLETED`.
3. If проверяет два условия: `status` равен `COMPLETED` и поле `error` пустое. Неудачный запрос тоже заканчивается статусом `COMPLETED`, только с заполненным `error`.
4. Ещё один HTTP Request — GET по `response_url`. Ссылка на картинку лежит в `images[0].url`.
5. `Download` скачивает файл.

## Лимит в 24 задачи и ссылка на 10 минут: что это меняет в схеме

Оба ограничения BFL требуют отдельных решений в схеме, иначе воркфлоу начнёт падать на первом же большом каталоге.

**24 активные задачи одновременно.** Двадцать пятый запрос получит код 429 и будет отклонён, пока не завершится одна из предыдущих задач. В Loop Over Items задайте размер партии не больше 24 и замкните цикл так, чтобы следующая партия уходила только после скачивания предыдущей. В самой ноде HTTP Request есть Options → Batching с полями Items per Batch и Batch Interval в миллисекундах. Они разносят отправку по времени, но не знают, завершились ли прошлые задачи, поэтому одной этой настройки мало. На случай 429 включите повтор с растущей паузой.

**Ссылка `result.sample` живёт 10 минут.** Она подписана, отдаётся с адресов `delivery.*.bfl.ai`, без CORS, и BFL прямо пишет, что показывать её конечным пользователям нельзя. Скачивайте файл в той же ветке сразу после статуса `Ready` и кладите в своё хранилище. Схема «сохранить ссылку в таблицу и скачать ночным заданием» не сработает. Если n8n стоит за сетевым экраном, BFL советует разрешить весь шаблон `delivery.*.bfl.ai`, а не отдельные региональные адреса.

**Код 402 означает, что закончились кредиты.** Кредиты у BFL покупаются заранее, 1 кредит равен $0,01. Повторять запрос бессмысленно — остановите воркфлоу и отправьте себе уведомление.

Вместо опроса обе площадки умеют присылать результат вебхуком: у BFL это поле `webhook_url`, в n8n ему соответствует Wait в режиме On Webhook Call. Схема получается короче, но вашему n8n нужен адрес, доступный извне.

## Что проверять вручную: логотип, текст на этикетке, мелкие надписи

Ни один из трёх маршрутов не гарантирует, что товар будет воспроизведён с точностью до буквы. Документация BFL описывает сохранение объекта между сценами, но не обещает точной передачи логотипа, текста на этикетке и мелкого шрифта. Для LoRA таких обещаний нет ни у BFL, ни у fal.

Для карточки товара это критично: искажённое название или неверный объём на этикетке — уже неверная информация о товаре. Поэтому перед сохранением стоит добавить в воркфлоу шаг проверки:

- логотип и название бренда — сверить с оригиналом по буквам;
- состав, объём, вес и другие цифры на упаковке;
- цвет товара, особенно если он входит в название варианта;
- форму и пропорции: число кнопок, расположение ручек, крышки, швов;
- лишние детали, которых у товара нет.

Практичная схема: готовые кадры уходят в папку «на проверку», а в таблицу публикации попадают только после отметки человека. Если точный текст на упаковке обязателен, этикетку можно накладывать из исходного макета уже после генерации сцены.

## Короткие ответы о LoRA, FLUX.2 и n8n

### Можно ли применить несколько LoRA в одном запросе?

У BFL — нет: эндпоинты `-finetuned` принимают один `finetune_id`. На fal — да, массив `loras` вмещает до 3 элементов.

### Можно ли использовать LoRA на FLUX.2 [klein] 9B в коммерческих проектах?

Однозначного ответа в документации BFL нет. Веса [klein] 4B распространяются по лицензии Apache 2.0, веса 9B — по FLUX Non-Commercial License. Условия коммерческого использования LoRA на базе 9B через API BFL на страницах документации не расписаны, поэтому уточните их в лицензионных материалах BFL до запуска. Страница модели на fal отмечает `fal-ai/flux-2/lora` как пригодный для коммерческого использования, а веса [dev] для собственного развёртывания BFL выдаёт по некоммерческой лицензии: условия зависят от того, где работает модель.

### Доступны ли BFL и fal из России и как их оплатить?

Ни доступность сервисов, ни способы оплаты для пользователей из России в их документации не описаны. До сборки воркфлоу убедитесь, что можете зарегистрироваться, получить ключ и пополнить баланс на обеих площадках, которые собираетесь использовать.

### Нужна ли вообще FLUX.2, если задача — просто картинки для карточек?

Не обязательно. Если единообразие товара между сценами для вас не главное требование, сначала сравните модели по своей задаче: в этом поможет материал о том, [как выбрать GPT Image 2, Nano Banana, Midjourney или FLUX.2](/ru/posts/nano-banana-2-vs-midjourney-vs-gpt-image-vs-flux2).
