РоссияСтатьяМодели
Локальная генерация на 16 ГБ: что умеют новые модели
В мае я писал про своё приложение SD Studio — оболочку над Stable Diffusion, в которой картинку описываешь обычным языком, а промпт и настройки подбирают LLM и пресеты. Делал я его, чтобы бесплатно...
В мае я писал про своё приложение 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.
Стиль
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
✓
Группа
Пресеты
Общие
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 всё равно перепишет его на английский, кроме надписи на табличке:
Молодая русская женщина в платье на рынке рядом с мешками и надписью на табличке: «Картошка, недорого». Правая рука на табличке. Левой поправляет волосы.
Пресет Photo Realism (Moss): Euler, 50 шагов, CFG 3. Около 2 минут на изображение.
5 из 10 — надпись без ошибок. Ошибки мелкие: «недорогго», «недорокго».
Пресет Photo Realism (Z-Image): Euler, 8 шагов, CFG 1. Около 15 секунд на изображение.
6,5 из 10. Проскакивали «Картоша» и «Картоцка». Половина — потому что в одном случае «ш» и «к» слиплись в одну букву, и я не знаю, куда это отнести.
Пресет 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 и зачем всё это
Комментарии
Обсуждайте статью, отвечайте и оценивайте комментарии. Вход — через ваш Яндекс ID.
Загружаем обсуждение…