В мае я писал про своё приложение SD Studio — оболочку над Stable Diffusion, в которой картинку описываешь обычным языком, а промпт и настройки подбирают LLM и пресеты. Делал я его, чтобы бесплатно генерировать сотни иллюстраций для книги-игры; зачем понадобилось своё приложение — тоже в первой статье.

За полгода локальные модели генерации изображений сильно продвинулись. Приложение я переименовал в Imagecaster и добавил функции, которые стали возможны только с новыми моделями. В этой статье — какие модели я выбрал, как они справляются с русским текстом на картинке и что на них построено: постобработка и ИИ-стилист.
В статье очень много картинок. Мне кажется, тут удобнее видеть, чем только читать.
Чем отличается от SD WebUI и ComfyUI
Сначала коротко, зачем вообще отдельное приложение:
Что нужно знать |
Сколько стоит вариант |
Для кого |
|
|---|---|---|---|
Голый SD (WebUI) |
сэмплеры, CFG, LoRA, синтаксис тегов |
бесплатно, на своём железе |
кто готов разбираться в настройках |
ComfyUI |
всё то же, плюс как собирать схемы из нод |
бесплатно, на своём железе |
технари, которым нужна полная свобода |
Облачные сервисы |
ничего |
подписка или оплата генераций |
кому не на чем запускать модель у себя |
Imagecaster |
ничего: стиль и описание по-русски |
бесплатно, на своём железе |
кто хочет картинку, а не настройки |
Что изменилось: модели
В мае у меня были только SD 1.5, SDXL и Pony. В первой статье я описал их так: «хорошая кожа, бедная фантазия». Про фантазию это не совсем честно. У старых моделей жёсткий формат промпта — набор тегов. Приложение и так переводит описание в теги через LLM, но точную сцену, а особенно уточнения вроде «правая рука на табличке, левой поправляет волосы», такие модели выполняют плохо.
Теперь в приложении основные модели — Flux 1, Z-Image, Moss и Flux 2 Klein. Они понимают описание обычными предложениями. Цена — видеопамять: им нужно минимум 12–16 ГБ.
Модель |
Для чего |
|---|---|
SD 1.5 / SDXL |
Лёгкие модели для слабых видеокарт. Любые стили — от фото до иллюстрации |
Pony / Illustrious |
Аниме, мультяшные и стилизованные персонажи |
Flux 1 |
Точно следует подробному описанию обычным языком, реализм |
Z-Image Turbo |
Фотореализм, самая быстрая из набора: 8 шагов вместо обычных 20–50 |
Moss-Image |
Следует описанию не хуже Flux 1, фотореализм людей, правка фото по инструкции на русском |
Flux 2 Klein |
Постобработка: эффекты, замена и удаление объектов, ремикс с сохранением лица, стилист |
Все модели, кроме Klein, ставятся из каталога в настройках приложения. Moss и Klein работают только на Forge Neo.
Пара слов о каждой
Flux 1 (flux1-dev-fp8) хорошо понимает длинное описание сцены обычными предложениями: кто где стоит, что держит, какой свет.
Z-Image Turbo (z-image-turbo-fp8-aio) даёт фотореализм за 8 шагов. Подходит для перебора большого числа вариантов.
Moss-Image (moss_image_sft_bf16) следует описанию так же точно, как Flux 1, и при этом это основная модель режима правки: «замени брюки на юбку» меняет одежду, сохраняя человека, позу и фон. Инструкции можно писать по-русски.
Flux 2 Klein (flux-2-klein-4b) работает там, где меняется уже готовое фото:
Постобработка — эффекты света, плёнки, кожи, материалов одежды и смены стиля;
Объект — замена или удаление того, что обведено маской;
Ремикс с галочкой «Сохранять лицо»;
Стилист для ИИ-агентов — примерка стрижки и образа (о нём ниже).
Что не прижилось
Ещё я пробовал Qwen-Image 2.1 и Krea 2. Qwen делал «просто другие» картинки — не лучше, с накрученным реализмом и морщинками. Krea в быстром turbo-режиме давала пластик, а честный raw требовал 24–30 шагов. Обе прожили на сервере две недели, и их заменила связка Z-Image + Moss + Klein: три модели закрывают те же задачи, но легче, быстрее и без потери качества. Klein при этом занял единственную нишу, где он действительно лучше всех, — ремикс фото с сохранением лица. На нём теперь работает весь стилист.
Пресеты
Стиль в приложении — это пресет: промпт, настройки и модель. Большинство стилей есть в нескольких вариантах под разные модели — выбираешь по видеокарте и задаче. Пресеты можно менять, создавать свои, импортировать и экспортировать в JSON.
Пресеты генерации: 30 стилей
Стиль |
SD |
Pony |
Flux |
Z-Image |
Moss |
|---|---|---|---|---|---|
3D Render |
✓ |
✓ |
✓ |
✓ |
|
Anime Art |
✓ |
✓ |
✓ |
✓ |
|
Architecture Photo |
✓ |
✓ |
✓ |
✓ |
|
Art Nouveau |
✓ |
✓ |
✓ |
✓ |
|
Cartoon Art |
✓ |
✓ |
✓ |
✓ |
|
Cinematic Still |
✓ |
✓ |
✓ |
✓ |
|
Comic Art |
✓ |
✓ |
✓ |
✓ |
|
Concept Art |
✓ |
✓ |
✓ |
✓ |
|
Fantasy Art |
✓ |
✓ |
✓ |
✓ |
|
Fashion Editorial |
✓ |
✓ |
✓ |
✓ |
|
Food Photo |
✓ |
✓ |
✓ |
✓ |
|
Horror Art |
✓ |
✓ |
✓ |
✓ |
|
Landscape Photo |
✓ |
✓ |
✓ |
✓ |
|
Mecha Art |
✓ |
✓ |
✓ |
✓ |
|
Miniature Effect |
✓ |
✓ |
✓ |
||
Pencil Sketch |
✓ |
✓ |
✓ |
✓ |
|
Photo Realism |
✓ |
✓ |
✓ |
✓ |
|
Pixel Art |
✓ |
✓ |
✓ |
✓ |
|
Portrait Photo |
✓ |
✓ |
✓ |
✓ |
|
Product Shot |
✓ |
✓ |
✓ |
✓ |
|
Sci-Fi Art |
✓ |
✓ |
✓ |
✓ |
|
Wallpaper Desktop |
✓ |
✓ |
✓ |
✓ |
|
Wallpaper Phone |
✓ |
✓ |
✓ |
✓ |
|
Watercolor Art |
✓ |
✓ |
✓ |
✓ |
|
Wildlife Photo |
✓ |
✓ |
✓ |
✓ |
|
B&W Film |
✓ |
||||
Golden Hour |
✓ |
||||
Night City |
✓ |
||||
Street Photo |
✓ |
||||
Studio Portrait |
✓ |
Пресеты постобработки (Flux 2 Klein): 61 эффект
Группа |
Пресеты |
|---|---|
Общие |
Shallow DOF, Color Pop, Soft Glow, Moody Dark, Crisp Reality, Bright & Airy |
Свет |
Golden Hour, Evening Mood, Night City Neon, Soft Studio, Flash Photo, Candlelight, Blue Hour, Backlit, Overcast Soft, Harsh Noon |
Плёнка |
Film Real 35mm, B&W Film, Vintage 70s, Cinematic Teal-Orange, Polaroid, Portra 400, Expired Film, VHS 90s, Super 8, Cross Process |
Кожа |
Wet Skin, Dewy Skin, Glam Glow, Matte Skin |
Материалы одежды |
Satin Gloss, Leather, Denim, Lace, Velvet, Fur, Latex, Knit & Wool, Sequins, Mesh, Wet Fabric, Cotton, Linen, Tweed, Corduroy, Suede, Chiffon, Tulle, Fleece, Shearling, Metallic |
Смена стиля |
Realism, Photo Restore, Colorize, 3D Animation, Cartoon, Anime, Watercolor, Pencil Sketch, Oil Painting, Pixel Art |
Текст на картинках
С чем у людей ассоциируются локальные модели генерации? Шесть пальцев на руке и неспособность написать русский текст. Проверим.
Замерял на своём ПК: imagecaster-server на Debian, RTX 4070 Ti Super 16 ГБ, разрешение 1536×1024, по 10 изображений на модель (Flux — 5). Промпт писал по-русски — LLM всё равно перепишет его на английский, кроме надписи на табличке:
Молодая русская женщина в платье на рынке рядом с мешками и надписью на табличке: «Картошка, недорого». Правая рука на табличке. Левой поправляет волосы.
Moss
Пресет Photo Realism (Moss): Euler, 50 шагов, CFG 3. Около 2 минут на изображение.
5 из 10 — надпись без ошибок. Ошибки мелкие: «недорогго», «недорокго».










