74 lines
3.3 KiB
Markdown
74 lines
3.3 KiB
Markdown
# 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`.
|