linoyts's picture
linoyts HF Staff
Update README.md
cf638e4 verified
|
Raw History Blame Contribute Delete
1.84 kB
---
title: Video Replace Background workflow
emoji: 🎬
colorFrom: indigo
colorTo: green
sdk: gradio
sdk_version: 6.29.1
app_file: app.py
pinned: false
hf_oauth: true
short_description: replace video background with LTX alpha LoRA + H3 inpainting
suggested_hardware: zero-a10g
---
# Video Replace Background
Put a video subject on a new, generated background - or just remove the background - by chaining two models:
1. **Lift the subject** with the LTX-2.5 Alpha-Gen matte LoRA ([Lightricks/LTX-2.5-22b-IC-LoRA-Alpha-Gen](https://huggingface.co/Lightricks/LTX-2.5-22b-IC-LoRA-Alpha-Gen)),
called over the gradio API: video in, alpha matte + green-screen out.
2. **Regenerate the background** with MiniMax-H3 ref2va inpainting ([multimodalart/MiniMax-H3-Pruned](https://huggingface.co/multimodalart/MiniMax-H3-Pruned)),
held in this Space via the [inpainting modular blocks](https://huggingface.co/diffusers-modular/minimax-h3-inpainting).
The subject is handed to H3 as conditioning; the inverted matte marks the background as the region to repaint. Text
encoding runs on the `qwen3vl-conditioner` Space, so this one never loads a 60 GiB encoder.
Upload any clip and describe the background, or turn on **Just remove the background** for a subject-on-black cutout
(no generation). **Relight strength** is the quality lever: at 0 the subject is held exactly (best when the new
background's light matches the original); turn it up and H3 lights the subject into the new scene so it does not read
as a cutout, while keeping identity.
Runs on ZeroGPU with the [ref2v turbo LoRA](https://huggingface.co/lightx2v/Minimax-h3-Turbo) at 8 steps. The matte
and conditioner calls bill the caller's ZeroGPU quota, same as the denoise. The matte is cached per input clip, so
changing only the prompt reuses it and skips the LTX pass.