Skip to content

GPUCLOUDXYZ/inferno-bench

Repository files navigation

InfernoBench

Throw open models into the fire. Keep the ones that actually run.

An open-source model installation and benchmark lab with reproducible, one-command local AI recipes. Generate with Wan2.1 or Sulphur-2, then restore and upscale with ByteDance SeedVR2-3B in one browser studio.

Release Linux NVIDIA CUDA Wan2.1 SeedVR2

Start here · README index · Install · Troubleshooting

Start here

Never installed a local AI model before? Follow these five steps:

  1. Open a terminal on the Linux computer with your NVIDIA GPU.
  2. Run nvidia-smi. If it shows your GPU, continue.
  3. Choose SeedVR2 to improve a video, or Wan2.1 to create one from text.
  4. Paste one installer from the table below and let it finish.
  5. Run sulphurctl status, then open the displayed Simple UI address.
I want to… Paste this one command
Restore or upscale a video with SeedVR2-3B curl -fsSL https://raw.githubusercontent.com/GPUCLOUDXYZ/inferno-bench/main/bootstrap-seedvr2.sh | sh
Generate a silent video from text with Wan2.1 curl -fsSL https://raw.githubusercontent.com/GPUCLOUDXYZ/inferno-bench/main/bootstrap-wan.sh | sh
Generate video and audio with Sulphur-2 curl -fsSL https://raw.githubusercontent.com/GPUCLOUDXYZ/inferno-bench/main/bootstrap.sh | sh

For SeedVR2, paste:

curl -fsSL https://raw.githubusercontent.com/GPUCLOUDXYZ/inferno-bench/main/bootstrap-seedvr2.sh | sh

Tip

Open Restore video, upload a short clip, and choose Preview first. SeedVR2 restores uploaded footage; it does not take a text prompt.

README index

I want to… Go here
Understand the project What is InfernoBench?
Decide between all three models Which model should I choose?
Check whether my computer is ready Requirements
Install SeedVR2-3B with one command SeedVR2 restoration install
Install Wan2.1 with one command Wan2.1 recommended install
Install Sulphur-2 with generated audio Sulphur-2 install
Put models on a different disk Store models on another disk
Restore my first video Your first SeedVR2 restoration
Generate my first video Your first generated video
Understand every size preset Video presets
Start, stop, or inspect the services Everyday commands
Use the ComfyUI node editor Advanced ComfyUI
See exactly what gets installed What the installer changes
Fix an error or stalled generation Troubleshooting
Read common answers FAQ
Use the LAN UI safely Security

Sulphur local AI text-to-video web interface

What is InfernoBench?

InfernoBench is a public, self-hosted model lab for Linux: tested installers, pinned dependencies, hardware checks, real benchmark results, and simple local interfaces. Inferno Studio puts the efficient Wan2.1 1.3B Diffusers pipeline, the larger Sulphur-2 ComfyUI workflow, and SeedVR2-3B video restoration behind the same beginner-friendly UI.

It is designed for creators, AI filmmakers, developers, and researchers who want local video generation and enhancement without wiring nodes by hand.

Input A text description or an uploaded video
Output Generated or restored MP4; input audio is preserved by SeedVR2
Simple UI http://YOUR-PC-IP:8088
ComfyUI http://YOUR-PC-IP:8188
Inference Local NVIDIA CUDA GPU
Model choices SeedVR2-3B, Wan2.1-T2V-1.3B, or Sulphur-2-base
Release v1.2.0

Why use it?

  • One-command setup: install only the model you want, then add others later.
  • Local video restoration: upload a clip and recover detail with SeedVR2-3B.
  • Consumer-GPU option: Wan2.1 1.3B is designed for roughly 8 GB VRAM.
  • Actually beginner-friendly: upload or prompt, follow progress, play, download.
  • Local-first processing: prompts, uploads, and rendered video stay on the host.
  • Optional generated audio: select Sulphur-2 when the clip needs sound.
  • Reproducible: pinned versions and SHA-256 checks for all model files.
  • Resumable: interrupted multi-gigabyte downloads continue on the next run.
  • Two quality modes: quick Draft testing or a longer Standard render.
  • Advanced when needed: Sulphur-2 still includes the full ComfyUI editor.

