Если после запуска генерации в AUTOMATIC1111 WebUI выпадающий список Script внизу страницы пуст или выдаёт ошибку ModuleNotFoundError в консоли, причина почти всегда кроется в неправильно установленном скрипте или конфликте зависимостей Python. Скрипты — это встроенный механизм расширения функциональности Stable Diffusion WebUI, и понимание того, как они работают, избавляет от большинства подобных сбоев.
В этом материале разберём, чем скрипты отличаются от расширений, куда их помещать, какие из них наиболее полезны для пакетной генерации и постобработки, а также как диагностировать ошибки загрузки. Инструкции ориентированы на локальную установку AUTOMATIC1111 под Windows, но общие принципы применимы и к Linux.
Что такое скрипты в Stable Diffusion WebUI
Скрипт — это Python-файл, который WebUI подхватывает при запуске и добавляет в интерфейс дополнительную логику обработки изображений. В отличие от расширений, скрипты обычно появляются в выпадающем меню Script на вкладках txt2img и img2img и выполняются в момент генерации.
Типичные задачи, которые решают скрипты:
- 🧩 перебор значений параметров — например, сравнение разных CFG Scale или сэмплеров на одном промпте;
- 🖼️ пакетная обработка — генерация серии изображений по списку промптов из файла;
- 🎞️ создание анимаций и видео через покадровый img2img;
- 📐 постобработка — тайлинг, апскейл с разбиением, сшивка больших полотен.
Важно не путать: расширения (extensions) могут добавлять целые вкладки и менять интерфейс, а скрипты — это более простой механизм, ориентированный на конвейер генерации. Многие популярные дополнения технически являются расширениями, но в сообществе их часто называют скриптами.
Куда устанавливать скрипты
Стандартное место для пользовательских скриптов — папка scripts в корневом каталоге WebUI. Файл с расширением .py, помещённый туда, будет загружен при следующем запуске интерфейса.
Структура установки выглядит так:
stable-diffusion-webui/
├── extensions/ ← расширения (устанавливаются через вкладку Extensions)
├── scripts/ ← пользовательские скрипты .py
│ └── my_script.py
└── webui-user.bat ← файл запуска
После добавления файла необходимо полностью перезапустить WebUI — горячей перезагрузки скриптов нет. Если скрипт скачан архивом, убедитесь, что в папку попал именно .py-файл, а не вложенный каталог с ним.
Установка через вкладку Extensions
Более удобный путь для большинства дополнений — встроенный менеджер расширений. Он сам скачивает файлы из репозитория и упрощает обновление.
Порядок действий:
- Откройте вкладку
Extensionsв верхнем меню WebUI. - Перейдите в подраздел
Install from URL. - Вставьте ссылку на Git-репозиторий нужного дополнения и нажмите
Install. - Дождитесь сообщения об успешной установке, затем нажмите
Apply and restart UIна вкладкеInstalled.
☑️ Проверка после установки скрипта
⚠️ Внимание: устанавливайте скрипты и расширения только из проверенных репозиториев. Скрипт — это исполняемый Python-код, который имеет полный доступ к вашей системе: файлам, сети и данным. Перед установкой стороннего скрипта стоит хотя бы бегло просмотреть его исходный код.
Популярные скрипты и их назначение
В WebUI уже встроено несколько скриптов, доступных сразу после установки. Их можно найти в меню Script без какой-либо дополнительной настройки.
| Скрипт | Тип | Назначение |
|---|---|---|
| X/Y/Z plot | Встроенный | Сетка сравнения параметров: сиды, CFG, сэмплеры, чекпоинты |
| Prompt matrix | Встроенный | Комбинации фрагментов промпта, разделённых символом | |
| Prompts from file or textbox | Встроенный | Пакетная генерация по списку промптов |
| Loopback | Встроенный | Повторный img2img с результатом предыдущего шага |
| SD Upscale | Встроенный | Апскейл изображения по тайлам с детализацией |
Из сторонних решений чаще всего упоминают ControlNet (управление композицией по референсу), Deforum (покадровая анимация) и Ultimate SD Upscale (продвинутый тайловый апскейл). Все они устанавливаются как расширения через вкладку Extensions, но по сути работают как скрипты в конвейере генерации.
Скрипт X/Y/Z plot: подбор параметров без рутины
Самый практичный встроенный скрипт — X/Y/Z plot. Он генерирует сетку изображений, где по осям меняются выбранные параметры, и позволяет за один запуск увидеть, как влияет на результат тот или иной сэмплер или значение CFG.
Чтобы сравнить, например, несколько значений CFG Scale, выберите в поле X type значение CFG Scale, а в X values перечислите варианты через запятую:
5, 7, 9, 12
Результатом будет одна сводная картинка-таблица с подписанными осями. Аналогично можно сравнить сэмплеры (Sampler), сиды (Seed, с указанием диапазона) и даже чекпоинты моделей. Учтите: время выполнения умножается на количество комбинаций — сетка 4×4 означает 16 полных генераций.
Типичные ошибки при работе со скриптами
Большинство проблем проявляется уже при запуске WebUI — в консоли появляется красный traceback, а скрипт в интерфейсе отсутствует. Диагностику стоит начинать именно с чтения текста ошибки, а не с переустановки всего подряд.
Распространённые сценарии:
- 🐍
ModuleNotFoundError: No module named ...— скрипту не хватает Python-библиотеки; установите её в виртуальное окружение WebUI командойpip install; - 🔀 конфликт расширений — два дополнения изменяют один и тот же компонент; отключайте их по одному, чтобы найти виновника;
- 📁 скрипт лежит не в той папке — проверьте, что
.py-файл находится непосредственно вscripts, а не во вложенном каталоге; - 🔄 устаревшая версия — после обновления WebUI старые расширения иногда ломаются; обновите их через
Extensions → Check for updates.
⚠️ Внимание: массовое обновление всех расширений разом — частая причина «внезапно сломавшегося» интерфейса. Обновляйте дополнения по одному и проверяйте работоспособность после каждого, иначе потом будет сложно понять, какое из них вызвало сбой.
Если WebUI вообще перестал запускаться после установки расширения, удалите его папку из каталога extensions вручную и перезапустите программу. Это безопасная обратимая операция, которая не затрагивает модели и настройки.
Как установить библиотеку в окружение WebUI
Закройте WebUI, откройте командную строку в папке stable-diffusion-webui и выполните: venv\Scripts\python.exe -m pip install имя_библиотеки (для Windows). Затем запустите WebUI снова и проверьте консоль на отсутствие ошибок.
Написание собственного скрипта
Для пользователей, знакомых с Python, WebUI предоставляет открытый API скриптов: достаточно создать класс, наследующийся от modules.scripts.Script, и реализовать методы title(), ui() и run(). Минимальный шаблон занимает пару десятков строк.
Метод ui() отвечает за элементы управления в интерфейсе (слайдеры, чекбоксы на базе Gradio), а run() получает объект обработки p и может изменять промпт, параметры или результат генерации. Актуальный пример структуры стоит смотреть в официальной вики проекта AUTOMATIC1111 на GitHub, поскольку API периодически меняется между версиями.
Часто задаваемые вопросы
Почему скрипт не появляется в списке Script после установки?
Чаще всего WebUI не был полностью перезапущен, файл лежит во вложенной папке вместо корня scripts, или при загрузке возникла ошибка Python — проверьте консоль запуска на наличие traceback.
Чем скрипт отличается от расширения?
Скрипт — одиночный Python-файл в папке scripts, работающий в момент генерации и отображаемый в меню Script. Расширение — полноценный пакет в папке extensions, который может добавлять вкладки, кнопки и менять интерфейс.
Безопасно ли устанавливать скрипты из интернета?
Скрипт — это исполняемый код с полным доступом к системе. Скачивайте дополнения только из известных репозиториев с репутацией и по возможности просматривайте исходный код перед установкой.
Можно ли использовать несколько скриптов одновременно?
В выпадающем меню Script выбирается только один скрипт за раз, но расширения, добавляющие свои панели (например, ControlNet), могут работать параллельно с выбранным скриптом.
Что делать, если после обновления WebUI скрипт перестал работать?
Сначала обновите само расширение через Extensions → Check for updates. Если не помогло — проверьте страницу проекта: возможно, автор уже выпустил исправление или описал несовместимость с новой версией WebUI.