Stable Diffusion на Hugging Face: полное руководство

Запрос «stable diffusion huggingface» обычно означает одно из трёх: пользователь ищет страницу официальной модели на Hugging Face, пытается скачать веса вроде v1-5-pruned-emaonly.safetensors и не понимает, какой файл выбрать, либо хочет запустить генерацию через библиотеку diffusers без локальной установки сложных интерфейсов. Все три сценария решаются на одной платформе, но подход к ним разный.

Hugging Face — это хаб, где Stability AI и сообщество публикуют чекпоинты Stable Diffusion, VAE, LoRA и ControlNet-модели. Ниже разберём, как устроены репозитории моделей, чем отличаются форматы файлов, как скачать веса через браузер и git, как запустить генерацию в Python и что делать с типичными ошибками доступа.

Что такое Hugging Face и почему модели Stable Diffusion живут именно там

Hugging Face Hub — репозиторий машинного обучения с открытым хостингом моделей, датасетов и демо-приложений. Именно там CompVis и Stability AI изначально опубликовали веса Stable Diffusion, поэтому ссылки вида runwayml/stable-diffusion-v1-5 или stabilityai/stable-diffusion-xl-base-1.0 стали стандартом де-факто для всей экосистемы.

Каждая модель на платформе — это git-репозиторий с файлами весов, конфигурацией (model_index.json), карточкой модели с описанием и лицензией. Помимо самих весов там же хранятся токенизатор, текстовый энкодер и расписание шумоподавления — всё, что нужно конвейеру для генерации.

  • 🔹 Models — чекпоинты, LoRA, VAE, ControlNet от Stability AI и сообщества
  • 🔹 Spaces — готовые веб-демо, где можно генерировать изображения бесплатно в браузере
  • 🔹 Datasets — датасеты для дообучения и файнтюнинга

Какие модели Stable Diffusion доступны на Hugging Face

На хабе представлены несколько поколений моделей, и выбор зависит от вашей видеокарты и задачи. Базовые версии различаются разрешением генерации, объёмом видеопамяти и требованиями к лицензии.

РепозиторийПоколениеОсобенности
runwayml/stable-diffusion-v1-5SD 1.5Классика, огромная база LoRA и файнтюнов
stabilityai/stable-diffusion-2-1SD 2.1Разрешение 768px, иной текстовый энкодер
stabilityai/stable-diffusion-xl-base-1.0SDXL1024px, двухступенчатая архитектура base + refiner
stabilityai/stable-diffusion-3-mediumSD3Архитектура MMDiT, требует принятия лицензии

Кроме официальных релизов, на Hugging Face тысячи файнтюнов от сообщества: модели под аниме-стиль, фотореализм, конкретных персонажей. Ищите их по тегам stable-diffusion, text-to-image и lora в разделе Models.

📊 Как вы используете Stable Diffusion с Hugging Face?
Скачиваю веса для локального интерфейса (A1111, ComfyUI)
Запускаю через библиотеку diffusers в Python
Генерирую в бесплатных Spaces в браузере
Только изучаю, ещё не запускал

Как скачать модель: браузер, git и huggingface-cli

Самый простой способ — зайти на страницу репозитория, открыть вкладку Files and versions и скачать нужный файл кнопкой загрузки. Для одиночного чекпоинта в формате .safetensors этого достаточно: файл потом подключается в AUTOMATIC1111, ComfyUI или Fooocus как обычная модель.

Если нужен весь репозиторий целиком (например, для работы через diffusers), удобнее командная строка. Установите утилиту и выполните скачивание:

pip install huggingface_hub

huggingface-cli download runwayml/stable-diffusion-v1-5

Альтернатива — классический git с поддержкой LFS, поскольку веса хранятся через Git Large File Storage:

git lfs install

git clone https://huggingface.co/runwayml/stable-diffusion-v1-5

☑️ Перед скачиванием модели проверьте

Выполнено: 0 / 4
⚠️ Внимание: часть репозиториев (например, модели SD3 и некоторые релизы SDXL) являются gated — скачивание доступно только после входа в аккаунт Hugging Face и принятия лицензионного соглашения на странице модели. Без этого вы получите ошибку 401 или 403 даже при правильной команде.

Форматы файлов: safetensors, ckpt и папка diffusers

Внутри одного репозитория часто лежат сразу несколько вариантов одних и тех же весов, и новички теряются при выборе. Разница принципиальная.

.safetensors — современный безопасный формат от Hugging Face: загружается быстрее и не исполняет произвольный код при загрузке. .ckpt — старый формат на базе pickle, который теоретически может содержать вредоносный код, поэтому скачивать его стоит только из доверенных источников. Всегда выбирайте safetensors-вариант, если он есть в репозитории.

Третий вариант — структура папок (unet/, vae/, text_encoder/, scheduler/) без единого файла. Это нативный формат библиотеки diffusers: его нельзя напрямую скормить интерфейсу A1111, зато он идеально подходит для запуска через Python.