Z-Image Turbo
Пресет Photo Realism (Z-Image): Euler, 8 шагов, CFG 1. Около 15 секунд на изображение.
6,5 из 10. Проскакивали «Картоша» и «Картоцка». Половина — потому что в одном случае «ш» и «к» слиплись в одну букву, и я не знаю, куда это отнести.










Flux 1
Пресет Photo Realism (Flux): Euler, 24 шага, CFG 1. Около минуты на изображение.
0 из 5. Девушки красивые, но писать по-русски Flux не может.





Почему такая разница, я спросил у ИИ:
Комментарий ИИ (Claude). Дело скорее не в квантовании. Текст на картинке зависит прежде всего от того, какой текстовый энкодер (часть модели, которая читает промпт) стоит в модели и понимает ли он кириллицу:
Flux 1 читает промпт энкодером T5, который обучали в основном на английском. Русские буквы он, по-видимому, видит плохо, отсюда 0 из 5. Ни fp8, ни bf16 это не исправят.
Z-Image и Moss используют энкодеры семейства Qwen, а они многоязычные. Поэтому у них текст в принципе получается.
Квантование у трёх моделей и так разное, но не в одну сторону. У Moss сама модель в bf16, а текстовый энкодер урезан до int8. Сказать «у Moss полное качество, а остальные урезаны» нельзя.
И для честности: полная версия Flux 1 в fp16 весит около 23 ГБ и на моей карте с 16 ГБ не запускается.
Постобработка
Готовое фото меняется одной кнопкой: свет, плёнка, ткань одежды, стиль. Почти всё держится на Klein. Расписывать не буду — покажу картинками.







