Add H3 two-beat save-video test flow

This commit is contained in:
Morpheus
2026-08-26 09:19:09 +00:00
parent 8b19bce072
commit 3a7325dc22
2 changed files with 200 additions and 0 deletions
@@ -0,0 +1,40 @@
# MiniMax H3 Two-Beat SaveVideo Test
Practical test flow for `DumasH3LongVideos` that:
- uses `LoadImage` refs derived from images stored in this repo
- renders exactly 2 beats
- stays under 10 seconds total
- converts the returned image batch with `CreateVideo`
- saves the final file with `SaveVideo`
## Repo source images
- Character ref:
`optimized/image-to-video/minimax-h3-r2v-master/references/default-character-reference.jpg`
- Location ref:
`optimized/image-to-video/minimax-h3-r2v-master/references/default-location-reference.jpg`
## ComfyUI input names used by the prompt
Upload those repo images into the live ComfyUI input folder with these names:
- `default-character-reference.jpg`
- `default-location-reference.jpg`
The included `api-prompt.json` expects those names in `LoadImage`.
## Flow summary
`LoadImage x2 -> DiffusionModelLoaderKJ / CLIPLoader / VAELoader x2 -> DumasH3LongVideos -> CreateVideo -> SaveVideo`
## Timing
- `shot_seconds = 3`
- `2 beats`
- total target runtime = `6s`
## Notes
- This is a practical API flow, not a promoted master workflow.
- The H3 node is configured for a cheap proof run, not final quality.
@@ -0,0 +1,160 @@
{
"1": {
"class_type": "LoadImage",
"inputs": {
"image": "default-character-reference.jpg"
},
"_meta": {
"title": "Character Ref"
}
},
"2": {
"class_type": "LoadImage",
"inputs": {
"image": "default-location-reference.jpg"
},
"_meta": {
"title": "Location Ref"
}
},
"10": {
"class_type": "DiffusionModelLoaderKJ",
"inputs": {
"model_name": "minimax_h3_ref2va_pruned_int8_convrot.safetensors",
"weight_dtype": "default",
"compute_dtype": "default",
"patch_cublaslinear": false,
"sage_attention": "disabled",
"enable_fp16_accumulation": false
},
"_meta": {
"title": "Load Model"
}
},
"11": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors",
"type": "minimax",
"device": "default"
},
"_meta": {
"title": "Load CLIP"
}
},
"12": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "minimax_h3_video_vae_int8_convrot.safetensors"
},
"_meta": {
"title": "Video VAE"
}
},
"13": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "minimax_h3_audio_vae_fp32.safetensors"
},
"_meta": {
"title": "Audio VAE"
}
},
"20": {
"class_type": "DumasH3LongVideos",
"inputs": {
"model": [
"10",
0
],
"clip": [
"11",
0
],
"vae": [
"12",
0
],
"audio_vae": [
"13",
0
],
"ref_image_1": [
"1",
0
],
"ref_image_2": [
"2",
0
],
"prompt": "<Picture 1> pauses in the place shown in <Picture 2> and studies the surroundings in a steady medium shot.\n\n<Picture 1> walks forward through the place shown in <Picture 2> as the camera follows from the side.",
"anchor_override": "short silver hair, scar over the left eyebrow, slim build",
"character_memory": "weathered red flight jacket, grey cargo shorts, black boots",
"resolution": "16:9",
"megapixels": 0.1,
"steps": 6,
"cfg": 1,
"sampler_name": "res_multistep",
"scheduler": "simple",
"seed": 3,
"plan_only": false,
"shot_seconds": 3,
"ref_mode": "where tagged",
"per_beat_length": false,
"mute_nonspeech_audio": true,
"cleanup_between_shots": true,
"allow_res_backoff": true,
"decode_tile_frames": 8,
"decode_tile_size": 256,
"auto_soundscape": "fill if blank"
},
"_meta": {
"title": "Dumas H3 Long Videos"
}
},
"30": {
"class_type": "CreateVideo",
"inputs": {
"images": [
"20",
0
],
"fps": 24,
"audio": [
"20",
1
],
"bit_depth": 8
},
"_meta": {
"title": "CreateVideo"
}
},
"31": {
"class_type": "SaveVideo",
"inputs": {
"video": [
"30",
0
],
"filename_prefix": "MiniMax/dumas-two-beat-savevideo-test",
"format": "auto",
"codec": "auto"
},
"_meta": {
"title": "SaveVideo"
}
},
"32": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"20",
2
]
},
"_meta": {
"title": "Info"
}
}
}