--- 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. ## Gallery All clips are raw single takes at 480P / 4:3 — none of this content was in the training data.
## 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": "", "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.