Which model should I choose?

Choose Best for Hardware target Audio Download
SeedVR2-3B FP8 Restoring/upscaling existing clips 8–16 GB VRAM Preserves input audio About 4 GB
Wan2.1 First-time setup, faster tests, smaller GPUs About 8 GB VRAM No About 29 GB
Sulphur-2 Higher-complexity workflows and generated sound About 16 GB VRAM Yes About 43 GB

SeedVR2 is video-to-video restoration, not a text-to-video generator. If you already have footage, choose SeedVR2. If you want to create footage from words, start with Wan2.1. Every installed model appears in the same browser UI.

One-command install

SeedVR2-3B video restoration

This is the smallest download and the current 16 GB GPU test path:

curl -fsSL https://raw.githubusercontent.com/GPUCLOUDXYZ/inferno-bench/main/bootstrap-seedvr2.sh | sh

The official ByteDance reference code targets an 80 GB H100 for a 100-frame 720p example. InfernoBench instead pins the maintained SeedVR2 v2.5.23 runtime, the verified 3B FP8 conversion, full CPU block swap, and tiled VAE processing. That consumer-GPU profile completed a real test on the RTX 5060 Ti.

The installer needs Debian/Ubuntu, a working NVIDIA driver, at least 8 GB VRAM, 16 GB RAM plus swap, and 14 GiB free disk. Model downloads total about 4 GB.

Wan2.1 recommended first install

Wan2.1 needs Debian/Ubuntu, a working NVIDIA driver, about 8 GB VRAM, 16 GB system RAM plus swap, and 38 GiB free disk space. Its download is about 29 GB.

Paste this single Bash command into a terminal:

curl -fsSL https://raw.githubusercontent.com/GPUCLOUDXYZ/inferno-bench/main/bootstrap-wan.sh | sh

That is the whole setup. The bootstrap downloads the pinned v1.2.0 release, checks your GPU, memory, and free space without changing the machine, then asks for your administrator password and starts installation.

The installer is safe to run again. Existing verified models are skipped, and unfinished Hugging Face downloads resume.

Sulphur-2 with generated audio

Sulphur-2 needs roughly 16 GB VRAM, 28 GB RAM plus swap, 65 GiB free space, and about 43 GB of downloads:

curl -fsSL https://raw.githubusercontent.com/GPUCLOUDXYZ/inferno-bench/main/bootstrap.sh | sh

You can run both commands to make both engines available in the same UI.

Prefer separate steps?

git clone https://github.com/GPUCLOUDXYZ/inferno-bench.git
cd inferno-bench
./install-seedvr2.sh --check
sudo ./install-seedvr2.sh

The separate steps install the current branch. The streamed command above uses the pinned release declared in bootstrap.sh.

Store models on another disk

The default data root is /var/lib/glass. To use a different mounted disk:

sudo env SULPHUR_DATA_ROOT=/mnt/large-disk/inferno ./install-seedvr2.sh

Use an absolute path without spaces. Keep 14 GiB free for SeedVR2, 38 GiB for Wan2.1, or 65 GiB for Sulphur-2.

Requirements

The verified system used:

Component Verified configuration
OS Debian Linux with systemd
GPU NVIDIA RTX 5060 Ti
VRAM 16 GB
RAM 30 GB
Swap 32 GB
Driver NVIDIA 610.43.02

The SeedVR2 recipe is verified on this exact 16 GB host. Its five-frame 576×360 smoke test took 5.9 seconds, averaged 0.85 FPS, and peaked below 4 GB VRAM with all 32 transformer blocks swapped through CPU memory. Longer and higher-resolution clips take proportionally longer.

The complete browser-upload test processed all 33 frames of a 512×320 clip and returned a valid 768×480 H.264 MP4 with HTTP range playback:

SeedVR2-3B local restoration comparison: 512x320 input and 768x480 output

Before installing, confirm the driver:

nvidia-smi

Then inspect memory, swap, and disk:

free -h
swapon --show
df -h /var/lib/glass

It is fine if /var/lib/glass does not exist yet. The installer creates it. The NVIDIA driver itself is intentionally not installed automatically because the correct driver procedure depends on the GPU and Linux distribution.