ИИ-стилист
Этот раздел стал возможен только с новыми моделями.
В постобработке есть режим «Правка»: словами описываешь, что примерить человеку на фото, или загружаешь фото одежды. Но что именно примерять, нужно придумать самому. Стилист придумывает сам: у него свои правила, и он предлагает несколько вариантов.
ИИ-стилистов сейчас много, но они работают онлайн с облачными моделями, а значит, фото уходит на чужой сервер. Локальная LLM, которая помещается на 16 ГБ рядом с моделью генерации, для роли стилиста слабовата. Поэтому сделал так: думает умная модель через MCP (Claude Code, Codex и другие), а смотрит и рисует приложение. Фото описывает локальная vision-модель, умная модель получает только текст, генерация тоже локальная. Фото никуда не уходит.
Часть «ума» при этом теряется: стилист не видит фото сам. Но в диалоге его можно поправить — рассказать о своих вкусах или о том, чего vision-модель не заметила.
Отдельная сложность — лицо. Klein меняет весь кадр и заодно немного меняет лицо, а стилист без похожего лица бесполезен. Поэтому после правки глаза, нос и губы переносятся с исходного фото по точкам лица и проверяется сходство; если лицо не совпало, генерация повторяется, до трёх попыток. В таблицах ниже колонка fit — насколько лицо варианта отличается от исходного: чем меньше, тем ближе. id — номер варианта в истории приложения.
Дальше — диалог со стилистом как есть. Девушка на фото сгенерирована, это не реальный человек.
«Подбери повседневные образы»
id |
Причёска |
Наряд |
Макияж |
fit |
|---|---|---|---|---|
30594 |
Волны на косой пробор |
её серое платье |
персиковый нюд-бальзам |
0.015 |
30595 |
Полупучок |
Французский кэжуал: тельняшка + длинная деним-юбка |
нюд |
0.034 |
30596 |
Две свободные косы |
Уютные слои: овсяный кардиган + белая футболка + коричневая юбка |
нюд |
0.016 |
30597 |
Волны за оба уха, открытый лоб |
Белая футболка + терракотовая макси-юбка, золотая цепочка |
нюд |
0.017 |
Мои рекомендации по порядку:
30596 — самый «повседневный из повседневных»: рыночная сцена кадра буквально просит уютный кардиган и косы; и это её фирменная эстетика
30597 — самое свежее и лёгкое: открытый лоб + белый верх + терракота — «лето на рынке», минимум усилий
30594 — если хочется остаться при своём платье, но оживить: смена пробора — микрозатрата, а лицо сразу открывается
30595 — самая «стильная» из четырёх, но тельняшка чуть выбивается из её бохо-линии — она скорее тебе в пост-панк-эстетику ?
Макияж везде один и тот же по задумке: нюд-бальзам + брови + чистая кожа, ничего ярче — как договорились. Если какой-то образ зашёл — скажи, докручу детали.




