СТАТТЯ

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; bulk edit_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 у каталозі:

  1. prompt_hash + model + resolution збігаються в межах consistency_group_id (якщо порівнюєте legs).
  2. ref_slots — та сама кількість і порядок (або явний ref_mapping_note, чому leg скорочує refs).
  3. provider_job_id у succeeded rows має final_asset_url на durable storage (не лише BB library або BFL temp URL).
  4. 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

  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 або agent discipline на get_generation / plugin status.
  5. Partial failure: which rows retry, which quarantine.
  6. Хто має 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.

← Усі статті