Сервис pinock.io генерирует изображения животных в эстетике советских спичечных коробков — бесплатно, без регистрации, каждые 30 секунд новая картинка. За несколько недель работы в базе накопилось около 6700 изображений. Под капотом — модель FLUX.2-klein с кастомной LoRA и нестандартный двухпроходный пайплайн, который автор называет «sandwich».

Пайплайн устроен так: первый проход генерирует изображение с LoRA при агрессивном scale=2.0, что даёт выраженный стиль, но ломает анатомию животных — появляются лишние конечности, сросшиеся головы. Второй проход запускает FLUX.2-klein уже без LoRA в режиме img2img от результата первого прохода с параметром strength=0.9, фактически перерисовывая изображение почти с нуля. От первого прохода остаётся только низкочастотный сигнал — цветовой профиль и общая композиция. Это и создаёт узнаваемую matchbox-эстетику без анатомических артефактов.

ВариантОписаниеПараметрыРезультат
APure FLUX без LoRAbaselineРеалистичные иллюстрации, никакого matchbox-стиля
BLoRA raw, голый промптlora_scale=2.0Полный коллапс: текстурный шум вместо животных
CТекущий прод-sandwichlora=2.0, pass2_strength=0.9Узнаваемые животные с matchbox-эстетикой, стабильно
DSingle-pass со style-промптомlora=1.0, развёрнутый style-промптКириллица в выходе, коллапс категорий — leakage
EEdit-style refinementinit=A, lora=1.0, strength=0.5Стиль почти не виден, лёгкий иллюстративный фильтр

Пост в r/StableDiffusion принёс развёрнутый технический комментарий от пользователя u/DelinquentTuna с тремя конкретными претензиями. Первая: зачем выкручивать LoRA до scale=2.0, если pass-2 при strength=0.9 затирает около 90% её результата? Вторая: FLUX.2-klein поддерживает нативный edit/style-transfer — на RTX 4080 16GB критик получил вывод в четыре раза большего разрешения (~1024×1024) за 9 секунд с более когерентным стилем. Третья: датасет из ~300 примеров слишком мал для обучения matchbox-эстетике с её halftone-текстурами, ограниченной палитрой и литографическими деталями — нужно минимум в пять раз больше.

Двухпроходный «sandwich»-пайплайн оказался патчем поверх переобученной LoRA, а не оптимальным решением.

Чтобы проверить каждое замечание, автор провёл ablation-исследование: 5 вариантов пайплайна × 5 категорий животных (кошка, лиса, сова, лев, волк) × 3 сида = 75 изображений. Варианты охватывали чистый FLUX без LoRA (baseline), raw-вывод LoRA при scale=2.0, текущий прод-sandwich, single-pass со style-промптом при scale=1.0 и edit-style refinement через img2img.

Результаты оказались показательными. Вариант B — raw LoRA при scale=2.0 — показал полный коллапс: все пять категорий животных на каждом сиде выглядели почти одинаково, как текстурный шум одного оттенка. Никакой анатомии, только «отпечаток» плаката. Именно это автор наблюдал при разработке и именно для этого придумал sandwich — чтобы спрятать катастрофу за вторым проходом.

Вариант D — single-pass со style-промптом при scale=1.0, то есть первый совет критика — дал неожиданный эффект: на части изображений появилась кириллица в подписях («СТАДИНАМ» и похожий гибберишный текст), а несколько категорий животных схлопнулись в почти идентичные красные силуэты на чёрном фоне. Это классический training-set leakage: LoRA, обученная на советских плакатах с кириллицей и красным доминантным фоном, при умеренном scale начинает воспроизводить конкретные обучающие примеры целиком, а не переносить абстрактный стиль. Совет критика теоретически верный — но на переобученной LoRA он только обнажает проблему.

Вариант E — edit-style через img2img при strength=0.5 — не дал достаточного стилевого эффекта. При умеренных значениях LoRA не пробивает FLUX-prior, картинки выглядят как baseline с лёгким иллюстративным фильтром. Повышение strength до 0.7 и выше возвращает логику sandwich — и снова приводит к тем же артефактам leakage.

Текущий sandwich выиграл сравнение среди пяти вариантов, но вывод автора однозначный: это патч поверх плохо обученной LoRA. Все альтернативные подходы упираются в одну и ту же проблему — модель переобучена на конкретные примеры из датасета, а не на абстрактную эстетику. Единственный реальный фикс — третий совет критика, который автор откладывал: пересборка датасета с 300 до 1500 примеров с чистой разметкой и переход на single-pass пайплайн. Именно это сейчас и происходит.