Stable Diffusion не сгенерирует ничего путного, если в папке models/Stable-diffusion лежит повреждённый или несовместимый checkpoint — типичный симптом: чёрные квадраты вместо картинок, ошибка «RuntimeError: unexpected key in state_dict» или бесконечная загрузка модели при старте интерфейса. Причина почти всегда одна из трёх: файл скачался не полностью, чекпоинт создан под другую версию Stable Diffusion (например, SDXL вместо SD 1.5), либо архитектура файла вообще не является чекпоинтом, а представляет собой LoRA, которую положили не в ту папку.
Checkpoint — это файл с полными весами нейросети, её «мозг». Именно чекпоинт определяет стиль генерации: фотореализм, аниме, живопись, 3D-рендер. От выбора и корректной установки модели зависит 80% итогового качества картинки, поэтому разберём всё по порядку: что это за файлы, где их брать, как устанавливать и как диагностировать проблемы.
Что такое checkpoint и чем он отличается от LoRA, VAE и эмбеддингов
Начинающие пользователи часто путают типы файлов, потому что на сайтах вроде Civitai и Hugging Face они выглядят одинаково — просто ссылки на скачивание. Разница принципиальна.
Checkpoint (чекпоинт) — полная модель, обычно от 2 до 7 ГБ. Содержит все веса нейросети: UNet, текстовый энкодер и часто встроенный VAE. Заменяет собой всю модель целиком. Один чекпоинт активен за раз.
LoRA (Low-Rank Adaptation) — небольшая надстройка, обычно от нескольких мегабайт до нескольких сотен мегабайт. Не работает сама по себе: подключается поверх загруженного чекпоинта и слегка меняет стиль, добавляет персонажа или конкретный объект. Можно комбинировать несколько LoRA одновременно.
VAE отвечает за декодирование латентного пространства в финальное изображение. Внешний VAE иногда подключают, чтобы убрать блёклые цвета, но большинство современных чекпоинтов уже содержат встроенный VAE. Эмбеддинги (Textual Inversion) — крошечные файлы, которые учат модель новому «слову» в промпте.
Форматы файлов: safetensors против ckpt
Чекпоинты распространяются в двух форматах: .ckpt и .safetensors. Внешне они взаимозаменяемы — содержимое одно и то же, но разница в безопасности существенная.
Формат .ckpt основан на Python pickle и теоретически позволяет встроить в файл исполняемый код, который запустится при загрузке модели. Формат .safetensors хранит только тензоры весов и не может выполнять код. Современные интерфейсы (Automatic1111, ComfyUI, Forge) при наличии обеих версий предпочитают safetensors.
⚠️ Внимание: скачивайте чекпоинты только из проверенных источников и отдавайте предпочтение файлам.safetensors. Если модель распространяется только в формате.ckptи у неё мало скачиваний и отзывов — рисковать не стоит.
Если под рукой только .ckpt, проверьте репутацию источника: количество загрузок, комментарии, историю автора. Антивирус такие файлы обычно не проверяет содержательно, поэтому единственная реальная защита — доверенные площадки с модерацией.
Поколения моделей: SD 1.5, SDXL и другие
Чекпоинты не взаимозаменяемы между поколениями Stable Diffusion. Модель, обученная на базе SD 1.5, не загрузится как SDXL — архитектуры разные. Это одна из самых частых причин ошибок загрузки.
| Поколение | Базовое разрешение | Типичный размер файла | Требования к VRAM |
|---|---|---|---|
| SD 1.5 | 512×512 | около 2–4 ГБ | от 4 ГБ |
| SD 2.x | 768×768 | около 5 ГБ | от 6 ГБ |
| SDXL 1.0 | 1024×1024 | около 6–7 ГБ | от 8 ГБ |
| SD 3 / Flux-подобные | 1024×1024 и выше | от 10 ГБ | от 12 ГБ |
Требования к видеопамяти указаны ориентировочно: реальное потребление зависит от интерфейса, разрешения генерации и включённых оптимизаций вроде --medvram или --lowvram. На слабых картах SD 1.5 остаётся самым практичным выбором — под него к тому же создано больше всего LoRA.
Где скачивать чекпоинты и как проверить файл
Два основных источника — Civitai и Hugging Face. На Civitai удобнее искать по стилю и смотреть примеры генераций, на Hugging Face чаще публикуют официальные базовые модели и исследовательские релизы.
Перед скачиванием обратите внимание на несколько вещей на странице модели:
- 🧩 Base Model — указано поколение (SD 1.5, SDXL и т.д.). Сверьте со своими возможностями по VRAM.
- 📦 Формат файла — предпочтителен safetensors.
- 🖼️ Примеры генераций — у хороших чекпоинтов авторы прикладывают картинки с промптами и настройками.
- 🔢 Хеш-сумма — многие страницы показывают SHA256 или краткий хеш файла для проверки целостности.
- 💬 Комментарии — там быстро всплывают жалобы на битые файлы и несоответствие описанию.
После скачивания стоит сверить хеш файла с тем, что указан на странице. В Windows это делается через PowerShell:
Get-FileHash "C:\путь\к\модели.safetensors" -Algorithm SHA256
Если хеш не совпадает — файл повреждён при скачивании (частая история при обрывах соединения на многогигабайтных файлах) или подменён. Такой чекпоинт удалите и скачайте заново, желательно через менеджер загрузок с докачкой.
Установка чекпоинта в Automatic1111 и ComfyUI
Установка сводится к помещению файла в правильную папку — никакой «инсталляции» чекпоинты не требуют. Но папка зависит от интерфейса.
Для Automatic1111 WebUI путь такой:
stable-diffusion-webui/models/Stable-diffusion/
Положите файл .safetensors в эту директорию, затем в интерфейсе нажмите кнопку обновления рядом с выпадающим списком моделей вверху страницы — новый чекпоинт появится в списке без перезапуска. Если список не обновился, перезапустите WebUI целиком.
Для ComfyUI чекпоинты кладутся сюда:
ComfyUI/models/checkpoints/
В ComfyUI модель выбирается в ноде Load Checkpoint. После добавления файла нажмите Refresh в интерфейсе или перезагрузите страницу браузера.
Чек-лист установки новой модели:
☑️ Установка чекпоинта
Как не путаться в десятках скачанных моделей
Переименовывайте файлы, добавляя поколение и стиль, например: realisticVision_v6_SD15.safetensors. В Automatic1111 можно раскладывать модели по подпапкам внутри models/Stable-diffusion — интерфейс покажет их с учётом вложенности. Также полезно хранить текстовый файл с пометками: какой чекпоинт для чего лучше работает и с какими настройками.
Типичные ошибки при загрузке чекпоинтов и их решение
Проблемы с моделями проявляются по-разному, но большинство сводится к короткому списку причин. Пройдитесь по ним по порядку.
Модель не появляется в списке. Проверьте, что файл действительно лежит в нужной папке, а не в подпапке загрузок браузера, и что расширение именно .safetensors или .ckpt, а не .part (недокачанный файл) или .zip (архив нужно распаковать). Затем нажмите кнопку обновления списка.
Ошибка при загрузке модели. Сообщения вида state_dict mismatch обычно означают, что вы пытаетесь загрузить файл не того типа — например, LoRA как чекпоинт. Откройте страницу, откуда скачивали, и проверьте тип файла: на Civitai он явно указан рядом с кнопкой скачивания.
Чёрные или серые картинки при генерации. Частая причина — проблема с VAE или конфликт настроек. Попробуйте переключить VAE на Automatic в настройках интерфейса. Если не помогло, возможна известная проблема вычислений в половинной точности на некоторых картах — тогда помогают флаги запуска --no-half или --no-half-vae (они увеличивают расход VRAM, учитывайте это).
⚠️ Внимание: не меняйте одновременно несколько настроек, пытаясь починить генерацию. Меняйте по одному параметру и делайте тест — иначе не поймёте, что именно помогло, и сломаете то, что работало.
Если генерация внезапно стала выдавать мусор после смены чекпоинта — первым делом проверьте, не осталась ли в промпте LoRA от предыдущей модели: LoRA для SD 1.5, применённая к SDXL-чекпоинту, ломает картинку без всяких ошибок в консоли.
Как выбрать чекпоинт под свою задачу
Универсального «лучшего» чекпоинта не существует — модели специализируются. Выбор стоит начинать с жанра, а не с рейтинга.
- 📷 Фотореализм — модели, натренированные на фотографиях; в описании ищите слова realistic, photo.
- 🎨 Иллюстрация и живопись — художественные чекпоинты, часто с пометками art, illustration, painterly.
- ⛩️ Аниме и манга — отдельная большая категория, такие модели плохо справляются с реализмом и наоборот.
- 🌀 Универсальные (general purpose) — компромиссные модели для тех, кто не хочет переключаться между десятком файлов.
Практичный подход: выберите 2–3 чекпоинта под свои основные задачи и изучите их глубоко — какие сэмплеры им подходят, при каком CFG Scale они дают лучший результат, какие ключевые слова в промпте «раскрывают» модель. Это даст больше, чем коллекция из пятидесяти неизученных файлов. Примеры генераций на странице модели — лучший ориентир: скопируйте чужой промпт с настройками и проверьте, получится ли у вас похожий результат.
Часто задаваемые вопросы
Можно ли использовать чекпоинт SD 1.5 вместе с LoRA для SDXL?
Нет. LoRA жёстко привязана к архитектуре базовой модели, на которой её обучали. LoRA для SD 1.5 работает только с чекпоинтами SD 1.5, LoRA для SDXL — только с SDXL. При несовпадении вы получите либо ошибку, либо испорченную генерацию.
Сколько места нужно на диске для коллекции моделей?
Один чекпоинт занимает примерно от 2 до 7 ГБ в зависимости от поколения. Папка с десятком моделей легко переваливает за 50 ГБ, поэтому держите модели на диске с запасом места. Хранить их можно на любом диске — путь к папке с моделями в большинстве интерфейсов настраивается параметром запуска.
Что делать, если чекпоинт скачался в формате ckpt, а хочется safetensors?
Существуют инструменты конвертации, а некоторые интерфейсы умеют пересохранять модель в safetensors при загрузке. Однако конвертация не убирает риск на этапе первой загрузки исходного .ckpt — потенциально вредоносный код сработал бы именно в этот момент. Поэтому правило то же: скачивайте только из доверенных источников.
Почему одна и та же модель у меня и у автора примеров даёт разные результаты?
На результат влияют сэмплер, количество шагов, CFG Scale, разрешение, seed, версия интерфейса и даже включённые оптимизации. Копируйте у автора примера не только промпт, но и все параметры генерации — на Civitai они обычно встроены в метаданные картинок.
Нужно ли удалять старые чекпоинты после выхода новых версий?
Не обязательно. Старые версии моделей иногда дают более предсказуемый результат в конкретных задачах, и многие пользователи держат несколько версий одного чекпоинта. Удаляйте только те модели, которыми точно не пользуетесь, чтобы освободить место.