Your first SeedVR2 restoration

After the installer finishes, run:

sulphurctl status

Open the displayed Simple UI address, then:

  1. Stay on Restore video.
  2. Drop in an MP4, MOV, MKV, WEBM, or AVI clip.
  3. Choose Preview for the first run.
  4. Click Restore video.
  5. Watch the local VAE, restoration, decoding, and encoding progress.
  6. Compare the result in the player and download the restored MP4.

For this safe local test profile, uploads can be up to 256 MB and 321 frames. Preview targets a 480-pixel short edge; HD targets 720 pixels. SeedVR2 can over-sharpen clean inputs, so use footage with visible compression, blur, noise, or missing texture. Audio from the uploaded clip is copied into the result.

Restored files are saved under:

DATA_ROOT/workspace/SeedVR2/output/

Your first generated video

When installation finishes, print the LAN addresses:

sulphurctl status

Open the Simple UI address on this PC or another device connected to the same trusted network:

http://YOUR-PC-IP:8088

Then:

  1. Click Use an example, or paste the prompt below.
  2. Choose Wan2.1.
  3. Leave Draft selected.
  4. Click Generate video.
  5. Keep the browser tab open while the model runs.
  6. Play or download the finished MP4.

Try this prompt:

A tiny red paper airplane glides across a sunlit studio table. The camera follows at table height as it lifts gently into the air. Cinematic soft shadows, realistic paper texture, and smooth natural motion.

Strong text-to-video prompts describe:

  • the subject and its actions;
  • camera position and movement;
  • lighting, color, and visual style;
  • scene changes over time;
  • visual style, atmosphere, and temporal changes.

Wan2.1 produces a silent MP4. Choose Sulphur-2 when you also want sound effects, ambience, music, or dialogue.

What success looks like

The page moves through loading and sampling progress, then displays:

  • an embedded video player;
  • a Download video link;
  • a short MP4;
  • a video download link;
  • with Sulphur-2, a 48 kHz stereo AAC audio track.

Generated files are also saved under:

DATA_ROOT/workspace/Wan2.1/output/

Sulphur-2 files remain under DATA_ROOT/workspace/ComfyUI/output/SulphurUI/. With the default configuration, DATA_ROOT is /var/lib/glass.

Video presets

Engine Preset Output Use it for
SeedVR2-3B Preview 480p short edge First restoration and smaller GPUs
SeedVR2-3B HD 720p short edge Final detail pass on a 16 GB GPU
Wan2.1 Draft 2 sec · 512×320 · 16 FPS Fast prompt tests
Wan2.1 Standard 5 sec · 832×480 · 16 FPS The model's native 480p target
Sulphur-2 Draft 1 sec · 512×320 · 24 FPS Audio/video prompt tests
Sulphur-2 Standard 2 sec · 768×512 · 24 FPS Upscaled detail and audio

Always confirm Preview or Draft works before selecting the larger preset.

Expected Wan2.1 speed on a 16 GB GPU

On the verified RTX 5060 Ti host with the model stored on external SSD:

  • the first cold request took about 12 minutes, including an 11-minute UMT5 text-encoder load;
  • a later warm Draft completed in about 39 seconds;
  • the 20 warm denoising steps took roughly 28 seconds;
  • restarting sulphur-wan.service makes the next request cold again.

Expected Sulphur-2 speed on a 16 GB GPU

Sulphur-2 is larger than 16 GB VRAM, so ComfyUI dynamically moves weights between storage, system RAM, and GPU memory.

On the verified host:

  • the first cold generation took roughly 10–15 minutes;
  • a later warm Draft took roughly one minute;
  • restarting ComfyUI makes the next model load cold again;
  • storage speed strongly affects cold-start time.

Low GPU activity during the first few minutes can simply mean model weights are being read from disk.

How it works

