SD 3.5: один файл и новый пустой латент

<!-- lesson: sd35 -->

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

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

Соберёте граф SD 3.5 из одного чекпойнта с пустым латентом и настройками этого семейства.

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

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

Шаги

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

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

    Stable Diffusion 3.5 от Stability AI выходит в видах Large, Large Turbo и Medium. Она читает промпт тремя текстовыми энкодерами сразу: CLIP-L, CLIP-G и T5-XXL, поэтому понимает длинные предложения.

    Шаблон ComfyUI «SD3.5 Simple» загружает её из одного файла-чекпойнта, в котором модель, три энкодера и VAE. Граф похож на граф SDXL, только пустой латент и настройки другие.

  2. Какие файлы нужны вашему семейству (чтение)

    • чекпойнт: sd3.5_large_fp8_scaled.safetensors в models/checkpoints; в нём уже есть энкодеры и VAE.

    Если в вашем файле нет текстовых энкодеров (об этом скажет страница модели), три энкодера clip_l.safetensors, clip_g.safetensors и файл t5xxl загружает нода Load CLIP (Triple) из models/text_encoders, и её выход встаёт на место выхода CLIP чекпойнта.

    Если файла нет в списке, значит, его нет в вашем ComfyUI. Приложение ничего не скачивает. Откройте в самом ComfyUI шаблон «SD3.5 Simple»: он покажет, каких файлов не хватает и куда их положить. Берите файлы только с официальной страницы модели. Потом выберите здесь в меню «Синхронизация ▸ Синхронизировать сейчас», и файлы появятся в списках.

  3. Загрузите чекпойнт

    Добавьте ноду Load Checkpoint и выберите файл SD 3.5 в поле ckpt_name.

  4. Добавьте промпт и негатив

    Добавьте две ноды CLIP Text Encode (Prompt) и подключите выход CLIP ноды Load Checkpoint ко входу clip каждой. В поле text первой опишите картинку предложениями: стеклянная бутылка с маленькой галактикой внутри на деревянном кухонном столе, за окном горы.

    SD 3.5 работает при cfg выше 1, поэтому негатив читается. Шаблон ComfyUI оставляет его пустым; пишите туда только то, что действительно мешает.

  5. Добавьте пустой латент SD3

    Добавьте ноду EmptySD3LatentImage и поставьте в полях width и height 1024.

    У этого пустого латента 16 каналов, в таком виде работает SD 3.5, и эту ноду ставит шаблон ComfyUI. Обычная Empty Latent Image делает 4; свежий ComfyUI подгоняет пустой латент под модель, но держитесь ноды из шаблона. SD 3.5 учили примерно на одном мегапикселе.

  6. Добавьте сэмплер

    Добавьте ноду KSampler и подключите:

    • ко входу model выход MODEL ноды Load Checkpoint;
    • ко входам positive и negative две текстовые ноды;
    • ко входу latent_image выход ноды EmptySD3LatentImage.
  7. Настройте сэмплер

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

    • steps: 20;
    • cfg: 4;
    • sampler_name: euler;
    • scheduler: sgm_uniform.

    Это числа шаблона ComfyUI. При cfg 7, привычном для SDXL, SD 3.5 выжигает цвета. Large Turbo дистиллирована: 4 шага и cfg 1.

  8. Превратите результат в картинку

    Добавьте ноду VAE Decode. Ко входу samples подключите выход ноды KSampler, ко входу vae выход VAE ноды Load Checkpoint.

  9. Сохраните картинку

    Добавьте ноду Save Image и подключите выход ноды VAE Decode к её входу images.

    Без неё ComfyUI посчитает картинку и никуда её не положит.

  10. Сдвиг у моделей вроде SD3 (чтение)

SD 3.5 убирает шум по прямой дорожке, как Flux, Z-Image и Qwen-Image. На что на этой дорожке тратить шаги, задаёт сдвиг; для SD 3.5 ComfyUI уже ставит 3, поэтому нода не нужна.

Меняет его нода ModelSamplingSD3 между моделью и сэмплером. Шаблоны ComfyUI для HiDream ставят её с числом 6 для Dev и 3 для Full и Fast.

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

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

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

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

LoRA и ControlNet должны быть сделаны для SD 3.5 и для её размера: от Large не подходят к Medium.

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

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

  • Шаг 3, Загрузите чекпойнт:
    • нода Load Checkpoint.
    • в поле ckpt_name ноды Load Checkpoint стоит файл такого вида: чекпойнт SD 3.5, в котором есть его чтение текста; такой файл лежит в models/checkpoints, например sd3.5_medium_incl_clips_t5xxlfp8scaled.safetensors.
  • Шаг 4, Добавьте промпт и негатив:
    • нода CLIP Text Encode (Prompt).
    • нода CLIP Text Encode (Prompt).
    • 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).
    • text ноды CLIP Text Encode (Prompt) (промпт): не меньше 20 знаков.
  • Шаг 5, Добавьте пустой латент SD3:
    • нода EmptySD3LatentImage.
    • width ноды EmptySD3LatentImage: от 512 до 1536; «Сделать за меня» ставит 1024. Почему: SD 3.5 учили около одного мегапикселя.
    • height ноды EmptySD3LatentImage: от 512 до 1536; «Сделать за меня» ставит 1024. Почему: SD 3.5 учили около одного мегапикселя.
  • Шаг 6, Добавьте сэмплер:
    • нода KSampler.
    • MODEL ноды Load Checkpoint во вход model ноды KSampler (можно через Load LoRA или LoraLoaderModelOnly или ModelSamplingSD3).
    • CONDITIONING ноды CLIP Text Encode (Prompt) (промпт) во вход positive ноды KSampler.
    • CONDITIONING ноды CLIP Text Encode (Prompt) (негатив) во вход negative ноды KSampler.
    • LATENT ноды EmptySD3LatentImage во вход latent_image ноды KSampler.
  • Шаг 7, Настройте сэмплер:
    • steps ноды KSampler: от 20 до 40; «Сделать за меня» ставит 20. Почему: шаблон SD 3.5 ставит 20 шагов.
    • cfg ноды KSampler: от 3 до 5.5; «Сделать за меня» ставит 4. Почему: cfg 7, привычка от SDXL, выжигает цвета SD 3.5; её шаблон ставит 4.
    • sampler_name ноды KSampler: euler.
    • scheduler ноды KSampler: sgm_uniform.
  • Шаг 8, Превратите результат в картинку:
    • нода VAE Decode.
    • LATENT ноды KSampler во вход samples ноды VAE Decode.
    • VAE ноды Load Checkpoint во вход vae ноды VAE Decode.
  • Шаг 9, Сохраните картинку:
    • нода Save Image или Preview Image.
    • IMAGE ноды VAE Decode во вход images ноды Save Image или Preview Image.

См. также

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

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