Batch Banana: FLUX 3 Image + MCP — другий leg bulk-каталогів у Bubble з BIAIG після промо
Після 8 жовтня 2026 маршрутизація FLUX 3 — не лише калькулятор BFL API. Другий вхід через Batch Banana MCP потребує тих самих job/ref слотів у Bubble, що й перший leg (BIAIG: scheduled API workflows).
Контекст після промо
Black Forest Labs випустив FLUX 3 Image 1 жовтня 2026. Знижка ~50% на BFL API діяла до 8 жовтня 2026, 15:00 UTC; далі — list/API pricing (орієнтир з BFL pricing: наприклад ~$0.048/image на 1K у калькуляторі; повні tier залежать від resolution).
FLUX 3 Image заточений під layout-heavy сценарії: до 10 reference images, bounding-box placement, unified generate/edit, multi-resolution. Я одразу побачив, що змінюється не тільки ціна — змінюється те, як ви зберігаєте refs і job state у bulk-каталозі Bubble. Поруч із цим: Після 8.10: FLUX 3 Image.
Batch Banana додав FLUX 3 Image того ж дня і відкриває доступ через hosted MCP: https://mcp.batchbanana.com/mcp (OAuth, workspace credits, без API key у клієнті). Ціни в credits (з release note: напр. 6/12/72 credits для 1K/2K/4K) — інша форма billing, ніж прямий BFL USD.
Два legs одного каталогу
У digest-стеку BIAIG — editorial label для першого leg: типовий Bubble bulk-image шлях (API Connector / plugin + Schedule API workflow on a list → паралельні незалежні workflows, task/job ID, polling, durable storage, бо URL провайдера часто expiring). Публічного «продукту BIAIG» Scout не знайшов — я трактую це як ваш існуючий in-app/API leg.
Другий leg — MCP-triggered batches: агент (Cursor, Claude тощо) викликає Batch Banana tools, результати лежать у Batch Banana library, а каталог у Bubble все одно має дзеркалити job IDs, ref slots і фінальні assets.
Паралельно існують aggregator legs (WaveSpeedAI submit/poll + ordered refs; Vercel AI Gateway bfl/flux-3-image) — корисні для post-promo cost compare, але не MCP-native як Batch Banana.
Офіційний BFL MCP (https://mcp.bfl.ai, billing на OAuth org) у публічних tool docs не дає чіткої картини FLUX 3 Image у каталозі (часто FLUX.2 generate_image + FLUX 3 video). Перед маршрутом я б verify live bfl://models / актуальну Mintlify.
Batch Banana MCP: що реально викликати
З документації MCP tools:
- Async pattern:
generate_image→get_generation(не припускайте sync URL у Bubble без polling). - Library refs:
search_library,import_image— refs живуть у workspace BB, не автоматично у вашій Bubble DB. - Quote before spend, request-key idempotency (конфлікт →
IDEMPOTENCY_CONFLICT; зміни ціни можуть відхилити запит). - Caps: напр. до 8 images на
generate_image; bulkedit_imageдо 256 (free edits) / 40 (paid edits) — плануйте chunking для великих каталогів. RATE_LIMITED— parallel Schedule on a list у Bubble може впертися в ліміти; потрібні backoff і partial-failure handling.
Governance: хто підключає MCP до якого workspace — реальні credits; MCP не delete work, але spend можливий.
Bubble data model (спільний для обох legs)
Один bulk-каталог — одна canonical row (ваш internal catalog key), два entry points — два provider job namespaces. Без цього consistency checks (той самий prompt, refs, model, resolution) роз’їдуться.
Мінімальні поля на рядок каталогу
| Поле | Навіщо |
|---|---|
catalog_row_id |
Ваш canonical key у Bubble |
leg |
biaig_api | batch_banana_mcp | (опційно aggregator) |
provider_job_id |
BB generation/job ID, BFL request_id, WaveSpeed prediction id — не змішуйте типи в одному полі; краще typed subfields |
idempotency_key |
Для BB MCP request key + Bubble-side dedup при retry agent/workflow |
status |
queued / running / succeeded / failed / expired_url |
model + resolution |
FLUX 3 Image tier (1K/2K/4K) |
prompt_hash |
Dedup і audit |
ref_slots[1..10] |
URL або file id після import у durable storage (S3/plugin file) |
layout_payload |
Bounding-box JSON (BFL-native) — не припускайте 1:1 через BB MCP або aggregator без verify |
quoted_credits / quoted_usd |
Leg-specific quote snapshot перед spend |
final_asset_url |
Після copy з provider/BB library у ваш storage |
consistency_group_id |
Якщо два legs генерують «ту саму» SKU для A/B або failover |
Ref slots: normalize, не копіюй сліпо
- FLUX 3 / Batch Banana: до 10 refs.
- BFL MCP snippet: до 8
input_imageна request. - WaveSpeed edit: 1–10 ordered URLs.
У Bubble зберігайте ordered list з slot index і source (bubble_file, bb_library_id, external_url_temp). При switch leg — remap, не silent truncate.
Consistency checks (коли два bulk entry points)
Перед mark-as-published у каталозі:
prompt_hash+model+resolutionзбігаються в межахconsistency_group_id(якщо порівнюєте legs).ref_slots— та сама кількість і порядок (або явнийref_mapping_note, чому leg скорочує refs).provider_job_idу succeeded rows маєfinal_asset_urlна durable storage (не лише BB library або BFL temp URL).- Idempotency: повтор agent turn або scheduled retry не створює другий spend без нового ключа.
Bubble Schedule API workflow on a list і MCP-batch — обидва parallel; rate limits і duplicate jobs — ops problem, не «magic MCP».
Post-promo routing story (чесно)
Після промо я не шукаю «де найдешевше в таблиці». Питання інше: де ваш catalog of record і хто polling/storage.
- BIAIG leg: повний контроль у Bubble workflows, прямий BFL API або plugin — USD/credits BFL, ви тримаєте polling.
- Batch Banana MCP leg: швидкий bulk через agent + library refs, billing у BB credits, async + idempotency з коробки документації — але Bubble mirror обов’язковий.
- Aggregator/Gateway: один API key, інші ID shapes — третій leg лише якщо вже в архітектурі (Flare–Sunburst–WaveSpeedAI з prior digest — internal/compare context; публічного продуктового match Scout не знайшов). Про це окремо: SenseNova U1 Pro і 8K.
Failover між legs без однакової ref/layout semantics я б не будував — feature parity не гарантована.
Checklist перед production batch
- Canonical
catalog_row_id+ typedprovider_job_idper leg. - Quote + idempotency key на кожен spend (MCP і API).
- Import refs у durable storage; slot indices documented.
- Polling workflow або agent discipline на
get_generation/ plugin status. - Partial failure: which rows retry, which quarantine.
- Хто має OAuth на BB workspace / BFL org.
| Check | Requirement | Scope / notes |
|---|---|---|
| 1 | Canonical catalog_row_id + typed provider_job_id |
Per leg |
| 2 | Quote + idempotency key | На кожен spend (MCP і API) |
| 3 | Import refs | У durable storage; slot indices documented |
| 4 | Polling workflow or agent discipline | На get_generation / plugin status |
| 5 | Partial failure policy | Which rows retry, which quarantine |
| 6 | OAuth ownership | Хто має OAuth на BB workspace / BFL org |
Відкриті питання (з Scout packet)
- Що саме у вашому стеку означає BIAIG (plugin vs custom workflow vs bulkimagegeneration.com)?
- Чи mcp.bfl.ai вже expose FLUX 3 Image для
generate_image? - Який canonical job id ви обираєте для audit — internal row чи provider id?
Джерела: Batch Banana release/MCP docs, BFL model/pricing/MCP docs, Bubble bulk operations manual, WaveSpeed/Vercel changelog — деталі в Scout packet. Ціни та tool lists time-sensitive; перевіряйте перед deploy.