SDXL как следует

<!-- lesson: sdxl -->

Урок «sdxl» в группе Картинки: модели списка уроков. Шагов: 9.

Чему вы научитесь

Настроите граф SDXL на тот размер и те настройки, на которых училось это семейство.

Что понадобится

  • Урок продолжает Первая картинка из текста. Карточка говорит об этом; это подсказка, а не замок.
  • Файлы моделей, которые урок проверяет:
    • чекпойнт SDXL (SDXL, Pony, Illustrious), а не SD 1.5, Flux или файл одной диффузионной модели: models/checkpoints, например sd_xl_base_1.0.safetensors.
  • Ноды: Load Checkpoint, CLIP Text Encode (Prompt), Empty Latent Image, KSampler, VAE Decode, Save Image / Preview Image.
  • Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.

Шаги

Слова каждого шага, как их показывает урок. Имена нод выделены.

  1. Что такое SDXL (чтение)

    SDXL от Stability AI это семейство из одной базовой модели и тысяч дообученных из неё: Juggernaut XL, RealVis XL и многих других. Каждая это один файл-чекпойнт с моделью, двумя текстовыми энкодерами и VAE.

    SDXL учили примерно на одном мегапикселе. На 512 на 512, размере SD 1.5, она рисует плохо: повторяющиеся предметы, сломанные лица. Этот урок ставит графу её собственные числа, как шаблон ComfyUI «SDXL1.0: Text to Image (Simple)».

  2. Нужен граф с картинкой

    Этот урок продолжает граф из урока «Первая картинка из текста». На холсте должны быть Load Checkpoint, две ноды CLIP Text Encode (Prompt), Empty Latent Image, KSampler, VAE Decode и Save Image со связями между ними.

    Если их нет, сначала пройдите тот урок.

  3. Выберите модель SDXL

    В поле ckpt_name ноды Load Checkpoint выберите модель SDXL: базовую sd_xl_base_1.0.safetensors или дообученную из неё. Файлы лежат в models/checkpoints.

    Файл SDXL весит около 6.5 ГБ, файл SD 1.5 от 2 до 4 ГБ. Pony и Illustrious тоже SDXL, у них свой урок.

  4. Поставьте размер SDXL

    В ноде Empty Latent Image поставьте в полях width и height 1024.

    Другие размеры той же площади: 896 на 1152, 832 на 1216, 768 на 1344 и то же, повёрнутое набок. Держитесь около одного мегапикселя, обе стороны кратны 64.

  5. Настройте сэмплер

    В ноде KSampler поставьте:

    • steps: 25;
    • cfg: 7;
    • sampler_name: dpmpp_2m;
    • scheduler: karras.

    Это числа шаблона ComfyUI. Дообученная модель может просить на своей странице другие: тогда права её страница.

  6. Работают оба текста

    Напишите промпт в поле text ноды CLIP Text Encode (Prompt), а в поле text другой текстовой ноды то, чего не нужно: blurry, low quality, watermark.

    SDXL работает при cfg выше 1, поэтому негатив читается. Короткие предложения и списки через запятую она понимает одинаково; у моделей, дообученных на тегах, свой урок.

  7. Два энкодера, один текст (чтение)

    SDXL читает промпт двумя энкодерами, CLIP-L и большим OpenCLIP-G. Обычная текстовая нода даёт обоим один и тот же текст, как в шаблоне, и почти всегда это правильно.

    У ноды CLIP Text Encode (SDXL) есть поле для каждого, text_g и text_l, и поля размера. Она мало кому нужна.

  8. Рефайнер: страница истории (чтение)

    SDXL 1.0 вышла со второй моделью, рефайнером, который доделывал последние шаги. Шаблон ComfyUI «SDXL Simple» до сих пор его показывает: база делает 20 шагов из 25 и отдаёт остальное.

    Дообученным моделям он не нужен и может испортить им лица. Сегодня второй проход делают перерисовкой любой подходящей моделью: урок «Доводка второй моделью».

  9. Граф готов (чтение)

    Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.

    Если результат плохой:

    • люди или предметы двоятся: размер далеко от одного мегапикселя;
    • выжженные, пересвеченные цвета: слишком большой cfg, попробуйте 5;
    • блёклая картинка: модели может быть нужен свой файл VAE, об этом скажет её страница.

Что проверяет урок

Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:

  • Шаг 2, Нужен граф с картинкой:
    • нода Load Checkpoint.
    • нода CLIP Text Encode (Prompt).
    • нода CLIP Text Encode (Prompt).
    • нода Empty Latent Image.
    • нода KSampler.
    • нода VAE Decode.
    • нода Save Image или Preview Image.
    • CLIP ноды Load Checkpoint во вход clip ноды CLIP Text Encode (Prompt) (промпт) (можно через Load LoRA или CLIP Set Last Layer).
    • CLIP ноды Load Checkpoint во вход clip ноды CLIP Text Encode (Prompt) (негатив) (можно через Load LoRA или CLIP Set Last Layer).
    • MODEL ноды Load Checkpoint во вход model ноды KSampler (можно через Load LoRA или LoraLoaderModelOnly или ModelSamplingSD3).
    • CONDITIONING ноды CLIP Text Encode (Prompt) (промпт) во вход positive ноды KSampler.
    • CONDITIONING ноды CLIP Text Encode (Prompt) (негатив) во вход negative ноды KSampler.
    • LATENT ноды Empty Latent Image во вход latent_image ноды KSampler.
    • LATENT ноды KSampler во вход samples ноды VAE Decode.
    • VAE ноды Load Checkpoint во вход vae ноды VAE Decode.
    • IMAGE ноды VAE Decode во вход images ноды Save Image или Preview Image.
  • Шаг 3, Выберите модель SDXL:
    • в поле ckpt_name ноды Load Checkpoint стоит файл такого вида: чекпойнт SDXL (SDXL, Pony, Illustrious), а не SD 1.5, Flux или файл одной диффузионной модели; такой файл лежит в models/checkpoints, например sd_xl_base_1.0.safetensors.
  • Шаг 4, Поставьте размер SDXL:
    • width ноды Empty Latent Image: от 640 до 1536; «Сделать за меня» ставит 1024. Почему: SDXL учили около одного мегапикселя; на 512 она повторяет предметы.
    • height ноды Empty Latent Image: от 640 до 1536; «Сделать за меня» ставит 1024. Почему: SDXL учили около одного мегапикселя; на 512 она повторяет предметы.
  • Шаг 5, Настройте сэмплер:
    • steps ноды KSampler: от 20 до 40; «Сделать за меня» ставит 25. Почему: шаблон SDXL ставит 25 шагов.
    • cfg ноды KSampler: от 4 до 9; «Сделать за меня» ставит 7. Почему: слишком большой cfg выжигает цвета; шаблон SDXL ставит 7.
    • sampler_name ноды KSampler: dpmpp_2m.
    • scheduler ноды KSampler: karras.
  • Шаг 6, Работают оба текста:
    • text ноды CLIP Text Encode (Prompt) (промпт): не меньше 20 знаков.
    • text ноды CLIP Text Encode (Prompt) (негатив): не меньше 5 знаков.

Что дальше

Этот урок продолжают: Pony и Illustrious: теги вместо предложений, SD 3.5: один файл и новый пустой латент.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/lessons/SDXL.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.