Хранение и бэкап ComfyUI: workflow, маски и результаты
GPU-инстанс — рабочее окружение. Файл на его локальном диске не является независимой резервной копией. Сохранность данных и начисления зависят от выбранного ресурса и его жизненного цикла: нельзя считать ни что остановка всегда удаляет всё, ни что файлы гарантированно переживут остановку, замену или удаление.
Что входит в резервную копию проекта
| Данные | Зачем нужны | Где обычно находятся |
|---|---|---|
| UI workflow JSON | Узлы, настройки и расположение на холсте | Загрузки браузера; сохранённые графы могут быть в user/ |
| API workflow JSON | Повторение отправки из скрипта | Локальный каталог проекта |
| Исходники и маски | Восстановление редактирования или ControlNet | input/, включая файлы редактора масок |
| Результаты генерации | Готовые изображения | output/ |
| Список моделей | Точные файлы, варианты и источники | Собственный текстовый/JSON-файл проекта |
| Описание окружения | Версии, на которых получен результат | Git-ревизии и список Python-пакетов |
Готовые пресеты по умолчанию используют /workspace/ComfyUI; ручная установка может находиться в другом месте. При запуске можно переопределить input, output и user, поэтому пустая стандартная папка — повод проверить фактическую команду запуска.
Для API сохраняйте оба формата графа
UI-экспорт хранит холст, API-экспорт — входы выполнения. Они не заменяют друг друга. Скачиваемый клиент сохраняет API-запрос рядом с результатом, но не восстанавливает из него исходное расположение узлов.
PNG может содержать workflow или промпт в метаданных. Редактор, оптимизатор или сервис публикации способен удалить их. Сохраняйте отдельный JSON и проверяйте встроенные промпты перед передачей изображения с приватными данными.
Зафиксируйте окружение до изменений
Из корня ComfyUI, используя Python-окружение работающего сервера:
git rev-parse HEAD > comfyui-revision.txt
python -m pip freeze > python-packages.txt
nvidia-smi > gpu-environment.txt
Для каждого репозитория custom node также запишите Git-ревизию. Сохраните источник модели, точное имя и по возможности контрольную сумму. Одного имени переименованного файла недостаточно для идентификации весов. Для собственного venv запишите способ его создания: список пакетов описывает окружение, но не гарантирует идентичный результат на другом драйвере.
Перед публикацией отчётов проверьте приватные URL пакетов и внутренние сведения. В записях API-запросов могут быть промпты и локальные имена файлов.
Сделайте копию до завершения работы
- Дождитесь активных заданий или осознанно отмените их. Проверьте, что запись файлов завершена.
- Экспортируйте UI/API-графы, скачайте нужные исходники/маски и итоговые изображения, добавьте сведения о моделях и окружении.
- Скопируйте проект на компьютер или в хранилище, независимое от этого инстанса. Проверьте, что файлы открываются и не являются пустыми заглушками.
- После этого остановите или удалите ресурсы через панель платформы. Закрытие браузера или Python-клиента не прекращает тарификацию GPU.
Большие публичные веса часто можно скачать заново. Приватный fine-tune, собственную LoRA или исчезнувшую ревизию модели восстановить бывает сложнее. Решение о хранении весов зависит от их заменимости и условий использования; оно отличается от сохранения небольших файлов workflow.
Отделяйте диск от времени генерации
Сохраняемые диски, трафик и оставленные ресурсы могут тарифицироваться отдельно. Проверяйте предложение и состояние ресурсов, а не универсальное обещание «100 ГБ в комплекте». Полный расчёт разобран в руководстве по стоимости аренды.
Перед продолжением на другом окружении восстановите модели, откройте небольшой стартовый граф и проверьте результат. Отсутствующие зависимости разбираются в моделях и узлах, ошибки выполнения — в диагностике. Источник: параметры каталогов ComfyUI.
Готовы запустить?
Запустить GPU-сервер