Стилист не видит, кто на фото, и решил, что там моя жена, — отсюда «её фирменное бохо». А пост-панк — это он пытался угодить мне ?
«А что-то вечернее или романтичное?»
id |
Образ |
fit |
|---|---|---|
30598 |
Романтика: пыльно-розовый шифон с воланами, волны на плечо |
0.022 |
30599 |
Вечер: полночно-синий бархат на запах, ягода (чек утащил макияж в смоки — смотри глазами) |
0.020 |
30600 |
Изумрудный креп на запах + полупучок + золото |
0.015 |
30601 |
Винный креп с кружевом на лифе, волна на плечо |
0.016 |
Рекомендации:
30598 — если «романтичное» значит прямое: розовый шифон + мягкая волна — это эталон жанра, и на рыночном солнце он играет лучше всех остальных (тёмные вечерние ткани при дневном свете кадра теряют глубину)
30600 (изумруд) — если «вечернее»: лучший fit партии, изумруд к русым волосам — самое выигрышное сочетание из всей сегодняшней палитры
30601 (винное с кружевом) — тёмная романтика, «вино + кружево» — на вечер при свечах
30599 (синий бархат) — по одежде хорошо, но чек показывает, что макияж ушёл тяжелее заказанного — проверь глазами, не «дико яркий» ли получился
Оговорка стилиста: фон остаётся дневной рынок — вечерние платья в дневном свете читаются как «примерка», не как «выход». Для полного вечернего эффекта нужен либо вечерний исходник, либо смена фона (а её пайплайн пока не трогает — и правильно).
Что докрутить — цвет, фактуру, украшения?




