MOSS-Image (Apache-2.0, JSON layout): layout-driven self-host batch для Bubble-каталогів поруч із BIAIG
SKU-шаблон у repeating group — MOSS-Image дає явний JSON layout як контракт промпта і self-host batch leg поруч із closed API через BIAIG-router. Це архітектурна гіпотеза, не офіційна фіча MOSS.
Навіщо зараз
Після promo FLUX і перегляду pricing NB2.1 я знову дивлюся на image leg для каталогів. ComfyUI, Qwen, Diffusers і Bria вже лежать як сусідні шари в плані, але MOSS-Image (OpenMOSS, Apache-2.0 на weights/code) тягне інший тип truth source — layout-native JSON, а не caption-only text-to-image. Схожий розбір: Qwen-Image-2.1 open source: RGBA, 10.
Публічний реліз кластеризується навколо 2026-10-16 (weights/code), day-0 інтеграції (ComfyUI, SGLang, vLLM-Omni), arXiv report (2026-10-19) і окремий hosted MOSI API (2026-10-20). Для editorial self-host batch я не змішую MOSI API з повністю self-hosted Apache weights без явного розділення маршрутів.
Що саме дає MOSS (факти з Scout packet)
- Ліцензія: Apache-2.0 на repo, weights і bundled inference code (OpenMOSS/MOSS-Image).
- Моделі: MOSS-Image-Base і MOSS-Image-SFT (~5B DiT); у quick-start — PyTorch 2.9+,
diffusers>=0.38, custom_moss_imagepipeline, Qwen3.5 text encoder, FLUX.2 small VAE (окремі ліцензії third-party — перевіряйте compliance для packaged self-host image). - Відмінний контракт: layout JSON (часто як серіалізований prompt string) з полями на кшталт
summary.caption,items[](label,caption, optionaltext,bbox),bbox_format: "yxyx",bbox_coord_space: "abs_centralized"— pixel coords відносно центру canvas; width/height генерації мають збігатися (multiples of 16). Канон — USERGUIDE.md — Layout Prompts; feature позначено Experimental — я не продаю зрілість вище за документацію.
Self-host шляхи з офіційних джерел: Python/Diffusers, Gradio, ComfyUI 0.42+ (layout templates/nodes), SGLang serve з opt-in dynamic batching (--batching-max-size, --batching-delay-ms) — batched requests мають збігатися по resolution, steps, negative prompt, guidance. SGLang публікує вузькі H200 throughput/PSNR нотатки, не catalog-SKU SLA — production metrics я не вигадую; це arc production-validation.
Bubble: repeating group → layout JSON → batch worker
Це інтеграційна архітектура редакції, MOSS для Bubble/SKU так не задокументовано:
- Repeating group як editor truth — рядок = один
items[]element:label(product/object/character),caption, optionaltext(ціна, SKU, promo copy), optionalbboxякщо UI задає геометрію слота. - Нормалізація bbox — ComfyUI node MOSS-Image Layout Prompt механічно конвертує box → centered yxyx JSON; width/height must match output size. Coords з Bubble geometry на різних aspect ratios (portrait SKU vs 1024²) — для мене відките питання fidelity.
- Batch leg — worker приймає масив validated layout JSON + shared generation params; для SGLang — batch compatibility; для Diffusers/ComfyUI queue — інший ops profile. Base vs SFT для exact product text і box adherence — open question, не claim.
- Збереження назад у Bubble — URL/file, metadata (model, checkpoint, seed, layout hash), status per SKU row. Схожий розбір: Qwen-Image-2.1 vs closed models: vendor.
BIAIG як router / failover (гіпотеза плану)
У публічних MOSS docs немає BIAIG. Якщо у вашому стеку BIAIG — closed-model router до promo/API legs, патерн виглядає так:
- Primary: self-host MOSS batch, коли layout JSON passes schema validation і queue в межах вашого SLA.
- Failover: closed API (BIAIG route), коли validation fail, Experimental layout ризик неприйнятний, або self-host p95 пропущено.

Умови failover, модель fallback і cost — узгодити окремо; тут лише methodology, не verified capability.
Ризики конфігурації (чесно)
- Prompt enhancer на layout workflows у ComfyUI може скинути bounding boxes — для automated Bubble→JSON pipelines я тримаю off (layout templates так і рекомендують).
- SGLang batching: без
quality=exactpixels можуть відрізнятися від per-sample; для SKU visual consistency фіксую params і тестую identity cross-batch. - Experimental layout — marketing claims на poster/composition demos без acceptance tests (text accuracy, layout adherence, latency p95, cost per SKU image) я не будую. Схожий розбір: Qwen-Image-2.1 до 28.09 UTC+8: freeze.
Практичний checklist перед prod
- Schema validator для layout JSON перед enqueue (bbox_format, coord space, canvas size).
- Один canonical mapping RG columns →
items[]fields; version field у JSON для replan. - Розділення self-host Apache path vs MOSI hosted API в workflow і privacy rules Bubble.
- Production-validation arc: Base vs SFT, enhancer on/off для коротких SKU captions, batch server choice (SGLang vs Diffusers vs ComfyUI queue) під ваш GPU VRAM — без вигаданих throughput цифр.

| Checklist item | What it is for | What to define / verify |
|---|---|---|
| Schema validator | Layout JSON before enqueue | bbox_format, coord space, canvas size |
| Canonical mapping | RG columns → items[] fields |
Single mapping; version field in JSON for replan |
| Path separation | Bubble workflow and privacy rules | Self-host Apache path vs MOSI hosted API |
| Production-validation arc | Pre-prod model and batch setup | Base vs SFT; enhancer on/off for short SKU captions; batch server choice (SGLang vs Diffusers vs ComfyUI queue) under your GPU VRAM — without invented throughput numbers |
Джерела (межі статті)
GitHub/HF/openmoss.ai, ComfyUI MOSS tutorial, SGLang cookbook, arXiv technical report — див. Scout packet. Порівняння з ComfyUI 0.40 + Qwen, Diffusers 0.41, Bria Fibo — adjacent, не дублікат: MOSS додає layout JSON як prompt truth, решта — UI, pipeline або інший self-host leg.
Leftovers: вибір Base/SFT, failover contract для BIAIG, packaged image compliance — на вас + production-validation arc.