RelayVSR X2: 2x-апскейлер видео, обученный на клипах H3

ComfyUI Wikinews

Команда LightX2V переобучила RelayVSR для нативного 2x суперразрешения видео: 45 FPS на H100, подавление мерцания и два чекпойнта.

RelayVSR X2 опубликован 29 октября 2026 года командой LightX2V. Модель переобучена из RelayVSR с фиксированного 4x суперразрешения на нативное 2x и нацелена на шаг повышения разрешения, который идёт после генерации MiniMax H3. Веса лежат на Hugging Face, вывод выполняется через scripts/relayvsr из LightX2V, а узла ComfyUI для неё пока нет.

Клип H3 в 768x1344 чисто удваивается до 1536x2688, что является обычным финальным разрешением. RelayVSR умела только 4x, поэтому тот же клип уходил в 3072x5376 и оплачивал вчетверо больше пиксельной работы ради выхода, который большинству кадров не нужен. X2 считает на 2x вместо того, чтобы считать на 4x и затем уменьшать.

RelayVSR X2, применённый к клипу H3 1024x768

Сначала мерцание, потом резкость

Модели суперразрешения склонны усиливать слабое временное мерцание, которое уже есть в сгенерированном видео, поэтому увеличенный клип в движении может выглядеть хуже источника, даже если отдельные кадры выглядят резче. Дизайн RelayVSR нацелен именно на это: большая генеративная модель записывает референсные латенты только для разреженных ключевых кадров, а небольшая сеть VSR переносит эти референсы на каждый кадр, с ограниченным упреждением и кольцевым KV-кэшем кадров в реализации LightX2V.

Входные данные опубликованного бенчмарка сами по себе являются выходом H3: клип с дрона над крышей 1024x768 при 24 fps с небольшим уже имеющимся мерцанием. Поэтому сетка сравнения показывает именно тот случай, под который обучалась модель, а не чистую съёмку с камеры.

Два чекпойнта, один масштаб

Релиз X2 поставляется двумя файлами, которые нужно скачать в один и тот же каталог:

  • wan_x2.safetensors (10.1 ГБ): чекпойнт на базе Wan, который генерирует референсы для разреженных ключевых кадров.
  • flash_x2.safetensors (127 МБ): компактный условный декодер, который повышает разрешение оставшихся кадров.

Раннер LightX2V проверяет масштаб и архитектуру и отклоняет смешанные веса 2x и 4x, вместо того чтобы загрузить несовместимую пару. Размер выхода не является пользовательской настройкой: он следует за размерами входа и sr_ratio, который для модели X2 должен быть равен 2. Старый чекпойнт 4x по-прежнему принимает sr_ratio=2, но внутри считает на 4x и затем уменьшает результат, и именно этих затрат призван избежать новый релиз.

Четыре апскейлера на одном кадре H3

Один и тот же кадр в размере отображения 960x720: источник H3, увеличенный в 2x бикубикой (сверху слева), RelayVSR X2 (сверху справа), FlashVSR+ Turbo (снизу слева) и Open-H3-Regenerate-2K (снизу справа). Кадры из опубликованных бенчмарк-клипов.

Замеры на одной H100

В карточке приводится один измеренный прогон на модель после прогрева на том же разрешении, последовательно на одной H100 80GB с PyTorch 2.11.0 и CUDA 13.0, на 243 кадрах 1024x768 при 24 fps:

  • RelayVSR X2 (LightX2V): 5.348 с, 45.44 FPS, выход 2048x1536
  • SwiftVR (LightX2V): 6.399 с, 37.98 FPS
  • SwiftVR: 7.252 с, 33.51 FPS
  • RelayVSR 4x (LightX2V): 19.304 с, 12.59 FPS, выход 4096x3072
  • RelayVSR 4x: 26.332 с, 9.23 FPS, выход 4096x3072
  • FlashVSR+ Turbo: 54.024 с, 4.50 FPS
  • SeedVR2-3B: 352.820 с, 0.69 FPS
  • Open-H3-Regenerate-2K: 784.954 с, 0.31 FPS
Кроп деталей 1:1, источник против RelayVSR X2

Это цифры с H100 для 10-секундного клипа. Статья об оригинальной модели 4x сообщает 29.29 FPS при 1080p на A100 с пиковым потреблением памяти 13.82 ГБ против 7.80 FPS и 24.447 ГБ у FlashVSR-Tiny, так что архитектура рассчитана на то, чтобы умещаться в одну GPU, а не на победу на бенчмарк-стенде.

Одно раннее измерение пользователя на Banodoco показывает разрыв в том же диапазоне на потребительском железе: JohnDopamine снял таймстемпы с прогона, где финальная стадия Relay заняла около 85 секунд, а FlashVSR+ показал 331 секунду (сообщение). Тот же клип, своя GPU и сетап, поэтому воспринимать это стоит как соотношение, а не как абсолютную скорость.

Как запустить

Вывод живёт в LightX2V, а не в отдельном пакете:

git clone https://github.com/ModelTC/LightX2V.git
cd LightX2V
hf download lightx2v/RelayVSR_X2 \
    wan_x2.safetensors flash_x2.safetensors \
    --local-dir ./models/RelayVSR_X2

Укажите в scripts/relayvsr/run_relayvsr_x2_sr.sh путь к клону, весам, входному видео и GPU, оставьте --model_cls relayvsr_x2 с --config_json configs/relayvsr/relayvsr_x2.json и --sr_ratio 2, затем запустите скрипт из корня репозитория. Конфиг по умолчанию держит оба чекпойнта в памяти с включёнными компиляцией и прогревом; relayvsr_x2_block_offload.json выгружает блоки Wan для более жёсткой экономии VRAM, а relayvsr_x2_sp.json разделяет один клип между двумя GPU.

Для повторяющейся работы есть режим постоянно запущенного сервера: запустите python -m lightx2v.server --model_cls relayvsr_x2 --task sr, затем отправляйте путь входа, sr_ratio, путь выхода и seed на /v1/tasks/video/ для каждого клипа, чтобы веса загружались один раз.

Доступность

RelayVSR X2 это релиз LightX2V: Linux и GPU NVIDIA, запуск из CLI или через сервер, без опубликованного узла ComfyUI или обёртки и без пайплайна diffusers в репозитории. В changelog LightX2V указаны асинхронное кодирование и сохранение аудио источника, поэтому клип H3 сохраняет дорожку, с которой он был сгенерирован. Тем, кто хочет использовать это внутри графа, сейчас придётся самостоятельно обернуть раннер.

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…
RelayVSR X2: 2x-апскейлер видео, обученный на клипах H3 | ComfyUI Wiki