flowchart LR
    A["Prompt or uploaded clip"] --> B["Inferno Studio<br/>port 8088"]
    B --> C{"Task"}
    C -->|Wan2.1| D["Diffusers worker<br/>port 8190"]
    C -->|Sulphur-2| E["ComfyUI<br/>port 8188"]
    C -->|SeedVR2| I["Restoration worker<br/>port 8191"]
    D --> F["Silent MP4"]
    E --> G["H.264 + AAC MP4"]
    I --> J["Restored MP4<br/>input audio preserved"]
    F --> H["Play or download"]
    G --> H
    J --> H
Loading

The browser UI routes each job to the native Wan Diffusers worker, the pinned ComfyUI workflow, or the standalone low-memory SeedVR2 worker. All execute locally. No hosted generation or restoration API is required.

Everyday commands

The installer adds sulphurctl to /usr/local/bin.

Command Purpose
sulphurctl status Show LAN addresses and service status
sulphurctl doctor Check services, HTTP, GPU, and model discovery
sudo sulphurctl stop Stop Sulphur and release GPU/RAM
sudo sulphurctl start Start both services
sudo sulphurctl restart Restart both services
sudo sulphurctl logs Follow live backend and UI logs

Press Ctrl+C to stop watching logs. It does not stop Sulphur.

Advanced ComfyUI

The full node editor is available at:

http://YOUR-PC-IP:8188

Open the workflow:

Sulphur-2 T2V (16GB test)

The advanced editor is optional. The simple UI already uses the tested API form of that workflow.

What the installer changes

It installs:

Repository
├── install.sh                  setup and validation
├── install-wan.sh              Wan2.1 Diffusers setup
├── install-seedvr2.sh          SeedVR2 low-memory setup
├── wan/                        queued Wan generation backend
├── seedvr/                     queued restoration backend
├── sulphurctl                  service control and diagnostics
├── ui/                         simple browser application
├── workflows/                  UI and API workflows
├── systemd/                    service templates
└── checksums/                  model SHA-256 manifest

/var/lib/glass/
├── models/sulphur-2/           model weights
├── models/Wan2.1-.../          pinned Diffusers model snapshot
├── models/SeedVR2-3B/          verified FP8 DiT and FP16 VAE
├── workspace/ComfyUI/          backend, Python environment, outputs
├── workspace/Wan2.1/           Wan runtime and outputs
├── workspace/SeedVR2-runtime/  pinned restoration runtime + environment
├── workspace/SeedVR2/          uploads while running and restored outputs
├── workspace/sulphur-ui/       shared browser UI runtime
└── cache/                      package/download caches

/var/cache/glass/cuda/          hot CUDA compilation cache
/etc/systemd/system/            Sulphur service units

The model weights are downloaded during installation and are not committed to this Git repository.

Model manifest

Component Size Source
SeedVR2-3B FP8 DiT 3.39 GB Converted from ByteDance-Seed/SeedVR2-3B; file from numz/SeedVR2_comfyUI
SeedVR2 VAE FP16 501 MB numz/SeedVR2_comfyUI
Wan2.1 T2V 1.3B Diffusers snapshot 28.9 GB Wan-AI/Wan2.1-T2V-1.3B-Diffusers
Sulphur mixed-FP8 checkpoint 29.16 GB SulphurAI/Sulphur-2-base
LTX-2.3 distilled LoRA 2.74 GB Comfy-Org/ltx-2.3
Gemma abliterated LoRA 628 MB Comfy-Org/ltx-2
Gemma 3 12B FP4 text encoder 9.45 GB Comfy-Org/ltx-2
LTX-2.3 spatial upscaler 996 MB Lightricks/LTX-2.3

The SeedVR2 runtime is pinned to v2.5.23 commit 5a4bf428f3735cc72ac760d40f372f94dec28422, and its model files are pinned to Hugging Face commit 09ced71023636e9bc8cdf9cdecfb2625d1e691e8 with SHA-256 verification. The Wan snapshot is pinned to commit 0fad780a534b6463e45facd96134c9f345acfa5b.

Troubleshooting

The installation was interrupted

Run the installer for the engine you were adding:

sudo ./install-wan.sh
# or
sudo ./install.sh
# or
sudo ./install-seedvr2.sh

Wan's pinned Hugging Face snapshot and the .part downloads for Sulphur and SeedVR2 resume. Model files are not accepted until their SHA-256 hashes match.

The UI does not open

