ComfyUI 0.40 і Qwen-Image 2.1 Turbo (8-step): self-hosted throughput leg bulk-каталогу Bubble поруч із BIAIG
Primary leg (BIAIG або closed API) впав або не вклався в SLA — я дивлюсь на ComfyUI 0.40 з Turbo 8-step як окремий ops-кут: граф, headless API, PNG/RGBA в Storage. Це не magic bullet: pin версій, ліцензія, якість SKU — мої acceptance tests.
Навіщо окремий leg
У bulk-каталозі Bubble у мене зазвичай primary маршрут генерації (BIAIG або hosted API) і fallback, який я сам контролую. ComfyUI 0.40.0 (2026-10-13) додав Qwen-Image 2.1 Turbo (8-step) — фіксований turbo-schedule, CFG=1, офіційні шаблони T2I/edit (у bundled templates часто 1024×1024, а в документації для base підкреслюють 2K). Diffusers 0.41 з QwenImage21Pipeline — сусідній script-first leg; ComfyUI я обираю там, де ops-команда хоче відтворюваний граф, шаблони Comfy-Org і headless чергу без переписування коду під кожен SKU-variant. Схожий розбір: Qwen-Image-2.1 open source: RGBA, 10.
Публічних джерел, що зшивають ComfyUI з Bubble Storage чи BIAIG, я не знайшов — нижче організаційна методологія, не офіційна інтеграція Bubble.
Що саме дає Turbo для throughput
Turbo — той самий 7B visual stack, але 8 кроків із schedule, зашитим у checkpoint (на model card: зміна лише num_inference_steps не замінює sigma schedule). Для bulk це менше GPU-секунд на SKU і жорсткіший контракт — community guides попереджають про погану поведінку з «загальними» schedulers на Turbo.
Throughput vs якість я вимірюю не з маркетингу Qwen, а з своїх gates: порівнюю Turbo з base (~40 steps у типових workflow) на однакових prompt, resolution і acceptance criteria (артефакти тексту, ref-consistency, alpha halos). Vendor заявляє сильний 2K при 8 steps; незалежні HF/GitHub порівняння часто з нерівними step counts — я не використовую їх як єдиний SKU benchmark.
Ops-контур: headless → файл → Storage
- Pin разом: ComfyUI 0.40.0, revision weights (Comfy-Org/Qwen-Image-2.1 або Qwen HF), commit hash transformer/VAE. Після релізу 2026-09-20 на HF був commit «0919 release checkpoint» (
scale_factor_spatial8→16, прибраноcausal_block) — типовий versioning hazard для pinned workflow; я на цьому вже обпікся. - Freeze window (урок 28.09): у brief згадано freeze до 28.09 UTC+8; у публічному timeline найближчі якорі — реліз 2026-09-20, core Qwen-Image-2.1 в ComfyUI 0.37.0 (2026-09-21), ComfyUI 0.38.0 (2026-09-29). Якщо «28.09» — мій internal pin date, я фіксую його в runbook разом з HF commit і Comfy tag; під час mega-batch «latest» не чіпаю.
- Headless:
--disable-auto-launch, HTTP API (типово 8188). Експорт Workflow (API) →POST /prompt; вихід —/history,/viewабо WebSocket (SaveImage / SaveImageWebsocket). - RGBA для каталогу: Save Image (Advanced) — PNG 1/3/4 channels; AVIF без RGBA. Для transparent SKU я перевіряю Turbo vs base на production resolution, не лише на template 1024×1024.
- Glue до Bubble: після успішного primary run (BIAIG) fallback не потрібен; при fail/queue overflow worker забирає PNG/RGBA з Comfy output path і upload у Bubble Storage (мій backend workflow / multi-job orchestrator). Retry, idempotency key по
product_id + variant, dead-letter — custom, не в ComfyUI out of the box. Схожий розбір: Qwen-Image-2.1 до 28.09 UTC+8: freeze.
Коли маршрутизувати bulk на Turbo
| Сигнал | Primary лишається | Turbo leg |
|---|---|---|
| SLA throughput, SKU «good enough» на фіксованому розмірі | Так | Так, як reserve |
| Hero imagery, суворий ref/multi-ref | BIAIG / base Qwen | Лише після A/B |
| RGBA edge quality | Перевірка обов’язкова | Не assume parity |
Closed API (Model Studio qwen-image-2.1-turbo, 2026-10-09) недоступний |
— | Self-host знижує vendor lock-in, піднімає ops burden |
Mega-каталоги: один процес ComfyUI — вузьке місце; зовнішня multi-job оркестрація (N інстансів, черга SKU, freeze однакового graph JSON) у мене узгоджується з «fallback routing» narrative з brief.
Ризики (коротко)
- Ліцензія: Qwen RESEARCH LICENSE — research/evaluation; commercial bulk catalog потребує окремих умов від Qwen (legal review).
- Security: custom nodes і чужі workflow JSON — untrusted; governance/CSP у новіших Comfy релізах не замінює hardening.
- Comfy API v2 (jobs/assets) — опція для зовнішньої оркестрації на новіших build; поведінка self-hosted ≠ cloud re-signing.
Що я роблю на практиці
ComfyUI 0.40 тримаю як self-hosted throughput leg поруч із BIAIG: Turbo 8-step — резерв і burst, base Qwen-Image-2.1 у тому ж графовому стеку — для SKU, де якість важливіша за GPU-секунди. Без pin-discipline, license clearance і SKU acceptance tests це лише ще один fragile pipeline — з versioning уроком post-0919 checkpoint.
Джерела (Scout packet): ComfyUI Changelog/releases 0.37–0.40; docs.comfy.org (Qwen tutorial, server, workflow API, SaveImageAdvanced); Comfy-Org/Qwen-Image-2.1; Diffusers v0.41.0; Qwen-Image-2.1 / Turbo model cards; HF commit 0919 checkpoint; Qwen RESEARCH LICENSE.