img2img
img2img — режим переписывания входной картинки по промпту
img2img — генерация на основе существующего изображения. В типичной схеме Stable Diffusion исходник кодируется в латентное представление, зашумляется и перерабатывается с учётом промпта. Denoise помогает выбирать степень изменения, но не гарантирует сохранность лица, композиции или мелких деталей.
Коротко
Коротко. img2img создаёт новое изображение с опорой на исходное. В обычном диффузионном процессе оно становится зашумлённым стартовым представлением. Меньший denoise обычно сохраняет больше исходных форм, больший позволяет сильнее их переработать. Это удобно для стилизации, доработки наброска и второго прохода при увеличении.
Что это такое
Допустим, нужно превратить карандашный набросок кота в живописную иллюстрацию. В txt2img модель будет строить композицию по тексту. В img2img у неё уже есть опора: положение кота, силуэт, крупные светлые и тёмные участки.
Результат не получается простым наложением стиля. Генерация может изменить морду, лапы, фон и мелкие предметы. Чем важнее конкретная деталь, тем внимательнее её нужно сравнивать с оригиналом.
Термин image-to-image иногда используют широко — для любых преобразований по исходной картинке. Здесь речь о распространённой схеме Stable Diffusion: кодирование, зашумление и повторное сэмплирование. Редактор по текстовой инструкции или сервис с изображением-референсом может работать иначе, даже если результат тоже называют «картинка из картинки».
Как это работает
В модели с латентной диффузией процесс выглядит так:
- Изображение подготавливается к рабочему размеру.
- VAE Encode переводит пиксели в латентное представление.
- К нему добавляется шум на выбранном уровне расписания.
- Сэмплер использует прогнозы модели и текстовое условие, чтобы получить новое представление.
- VAE Decode превращает результат в пиксели.
В txt2img нет закодированного исходника: сэмплирование начинается с шума. Размер латентного массива в обоих режимах зависит от архитектуры, разрешения и числа каналов — одной фиксированной формы для всех моделей нет.
Denoise выбирает начальный уровень шума и участок процесса. Его нельзя в общем случае записать как «denoise × максимальный шум»: расписания устроены по-разному. Число выполняемых шагов тоже зависит от программы. Например, некоторые реализации сокращают исходное расписание пропорционально strength, а обычный KSampler ComfyUI иначе подбирает участок расписания под заданные steps.
Что означают маленькие и большие значения
При низком denoise исходное представление обычно сильнее ограничивает результат. Это может помочь сохранить форму, но не дать достаточной свободы для смены материала или стиля.
При высоком значении модель сильнее перестраивает изображение. При полном расписании исходная опора может почти исчезнуть, но другие условия — маска, референс, ControlNet — от этого не отключаются. Поэтому denoise = 1 не является универсальной границей между img2img и txt2img.
Универсальных диапазонов для ретуши, стилизации и сохранения композиции нет. Одно и то же число даст разные изменения на разных моделях, размерах и способах кодирования.
Пример в ComfyUI
Для наброска кота можно начать с совместимого SDXL-workflow:
- Load Image загружает рисунок.
- При необходимости отдельный узел приводит его к подходящему размеру без нежелательного растяжения.
- VAE Encode с совместимым VAE создаёт латент.
- Этот латент подключается к
latent_imageKSampler. Модель и текстовые условия приходят из обычной схемы загрузки и кодирования. - VAE Decode декодирует результат тем же совместимым VAE, затем Save Image сохраняет картинку.
Пример промпта:
Полосатый кот сидит у окна. Живописная иллюстрация, мягкий дневной свет, заметные мазки кисти, спокойный фон.
Для первого сравнения сохраняются исходник, промпт, seed и остальные параметры. Меняется только denoise: значение ниже базового, базовое и выше. Сравнивать удобно не только общий стиль, но и конкретные признаки — положение лап, форму ушей и расстояние до окна.
Если поза меняется слишком сильно, можно проверить совместимый ControlNet по контурам или другой структурной карте. Если нужен образец манеры, может помочь IP-Adapter. Эти дополнения решают разные задачи и не гарантируют сохранности всех деталей.
Где img2img полезен
- Стилизация. Фотография становится иллюстрацией, а набросок — более законченным изображением.
- Доработка. Генерация получает другую фактуру, свет или степень детализации.
- Hires.fix. Базовый кадр увеличивается и проходит повторную генерацию.
- Поиск вариантов. Одна композиция превращается в несколько визуальных решений.
Для точечной ретуши удобнее добавить маску и перейти к inpainting. Если нужно лишь скорректировать цвет, обычная цветокоррекция может сохранить содержание точнее и обойтись без генерации.
Размер изображения
Размер результата зависит от подготовки входа и рабочей сетки модели. Исходник можно предварительно увеличить, уменьшить, обрезать или дополнить холст. Некоторые интерфейсы делают это внутри вкладки img2img.
Если фотография имеет размер 800 × 800, выход не обязан быть таким же. При изменении пропорций важно выбрать, что должно произойти: растяжение исказит предметы, обрезка удалит края, дорисовка добавит новую сцену.
В некоторых схемах VAE также подгоняет размеры под коэффициент сжатия. Поэтому полезно проверить не только число в интерфейсе, но и размер сохранённого файла.
Почему покадровая обработка мерцает
Обработка каждого видеокадра через обычный img2img — ещё не согласованная видеостилизация. Соседние исходники немного различаются, а модель может по-разному перерисовать лицо, ткань или фон.
Фиксированный seed помогает сравнивать настройки, но не гарантирует одинаковую стилизацию по всей серии. Для видео могут понадобиться модели с временными связями, перенос движения и отдельная проверка мерцания. Иногда надёжнее генерировать короткий цельный план, а не набор независимых картинок.
С чем часто путают
- Inpainting направляет правку в область маски. Остальные пиксели могут меняться при кодировании или масштабировании; для строгого сохранения результат совмещают с оригиналом.
- IP-Adapter передаёт признаки референса как дополнительное условие, а не просто использует его зашумлённый латент в качестве старта. Его можно сочетать с img2img.
- Hires.fix объединяет базовую генерацию, увеличение и второй проход, близкий к img2img.
- Контекстное редактирование может использовать другую архитектуру: фраза описывает изменение, а изображение служит условием. У такого редактора может вообще не быть привычного ползунка denoise.
- Обычный графический редактор позволяет менять пиксели и слои напрямую. При этом сам редактор тоже может содержать генеративные инструменты — эти подходы не исключают друг друга.
Частые ошибки
Ждать точного сохранения при низком denoise. VAE уже кодирует изображение с потерями, а сэмплирование добавляет изменения. Для текста, логотипов и узнаваемого лица нужна отдельная проверка.
Считать img2img всегда более быстрым. Время зависит от фактического числа шагов, разрешения, модели и оборудования. Кодирование исходника тоже требует вычислений; универсального выигрыша нет.
Переносить число denoise между программами как готовый рецепт. Различаются расписание, число шагов, подготовка входа и дополнительные условия.
Считать любой image prompt тем же img2img. Изображение может использоваться как референс или условие иным способом. Поддержка картинки на входе ничего не говорит о внутренней реализации.
Лечить всё denoise. Неподходящая база, VAE или промпт могут портить результат при разных значениях. Полезно проверять всю схему.
Частые вопросы
Какой denoise выбрать?
Начать с рабочего примера для точной модели и сравнить соседние значения на одном исходнике. Нужная точка — там, где изменение уже заметно, а важные детали ещё сохранены.
Можно ли использовать img2img с FLUX?
Для подходящих моделей и реализаций — да. Нужны совместимые VAE, загрузчики и схема сэмплирования. Само наличие вкладки img2img не означает поддержку любого FLUX-checkpoint в любом интерфейсе.
Можно ли обойтись без промпта?
Если реализация допускает пустое текстовое условие, генерация всё равно опирается на исходник и выученные закономерности модели. Управлять конкретным изменением будет труднее. Поддержка такого режима зависит от модели.
Почему одинаковый seed даёт разные картинки в txt2img и img2img?
Seed управляет генерацией шума, но не задаёт весь результат. В img2img добавляются исходное представление и другой начальный уровень шума. Состояния, с которых начинается сэмплирование, различаются.
Источники
- Diffusers: Image-to-image — кодирование исходника, шум и параметры конкретных реализаций.
- ComfyUI: KSampler — входное латентное представление и denoise.
- SDEdit — генерация с опорой на зашумлённое изображение.
Главное
img2img помогает переработать изображение, сохранив часть его структуры. Denoise регулирует условия этой переработки, а не долю гарантированно сохранённых пикселей. Для удачного результата важны совместимость модели и VAE, подготовка исходника и сравнение конкретных деталей до и после.