sulphurctl doctor
sudo journalctl -u sulphur-ui.service -n 100 --no-pager
sudo journalctl -u sulphur-comfyui.service -n 100 --no-pager
sudo journalctl -u sulphur-seedvr2.service -n 100 --no-pager

If local checks pass but another device cannot connect, inspect the host firewall and confirm both devices are on the same LAN.

PyTorch says CUDA is unavailable

First confirm:

nvidia-smi

Then test the installed Python environment:

# Wan2.1
/var/lib/glass/workspace/Wan2.1/.venv/bin/python -c \
  'import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available())'

# Sulphur-2
/var/lib/glass/workspace/ComfyUI/.venv/bin/python -c \
  'import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available())'

# SeedVR2
/var/lib/glass/workspace/SeedVR2-runtime/.venv/bin/python -c \
  'import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available())'

The final value must be True. If it is False, fix the NVIDIA driver and reboot.

Triton reports Python.h: No such file or directory

Run the installer again. It installs python3-dev, which provides the active Python development header.

Out-of-memory error

  • Close games and other GPU applications.
  • Use Preview for SeedVR2 or Draft for generation.
  • Confirm swap with swapon --show.
  • Do not submit generation and restoration jobs at the same time.
  • Wan uses CPU offload; Sulphur keeps --lowvram --reserve-vram 1.
  • SeedVR2 uses FP8 weights, 32-block CPU swap, and tiled VAE processing.
  • Wan targets roughly 8 GB VRAM; Sulphur targets roughly 16 GB.

Generation seems frozen

sudo sulphurctl logs

Cold loading can spend several minutes reading model files while GPU use is low. Wait for an explicit error before interrupting the process.

FAQ

Can SeedVR2-3B run on a 16 GB consumer GPU?

Yes. The official research example is much heavier, but this recipe uses the maintained v2.5.23 runtime with a 3B FP8 conversion, CPU block swap, and VAE tiling. It was tested locally on a 16 GB RTX 5060 Ti. The 8 GB minimum is a low-memory target, not a guarantee for every resolution and clip length.

Is SeedVR2 a text-to-video model?

No. SeedVR2 restores an uploaded video or image. Use Wan2.1 or Sulphur-2 when you want to generate a new scene from text.

Can Sulphur-2 run locally?

Yes. This repository installs a local Sulphur-2 text-to-video pipeline for an NVIDIA CUDA GPU. It was verified on a 16 GB RTX 5060 Ti using low-VRAM model offload.

Can Wan2.1 run locally?

Yes. The Wan installer uses the native Diffusers pipeline with CPU offload. The model authors report about 8.19 GB VRAM for the 1.3B model and recommend 480p for its most stable output.

Does the generated video include audio?

It depends on the selected engine. Sulphur-2 jointly generates video and stereo audio. Wan2.1-T2V-1.3B creates a silent video.

Do I need to understand ComfyUI?

No. The simple UI is enough for prompting, progress, playback, and download. ComfyUI remains available for advanced workflow editing.

Is generation private?

Inference runs on the local machine. Installation still needs internet access to download code, Python packages, and model files.

Can I use a GPU with less than 16 GB VRAM?

SeedVR2's FP8 low-memory preset and Wan2.1 are the appropriate options for an 8–15 GB GPU. Sulphur-2 is not verified below roughly 16 GB.

Security

The LAN pages have no login or password.

  • Use them only on a trusted home or office network.
  • Do not expose ports 8088, 8188, 8190, or 8191 to the public internet.
  • Do not port-forward those ports on your router.

License and responsible use

Wan2.1-T2V-1.3B and SeedVR2 are Apache-2.0 licensed. Sulphur-2 is derived from LTX-2.3 and is governed by the model repositories' licenses and acceptable-use rules. Review the current Wan2.1 model page, SeedVR2-3B model page, Sulphur-2 model page and LTX-2.3 license before commercial use or redistribution.

This repository contains installer code, UI code, service definitions, and workflows. It does not redistribute model weights.


Local AI video should feel like using a tool—not assembling one.

If this repository helps you, consider starring it so other local-AI creators can find it.

Releases

Packages

Contributors

Languages