Files

74 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ComfyUI-MiniMaxH3-Refine
Nœud **MiniMax H3 Refine (fl2va)** : prend une vidéo brouillon H3 (image + son),
générée avec trop peu de steps, et prépare le latent AV et le conditioning positif
pour la corriger avec un sampler à **faible denoise** sur le checkpoint **fl2va**
(beaucoup plus léger que le ref2va, qui garde la vidéo de référence dans la séquence
à chaque step).
## Installation
Copier le dossier `ComfyUI-MiniMaxH3-Refine` dans `ComfyUI/custom_nodes/`, puis redémarrer.
Aucune dépendance supplémentaire (utilise torch et torchaudio fournis avec ComfyUI).
Prérequis : une version de ComfyUI avec le support natif de MiniMax H3
(PR #15224) et l'API `comfy_api.latest`.
## Nœud
Catégorie : `model/conditioning/minimax`
| Entrée | Rôle |
|---|---|
| `clip` | Encodeur de texte H3 |
| `vae` | VAE vidéo H3 |
| `audio_vae` | VAE audio H3 |
| `prompt` | Même prompt (structuré) que pour le brouillon, soundscape inclus |
| `images` | Frames du brouillon |
| `audio` (opt.) | Audio du brouillon. Absent = silence |
| `source_fps` | FPS du brouillon (rééchantillonné à 24 fps si différent) |
| `width` / `height` | 0 = taille du brouillon arrondie au multiple de 32 |
| `first_frame` / `last_frame` (opt.) | Keyframes **propres**, réinjectées à chaque step |
Sorties : `positive`, `latent` (AV nested), `frames` (nombre de frames utilisé).
Le nœud coupe le brouillon à la plus grande longueur 17k+5 (ex. 130 -> 124 frames).
## Workflow conseillé
```
GetVideoComponents ──images/audio──► MiniMax H3 Refine (fl2va) ──positive──► BasicGuider (cfg 1) ──► SamplerCustomAdvanced ──► séparation AV ──► VAEDecode (vidéo)
└─latent──────────────────────────────────────────────────────► └─► décodage VAE audio
```
- Modèle : checkpoint **fl2va** (idéalement avec `MiniMaxH3SigmaShift`, valeurs par défaut 12 / 3).
- `BasicGuider` avec cfg 1 (le DiT H3 refuse les batchs).
- `BasicScheduler` : 6 à 8 steps, **denoise bas**.
## Réglage du denoise
Avec un shift vidéo de 12, la plage utile est très basse. Valeurs indicatives
(σ vidéo de départ, calcul théorique à confirmer sur ton modèle) :
| denoise | σ vidéo de départ |
|---|---|
| 0.03 | ≈ 0.27 |
| 0.05 | ≈ 0.39 |
| 0.08 | ≈ 0.51 |
| 0.12 | ≈ 0.62 |
| 0.20 | ≈ 0.75 |
Protocole de test :
1. **Identité** : denoise ≈ 0.01, la sortie doit ressembler au brouillon. Une dérive de
couleur ou de saturation indique un souci de normalisation du latent.
2. **Balayage** : même seed, 0.03 / 0.05 / 0.08 / 0.12 / 0.20, comparer image et son séparément.
3. L'audio reçoit moins de bruit que la vidéo à denoise égal. S'il reste trop proche du
brouillon, augmenter le denoise ou `shift_audio`.
## Dépannage
- **"latent vidéo inattendu"** : vérifier que `vae` est bien le VAE vidéo H3.
- **"impossible d'encoder l'audio"** : le nœud essaie les layouts `[B,2,L]` et `[B,L,2]` ;
vérifier la signature de `audio_vae.encode` dans ta version de ComfyUI.
- **Qualité figée** : ne pas mettre de frames du brouillon en `first_frame`/`last_frame`.