Instructions to use KennethFal/vh5tape-vhs-lora-minimax-h3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Inference
- Notebooks
- Google Colab
- Kaggle
File size: 7,587 Bytes
8444283 a130229 8444283 697c00f 8444283 674ff27 8444283 78a594b d25a4ab 78a594b d25a4ab 78a594b 8444283 78a594b bcb7eb0 8444283 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | ---
license: other
license_name: minimax-h3-community-license
license_link: https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE
base_model: MiniMaxAI/MiniMax-H3
base_model_relation: adapter
pipeline_tag: image-text-to-video
tags:
- lora
- video
- text-to-video
- vhs
- retro
- 1980s
- style
- minimax-h3
---
# vh5tape — a worn-VHS look for MiniMax H3
A style LoRA that makes H3 footage look like it was recorded off 1980s broadcast
television onto a VHS tape that has seen better days — soft smeared detail, chroma
bleed, tracking noise, head-switching bands at the frame edge, and (because H3
trains audio jointly) the matching muffled mono sound, tape hiss and warble.
The damage is a **prompt-controlled dial** with three trained levels, from a gentle
analog glow to a tape the VCR can barely hold onto.
<video controls playsinline width="720" src="https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/main/samples/vh5-trailer.mp4"></video>
## Gallery
All clips are raw single takes at 480P / 4:3 — none of this content was in the
training data.
<table>
<tr>
<td><video controls muted loop playsinline width="350" src="https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/main/samples/cartoon-robot.mp4"></video></td>
<td><video controls muted loop playsinline width="350" src="https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/main/samples/news-anchor.mp4"></video></td>
</tr>
<tr>
<td><video controls muted loop playsinline width="350" src="https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/main/samples/game-arcade.mp4"></video></td>
<td><video controls muted loop playsinline width="350" src="https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/main/samples/movie-horror.mp4"></video></td>
</tr>
<tr>
<td><video controls muted loop playsinline width="350" src="https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/main/samples/commercial-toy.mp4"></video></td>
<td><video controls muted loop playsinline width="350" src="https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/main/samples/musicvideo.mp4"></video></td>
</tr>
</table>
## Prompting
Prompt the way the model was trained: **trigger first, damage tier second, scene third.**
```
vh5tape, badly damaged VHS tape with heavy tracking errors and distortion. A loud
1980s local used car commercial: a salesman in a plaid suit shouts at a car lot
with strings of pennant flags and a spinning price sign, cheesy synthesizer
jingle, echoing announcer voice.
```
### The damage dial
| level | phrase |
|---|---|
| light | `lightly worn VHS tape with slight analog noise` |
| medium | `worn VHS tape recording with visible tape damage` |
| heavy | `badly damaged VHS tape with heavy tracking errors and distortion` |
### Tips
- **Trigger**: `vh5tape` — put it at the very start of the prompt.
- **Prompt expansion**: the LoRA was trained through H3's caption format, and the
`balanced` expansion mode preserves the trigger and damage phrases — safe to keep on.
- **Scale**: `1.0` for the full look; `0.7–0.9` softens the wear if heavy prompts
overshoot; up to `~1.5` pushes toward barely-watchable tape (fun for horror).
- **Sound comes along for free**: describe the audio ("muffled mono audio",
"canned laughter", "cheesy jingle") and it renders appropriately tape-worn.
- **Dialogue**: give characters short explicit quoted lines
(`the host says: "It slices, it dices!"`) — they come through near-verbatim.
- Period set dressing helps: wood paneling, studio lighting, 4:3, era wardrobe.
## Recipe (fal)
Works on the H3 and H3-Max LoRA endpoints
(`minimax/h3/text-to-video/lora`, `minimax/h3-max/text-to-video/lora`) and their
image-to-video LoRA siblings:
```json
{
"prompt": "vh5tape, worn VHS tape recording with visible tape damage. A 1980s ...",
"loras": [{ "path": "<url to vh5tape.safetensors>", "scale": 1.0 }],
"resolution": "480P",
"aspect_ratio": "4:3",
"duration": 15,
"prompt_expansion_mode": "balanced"
}
```
480P / 4:3 is the period-correct sweet spot; the style carries fine to higher
resolutions if you want clean pixels of a dirty tape.
## ComfyUI
`vh5tape.safetensors` loads in ComfyUI as-is — no conversion needed. It uses the
ComfyUI-native key layout (`diffusion_model.blocks.N.attn.{qkv_proj,out_proj}`,
fused QKV, alpha = rank), so all 104 modules load with no warnings.
**Base checkpoint — this is the thing that matters.** Use a non-pruned,
non-rotated base:
- ✅ `minimax_h3_fl2va_bf16.safetensors` (recommended)
- ✅ `minimax_h3_fl2va_pruned_fp8_scaled.safetensors`
- ❌ `*_int8_convrot`, `nvfp4`, `w4a8` — these store weights in a rotated /
quantized basis. The LoRA loads without any error and then produces warped
faces, melting limbs and disappearing objects. **The default checkpoint in the
official ComfyUI H3 tutorial is `minimax_h3_fl2va_pruned_int8_convrot` — you
must change it.** (Not specific to this LoRA — MiniMax-H3 LoRAs in general are
made for fp16/fp8 bases.)
**Setup**
1. Put `vh5tape.safetensors` in `ComfyUI/models/loras/`.
2. `UNETLoader` (bf16 or fp8_scaled fl2va) → `LoraLoaderModelOnly` →
`MiniMaxH3ImageToVideo` / your sampler.
3. Strength **1.0** (useful range 0.7–1.2).
**Sampling recipe** — H3 is CFG-distilled, so SDXL/Flux habits will degrade it
with or without a LoRA: use **BasicGuider** (not CFGGuider), `res_multistep` +
`simple`, ~**20 steps**, **video shift 12 / audio shift 3** (the MiniMax H3
Sigma Shift node). Stay near 1 MP (very low resolutions are unstable) and keep
prompts to a single shot.
**Stacking with a turbo LoRA:** drop this one to **0.4–0.6** — the two
perturbations add, and 4-step turbo has little headroom. (The `turbo_mode`
checkbox occupies its own LoRA slot; add a second `LoraLoaderModelOnly` for
this one.) 4-step turbo also softens the tape grain — ~20–25 full-precision
steps show the style best.
**If it looks wrong, two 2-minute checks:** (1) watch the console at load —
this LoRA should patch with **zero** "lora key not loaded" lines; (2) on a
quantized base, load the LoRA at **strength 0.0** and compare to no-LoRA — if
output degrades even at 0.0, the damage is the quantize→merge→requantize
round-trip on your base checkpoint, not this LoRA: switch to the bf16 base.
`vh5tape-comfyui.safetensors` is an optional convenience build: bit-identical
weights plus explicit `.alpha` tensors (= rank, scale 1.0) and the base-model
requirement in its metadata — same look, just harder to mis-load in
third-party loaders.
## Training
Trained with fal's MiniMax H3 t2v trainer (rank 32, 5,000 steps, 4:3, joint
video+audio objective) on a small hand-curated set of four-second clips of period
broadcast material — sitcoms, soap operas, commercials, news and station
sign-offs — each captioned with its content and one of the three damage-tier
phrases above. The 5,000-step checkpoint beat its 2k/3k/4k/6k siblings in blind
A/B testing; more steps past 5k made the damage *tamer*, not heavier.
## Get the weights
| file | what |
|---|---|
| [`vh5tape.safetensors`](./vh5tape.safetensors) | the LoRA, rank 32, 5,000 steps |
| [`vh5tape-comfyui.safetensors`](./vh5tape-comfyui.safetensors) | same weights bit-exact + explicit alpha tensors, for ComfyUI (see the ComfyUI section) |
| [`PROMPTS.md`](./PROMPTS.md) | the exact prompts + seeds behind every sample above |
Made for **H3-TV** — a 1970s portable CRT being rebuilt to play an endless,
slightly wrong 1980s broadcast day.
|