Как конвертировать diffusers-модель в одиночный safetensors-файл

В библиотеке diffusers есть скрипт convert_diffusers_to_original_stable_diffusion.py, который собирает папки unet/vae/text_encoder в единый чекпоинт. Обратная операция тоже возможна. Скрипт входит в репозиторий diffusers на GitHub, запускается из командной строки с указанием пути к модели и имени выходного файла.

Запуск генерации через библиотеку diffusers

Библиотека diffusers от Hugging Face позволяет запустить Stable Diffusion буквально в несколько строк кода — она сама скачает веса из хаба при первом обращении и закэширует их локально.

from diffusers import StableDiffusionPipeline

import torch

pipe = StableDiffusionPipeline.from_pretrained(

"runwayml/stable-diffusion-v1-5",

torch_dtype=torch.float16

)

pipe = pipe.to("cuda")

image = pipe("a cat astronaut in space, digital art").images[0]

image.save("result.png")

Обратите внимание на параметр torch_dtype=torch.float16: он вдвое снижает потребление видеопамяти по сравнению с полной точностью. Для карт с малым объёмом VRAM дополнительно помогает вызов pipe.enable_attention_slicing() или выгрузка части модели на CPU через enable_model_cpu_offload().

Для gated-моделей потребуется токен доступа: создайте его в настройках профиля Hugging Face (раздел Access Tokens) и выполните вход командой huggingface-cli login либо передайте токен параметром в коде.

Бесплатный запуск в браузере через Spaces

Если локального GPU нет, модель можно попробовать прямо на сайте. Раздел Spaces содержит тысячи демо-приложений: введите в поиске «stable diffusion» или «sdxl», откройте понравившееся демо и генерируйте изображения через веб-интерфейс без установки чего-либо.

У бесплатных Spaces есть ограничения: очередь при высокой нагрузке, лимиты на время генерации и «засыпание» неактивных приложений. Для регулярной работы это не замена локальной установке, но для быстрой проверки промпта или знакомства с моделью — удобный вариант.

⚠️ Внимание: не вводите в публичных Spaces чувствительные данные и помните, что владелец демо-приложения теоретически видит ваши промпты. Для конфиденциальных задач используйте только локальный запуск.

Типичные ошибки и их решения

Большинство проблем при работе со Stable Diffusion на Hugging Face сводится к нескольким повторяющимся сценариям. Разберём каждый.

  • 🔧 401/403 Unauthorized — модель gated: войдите в аккаунт, примите лицензию на странице репозитория и авторизуйтесь через токен
  • 🔧 OutOfMemoryError (CUDA) — не хватает VRAM: включите float16, attention slicing или CPU offload, либо возьмите более лёгкую модель (SD 1.5 вместо SDXL)
  • 🔧 Ошибка загрузки ckpt в интерфейсе — возможно, скачан формат diffusers (папки) вместо одиночного файла: проверьте структуру скачанного
  • 🔧 Медленное скачивание через git — убедитесь, что установлен git-lfs, иначе вместо весов скачаются файлы-заглушки по несколько килобайт

Отдельный частый случай — скачанный файл размером в пару килобайт вместо гигабайт. Это верный признак того, что git-lfs не установлен и вместо бинарных весов вы получили текстовые указатели. Установите LFS и повторите клонирование.

Часто задаваемые вопросы

Нужен ли аккаунт Hugging Face для скачивания Stable Diffusion?

Для открытых репозиториев (например, SD 1.5) — нет, файлы скачиваются анонимно. Для gated-моделей (SD3 и ряд других) аккаунт обязателен: нужно войти, принять лицензию и использовать токен доступа.

Чем safetensors лучше ckpt?

Формат safetensors не исполняет код при загрузке, что исключает риск вредоносного payload, и загружается заметно быстрее. Функционально весы идентичны — разница только в упаковке и безопасности.

Можно ли использовать модели с Hugging Face в AUTOMATIC1111 или ComfyUI?

Да, если скачать одиночный файл .safetensors или .ckpt и поместить его в папку моделей интерфейса (models/Stable-diffusion для A1111, models/checkpoints для ComfyUI). Формат diffusers (папки) напрямую не поддерживается — его нужно конвертировать.

Куда скачиваются модели при запуске через diffusers?

В кэш Hugging Face — по умолчанию в домашнюю папку пользователя, подкаталог .cache/huggingface. Путь можно изменить переменной окружения HF_HOME.

Легально ли использовать Stable Diffusion с Hugging Face в коммерческих проектах?

Зависит от лицензии конкретной модели: условия указаны в карточке репозитория и файле LICENSE. У разных поколений (SD 1.5, SDXL, SD3) лицензии различаются, поэтому перед коммерческим применением обязательно прочитайте условия именно той модели, которую используете.