«А что-то более дерзкое?»
id |
Образ |
fit |
|---|---|---|
30602 |
Рок: чёрная косуха поверх комбинации, грубые ботинки, серебро, сливовая помада + стрелки |
0.012 |
30603 |
Гранж-90е: красно-чёрная фланель на узел, рваная джинсовая юбка в пол, мартинсы |
0.019 |
30604 |
Дерзкая романтика: чёрный шифон с воланами + грубые ботинки + ремень с металлом |
0.029 |
30605 |
Красный стейтмент: алое платье-колонна в пол + красная помада + гладкие прямые волосы |
0.025 |
Рейтинг дерзости (и носибельности):
30602 (рок) — самая дерзкая и при этом лучший fit дня: контраст грубой кожи и её мягких волн — это работающая формула; сливовая помада вместо чёрной держит образ «дорогим», а не «подростковым»
30603 (гранж) — дерзость на каждый день: фланель + рваная юбка — это носибельно даже в магазин, в отличие от косухи
30604 (шифон+ботинки) — самый хитрый: внешне «она», но с характером; для случаев «дерзкая, но в моей эстетике»
30605 (красное) — классическая дерзость цветом; один нюанс: klein покрасил волосы в чёрный (не заказывал) — стильно, но это дрейф; если хочется дерзкого красного с её русым — перегенерирую с пином цвета
Макияж везде смелее обычного: слива/красный + графичные стрелки — потолок «дерзко без пошлости», дальше уже перебор.
И снова не могу не заметить: 30602 (косуха) + твой серый пост-панк = вы вдвоём выглядите как группа, которую надо было послушать ещё в 2004-м ? Что докрутить?




«Это не жена, а сгенерированный образ для статьи. Сделай оригинальнее и больше вариантов»
id |
Волосы |
Стиль |
fit |
|---|---|---|---|
30606 |
Платиновый боб |
французский шик: красная помада, чёрная водолазка |
0.029 |
30607 |
Розово-золотые локоны |
мягкая кукольность: лавандовый свитер |
0.036 |
30608 |
Ядрёно-розовый панковский |
кожа со значками, клетчатая мини, сетка |
0.017 |
30609 |
Серебристо-седые прямые |
серый монохром, кашемир |
0.013 |
30610 |
Огненно-рыжие кудри |
бохо: зелёный шёлк + янтарная юбка |
0.022 |
30611 |
Чёрное каре с чёлкой |
пин-ап 50-х: горошек, красная помада |
0.030 |
30612 |
Объёмный афро |
колор-блокинг: горчичный + кобальт |
0.023 |
Что эта серия показывает для статьи: 7 цветов волос, 4 длины, 5 текстур (гладкое/локоны/панк-текстура/кудри/афро), 7 стилевых регистров — от пин-апа до панка, одно лицо сохранено во всех (fit в зелёной зоне у всех).
Бонус-наблюдения для текста:
Чёлка отрисовалась (30611, пин-ап) — хотя неделю назад считали её конфликтной с вклейкой; сейчас шаблон «No loose strands» с ней справляется
Фантазийные цвета (розовый, серебро) klein держит стабильнее естественных — вероятно, потому что они однозначно читаются из текста
Самая близкая к оригиналу склейка — у серебряных волос (0.013): парадоксально, но кардинальный цвет дал лучший результат
Хочешь ещё одно измерение вариативности — очки/головные уборы (там вклейка отключается, честно покажет ограничение), или вуаль/украшения, или соберу hero-сет для статьи?







Платное лучше?
За бесплатность платишь временем:
Текст на картинке получается не с первого раза. Но сгенерировать 10 вариантов и выбрать нужный, как по мне, менее обидно, чем заплатить за вариант с хорошим текстом, но не той картинкой.
Тяжёлые модели думают до пары минут, а для правки диалогом нужен ИИ-агент через MCP.
Видеокарта нужна минимум на 16 ГБ, а она есть не у всех.
Установка
Чтобы не ставить всё по отдельности, я сделал imagecaster-server. Он сам устанавливает Forge Neo (нужен именно этот форк Stable Diffusion WebUI) и проверяет, есть ли Ollama, — если нет, ставит сам. Нужные версии Python и git он тоже кладёт в свою папку, чтобы не зависеть от того, что установлено в системе.
Ссылки
Imagecaster — приложение
imagecaster-server — сервер, который ставит и запускает модели
Первая статья — про SD Studio и зачем всё это
ZorkyK
Да уж... картошки нагенерил на всю зиму для большого посёлка городского типа.