MiniMax-H3-Multishot-Workflow / H3_Keyframes.json
joeygambino's picture
Upload H3_Keyframes.json with huggingface_hub
304d598 verified
Raw
History Blame Contribute Delete
30.1 kB
{
"id": "h3-keyframes",
"revision": 0,
"last_node_id": 20,
"last_link_id": 22,
"nodes": [
{
"id": 1,
"type": "H3ModelLoaderAny",
"pos": [
73.22970639032815,
0
],
"size": [
340,
82
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"localized_name": "model_name",
"name": "model_name",
"type": "COMBO",
"widget": {
"name": "model_name"
},
"link": null
}
],
"outputs": [
{
"localized_name": "MODEL",
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
7,
9
]
}
],
"title": "H3 model (fl2va)",
"properties": {
"Node name for S&R": "H3ModelLoaderAny"
},
"widgets_values": [
"MiniMax-H3-fl2va-Q5_1.gguf"
]
},
{
"id": 2,
"type": "H3ClipLoaderAny",
"pos": [
73.22970639032815,
116
],
"size": [
340,
106
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"localized_name": "clip_name",
"name": "clip_name",
"type": "COMBO",
"widget": {
"name": "clip_name"
},
"link": null
},
{
"localized_name": "type",
"name": "type",
"type": "COMBO",
"widget": {
"name": "type"
},
"link": null
}
],
"outputs": [
{
"localized_name": "CLIP",
"name": "CLIP",
"type": "CLIP",
"slot_index": 0,
"links": [
1
]
}
],
"title": "Text encoder",
"properties": {
"Node name for S&R": "H3ClipLoaderAny"
},
"widgets_values": [
"MiniMax-H3-encoder-Q4_K_M.gguf",
"minimax"
]
},
{
"id": 3,
"type": "VAELoader",
"pos": [
73.22970639032815,
256
],
"size": [
340,
82
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"localized_name": "vae_name",
"name": "vae_name",
"type": "COMBO",
"widget": {
"name": "vae_name"
},
"link": null
}
],
"outputs": [
{
"localized_name": "VAE",
"name": "VAE",
"type": "VAE",
"slot_index": 0,
"links": [
2,
16
]
}
],
"title": "Video VAE",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"minimax_h3_video_vae_fp16.safetensors"
]
},
{
"id": 4,
"type": "VAELoader",
"pos": [
73.22970639032815,
372
],
"size": [
340,
82
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"localized_name": "vae_name",
"name": "vae_name",
"type": "COMBO",
"widget": {
"name": "vae_name"
},
"link": null
}
],
"outputs": [
{
"localized_name": "VAE",
"name": "VAE",
"type": "VAE",
"slot_index": 0,
"links": [
18
]
}
],
"title": "Audio VAE",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"minimax_h3_audio_vae_fp32.safetensors"
]
},
{
"id": 8,
"type": "H3Keyframes",
"pos": [
840,
0
],
"size": [
420,
430
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"localized_name": "clip",
"name": "clip",
"type": "CLIP",
"link": 1
},
{
"localized_name": "vae",
"name": "vae",
"type": "VAE",
"link": 2
},
{
"localized_name": "image_1",
"name": "image_1",
"shape": 7,
"type": "IMAGE",
"link": 3
},
{
"localized_name": "image_2",
"name": "image_2",
"shape": 7,
"type": "IMAGE",
"link": 4
},
{
"localized_name": "image_3",
"name": "image_3",
"shape": 7,
"type": "IMAGE",
"link": 5
},
{
"localized_name": "image_4",
"name": "image_4",
"shape": 7,
"type": "IMAGE",
"link": null
},
{
"localized_name": "image_5",
"name": "image_5",
"shape": 7,
"type": "IMAGE",
"link": null
},
{
"localized_name": "image_6",
"name": "image_6",
"shape": 7,
"type": "IMAGE",
"link": null
},
{
"localized_name": "prompt",
"name": "prompt",
"type": "STRING",
"widget": {
"name": "prompt"
},
"link": null
},
{
"localized_name": "width",
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": null
},
{
"localized_name": "height",
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": null
},
{
"localized_name": "length",
"name": "length",
"type": "INT",
"widget": {
"name": "length"
},
"link": null
},
{
"localized_name": "positions",
"name": "positions",
"type": "STRING",
"widget": {
"name": "positions"
},
"link": null
}
],
"outputs": [
{
"localized_name": "positive",
"name": "positive",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
6
]
},
{
"localized_name": "latent",
"name": "latent",
"type": "LATENT",
"slot_index": 0,
"links": [
14
]
},
{
"localized_name": "info",
"name": "info",
"type": "STRING",
"slot_index": 0,
"links": []
}
],
"properties": {
"Node name for S&R": "H3Keyframes"
},
"widgets_values": [
"Handheld amateur phone video, late summer evening: a quiet suburban backyard at dusk. A weathered steel A-frame swing set with two rubber seats on chains stands on patchy mown grass, its paint faded and rust showing at the joints. Tall unmown weeds run along a wire fence at the property line, dark trees behind it, a pale blue sky streaked with pink and orange sunset cloud above. Warm fading daylight, long soft shadows, no people in frame. Quiet outdoor room tone, crickets, a dog barking far off.",
544,
960,
243,
"0%, 50%, 100%"
],
"title": "KEYFRAMES - anchors at any position"
},
{
"id": 10,
"type": "BasicGuider",
"pos": [
1310.6563039723655,
421.3816925734024
],
"size": [
300,
78
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"localized_name": "model",
"name": "model",
"type": "MODEL",
"link": 7
},
{
"localized_name": "conditioning",
"name": "conditioning",
"type": "CONDITIONING",
"link": 8
}
],
"outputs": [
{
"localized_name": "GUIDER",
"name": "GUIDER",
"type": "GUIDER",
"slot_index": 0,
"links": [
11
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "BasicGuider"
},
"widgets_values": [],
"title": "Guider"
},
{
"id": 11,
"type": "KSamplerSelect",
"pos": [
1310.6563039723655,
141.3816925734024
],
"size": [
300,
82
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"localized_name": "sampler_name",
"name": "sampler_name",
"type": "COMBO",
"widget": {
"name": "sampler_name"
},
"link": null
}
],
"outputs": [
{
"localized_name": "SAMPLER",
"name": "SAMPLER",
"type": "SAMPLER",
"slot_index": 0,
"links": [
12
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "KSamplerSelect"
},
"widgets_values": [
"res_multistep"
],
"title": "Sampler algorithm"
},
{
"id": 12,
"type": "BasicScheduler",
"pos": [
1310.6563039723655,
257.3816925734024
],
"size": [
300,
130
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"localized_name": "model",
"name": "model",
"type": "MODEL",
"link": 9
},
{
"localized_name": "scheduler",
"name": "scheduler",
"type": "COMBO",
"widget": {
"name": "scheduler"
},
"link": null
},
{
"localized_name": "steps",
"name": "steps",
"type": "INT",
"widget": {
"name": "steps"
},
"link": null
},
{
"localized_name": "denoise",
"name": "denoise",
"type": "FLOAT",
"widget": {
"name": "denoise"
},
"link": null
}
],
"outputs": [
{
"localized_name": "SIGMAS",
"name": "SIGMAS",
"type": "SIGMAS",
"slot_index": 0,
"links": [
13
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "BasicScheduler"
},
"widgets_values": [
"simple",
20,
1
],
"title": "Scheduler + steps"
},
{
"id": 13,
"type": "RandomNoise",
"pos": [
1310.6563039723655,
1.3816925734024175
],
"size": [
300,
106
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"localized_name": "noise_seed",
"name": "noise_seed",
"type": "INT",
"widget": {
"name": "noise_seed"
},
"link": null
}
],
"outputs": [
{
"localized_name": "NOISE",
"name": "NOISE",
"type": "NOISE",
"slot_index": 0,
"links": [
10
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "RandomNoise"
},
"widgets_values": [
90210,
"randomize"
],
"title": "Seed"
},
{
"id": 14,
"type": "SamplerCustomAdvanced",
"pos": [
1310.6563039723655,
533.3816925734025
],
"size": [
340,
190
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"localized_name": "noise",
"name": "noise",
"type": "NOISE",
"link": 10
},
{
"localized_name": "guider",
"name": "guider",
"type": "GUIDER",
"link": 11
},
{
"localized_name": "sampler",
"name": "sampler",
"type": "SAMPLER",
"link": 12
},
{
"localized_name": "sigmas",
"name": "sigmas",
"type": "SIGMAS",
"link": 13
},
{
"localized_name": "latent_image",
"name": "latent_image",
"type": "LATENT",
"link": 14
}
],
"outputs": [
{
"localized_name": "output",
"name": "output",
"type": "LATENT",
"slot_index": 0,
"links": [
15,
17
]
},
{
"localized_name": "denoised_output",
"name": "denoised_output",
"type": "LATENT",
"slot_index": 0,
"links": []
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "SamplerCustomAdvanced"
},
"widgets_values": [],
"title": "Run sampler"
},
{
"id": 15,
"type": "VAEDecode",
"pos": [
1697.1675302245237,
1.381692573402418
],
"size": [
280,
78
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"localized_name": "samples",
"name": "samples",
"type": "LATENT",
"link": 15
},
{
"localized_name": "vae",
"name": "vae",
"type": "VAE",
"link": 16
}
],
"outputs": [
{
"localized_name": "IMAGE",
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
19
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "VAEDecode"
},
"widgets_values": [],
"title": "Decode video"
},
{
"id": 16,
"type": "VAEDecodeAudio",
"pos": [
1697.1675302245237,
113.38169257340242
],
"size": [
280,
78
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"localized_name": "samples",
"name": "samples",
"type": "LATENT",
"link": 17
},
{
"localized_name": "vae",
"name": "vae",
"type": "VAE",
"link": 18
}
],
"outputs": [
{
"localized_name": "AUDIO",
"name": "AUDIO",
"type": "AUDIO",
"slot_index": 0,
"links": [
20
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "VAEDecodeAudio"
},
"widgets_values": [],
"title": "Decode audio"
},
{
"id": 17,
"type": "CreateVideo",
"pos": [
1697.1675302245237,
225.3816925734024
],
"size": [
300,
106
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"localized_name": "images",
"name": "images",
"type": "IMAGE",
"link": 19
},
{
"localized_name": "audio",
"name": "audio",
"shape": 7,
"type": "AUDIO",
"link": 20
},
{
"localized_name": "fps",
"name": "fps",
"type": "FLOAT",
"widget": {
"name": "fps"
},
"link": null
},
{
"localized_name": "bit_depth",
"name": "bit_depth",
"shape": 7,
"type": "INT",
"widget": {
"name": "bit_depth"
},
"link": null
}
],
"outputs": [
{
"localized_name": "VIDEO",
"name": "VIDEO",
"type": "VIDEO",
"slot_index": 0,
"links": [
21
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "CreateVideo"
},
"widgets_values": [
24,
8
],
"title": "Mux video + audio"
},
{
"id": 18,
"type": "SaveVideo",
"pos": [
1697.1675302245237,
365.3816925734024
],
"size": [
340,
106
],
"flags": {},
"order": 18,
"mode": 0,
"inputs": [
{
"localized_name": "video",
"name": "video",
"type": "VIDEO",
"link": 21
},
{
"localized_name": "filename_prefix",
"name": "filename_prefix",
"type": "STRING",
"widget": {
"name": "filename_prefix"
},
"link": null
},
{
"localized_name": "format",
"name": "format",
"type": "COMBO",
"widget": {
"name": "format"
},
"link": null
},
{
"localized_name": "codec",
"name": "codec",
"type": "COMFY_DYNAMICCOMBO_V3",
"widget": {
"name": "codec"
},
"link": null
}
],
"outputs": [
{
"localized_name": "video",
"name": "video",
"type": "VIDEO",
"links": null
}
],
"title": "SAVE",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "SaveVideo"
},
"widgets_values": [
"video/H3KF/KF",
"auto",
"auto"
]
},
{
"id": 7,
"type": "LoadImage",
"pos": [
462.7633851468048,
750.7633851468049
],
"size": [
323.8716796875,
340
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"localized_name": "image",
"name": "image",
"type": "COMBO",
"widget": {
"name": "image"
},
"link": null
},
{
"localized_name": "choose file to upload",
"name": "upload",
"type": "IMAGEUPLOAD",
"widget": {
"name": "upload"
},
"link": null
}
],
"outputs": [
{
"localized_name": "IMAGE",
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
5
]
},
{
"localized_name": "MASK",
"name": "MASK",
"type": "MASK",
"slot_index": 0,
"links": []
}
],
"title": "keyframe 3 (position 1 - the closing frame)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"example.png",
"image"
]
},
{
"id": 5,
"type": "LoadImage",
"pos": [
462.7633851468048,
0
],
"size": [
330.2837890625,
341.38169257340235
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"localized_name": "image",
"name": "image",
"type": "COMBO",
"widget": {
"name": "image"
},
"link": null
},
{
"localized_name": "choose file to upload",
"name": "upload",
"type": "IMAGEUPLOAD",
"widget": {
"name": "upload"
},
"link": null
}
],
"outputs": [
{
"localized_name": "IMAGE",
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
3
]
},
{
"localized_name": "MASK",
"name": "MASK",
"type": "MASK",
"slot_index": 0,
"links": []
}
],
"title": "keyframe 1 (position 0 - the opening frame)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"example.png",
"image"
]
},
{
"id": 6,
"type": "LoadImage",
"pos": [
468.2901554404144,
374
],
"size": [
315.1986183074266,
340
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"localized_name": "image",
"name": "image",
"type": "COMBO",
"widget": {
"name": "image"
},
"link": null
},
{
"localized_name": "choose file to upload",
"name": "upload",
"type": "IMAGEUPLOAD",
"widget": {
"name": "upload"
},
"link": null
}
],
"outputs": [
{
"localized_name": "IMAGE",
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
4
]
},
{
"localized_name": "MASK",
"name": "MASK",
"type": "MASK",
"slot_index": 0,
"links": []
}
],
"title": "keyframe 2 (position 0.5 - halfway)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.30.0",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"example.png",
"image"
]
},
{
"id": 9,
"type": "H3ConditionStrength",
"pos": [
840,
464
],
"size": [
419.8100172711572,
103.2366148531953
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"localized_name": "conditioning",
"name": "conditioning",
"type": "CONDITIONING",
"link": 6
},
{
"localized_name": "visual_strength",
"name": "visual_strength",
"type": "FLOAT",
"widget": {
"name": "visual_strength"
},
"link": null
},
{
"localized_name": "audio_strength",
"name": "audio_strength",
"type": "FLOAT",
"widget": {
"name": "audio_strength"
},
"link": null
}
],
"outputs": [
{
"localized_name": "CONDITIONING",
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
8
]
}
],
"title": "Anchor strength (optional)",
"properties": {
"Node name for S&R": "H3ConditionStrength"
},
"widgets_values": [
0.999,
1
]
},
{
"id": 19,
"type": "MarkdownNote",
"pos": [
831.2089810017263,
623.1433506044893
],
"size": [
444.31778929188295,
539.412780656304
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Keyframes - read me",
"properties": {
"Node name for S&R": "MarkdownNote"
},
"widgets_values": [
"## Keyframes at any position\n\nStock ComfyUI pins H3 keyframes to the **first and last frame only**. This\ngraph places as many as you like, anywhere.\n\n**How to use it**\n1. Connect one image per anchor to `image_1 .. image_6`.\n2. Give one position per image in `positions`, same order.\n * `0` = first frame, `0.5` = halfway, `1` = last frame\n * a value **above 1** is an absolute frame index (`121`)\n * `0, 0.5, 1` = start, middle, end\n3. Everything else is a normal H3 render.\n\n### It MOVES or it CUTS - and your images decide which\n\nGive it images with a plausible path between them (same place, different angle\nor framing) and H3 **interpolates**: a real move that arrives on time. Measured\non a 243-frame render with one anchor at frame 121, the closest frame to the\nanchor image was frame **122** - off by one - with no cut anywhere (peak\nframe-to-frame change 2.3x median).\n\nGive it images with **no** possible path (a kitchen and a diner) and H3 **cuts**,\nthen holds. That is not a bug and not a limit of this node: stock first/last\ndoes exactly the same with such a pair. It is the model doing the only sensible\nthing.\n\nBoth behaviours are useful. The second gives you a **timed shot change inside a\nsingle generation** - and because it is one generation, the audio runs unbroken\nstraight through the cut, with no voice re-derivation and no seam.\n\n### Notes\n* `positions` must have exactly one entry per connected image, or it errors.\n* Two anchors cannot land on the same frame.\n* Anchors are sorted for you; wiring order does not matter.\n* Frames follow H3's 17k+5 grid: 243 = ~10.1s, 362 = trained max ~15.1s.\n* **Anchor strength** (the optional node) exposes a core setting nothing else\n reaches. 1.0 feeds anchors in pristine; lower lets the model drift further\n from them. Leave it at 0.999 unless anchors feel too rigid.\n"
],
"color": "#432",
"bgcolor": "#653"
}
],
"links": [
[
1,
2,
0,
8,
0,
"CLIP"
],
[
2,
3,
0,
8,
1,
"VAE"
],
[
3,
5,
0,
8,
2,
"IMAGE"
],
[
4,
6,
0,
8,
3,
"IMAGE"
],
[
5,
7,
0,
8,
4,
"IMAGE"
],
[
6,
8,
0,
9,
0,
"CONDITIONING"
],
[
7,
1,
0,
10,
0,
"MODEL"
],
[
8,
9,
0,
10,
1,
"CONDITIONING"
],
[
9,
1,
0,
12,
0,
"MODEL"
],
[
10,
13,
0,
14,
0,
"NOISE"
],
[
11,
10,
0,
14,
1,
"GUIDER"
],
[
12,
11,
0,
14,
2,
"SAMPLER"
],
[
13,
12,
0,
14,
3,
"SIGMAS"
],
[
14,
8,
1,
14,
4,
"LATENT"
],
[
15,
14,
0,
15,
0,
"LATENT"
],
[
16,
3,
0,
15,
1,
"VAE"
],
[
17,
14,
0,
16,
0,
"LATENT"
],
[
18,
4,
0,
16,
1,
"VAE"
],
[
19,
15,
0,
17,
0,
"IMAGE"
],
[
20,
16,
0,
17,
1,
"AUDIO"
],
[
21,
17,
0,
18,
0,
"VIDEO"
]
],
"groups": [
{
"id": 1,
"title": "Models",
"bounding": [
53.22970639032815,
-66,
380,
528
],
"color": "#3f789e",
"flags": {}
},
{
"id": 2,
"title": "Keyframes",
"bounding": [
440,
-66,
371.77892918825546,
1166.1450777202072
],
"color": "#3f789e",
"flags": {}
},
{
"id": 3,
"title": "Conditioning",
"bounding": [
820,
-66,
460,
644
],
"color": "#3f789e",
"flags": {}
},
{
"id": 4,
"title": "Sampling",
"bounding": [
1290.6563039723655,
-64.61830742659758,
380,
796
],
"color": "#3f789e",
"flags": {}
},
{
"id": 5,
"title": "Output",
"bounding": [
1677.1675302245237,
-64.61830742659758,
371.7098445595859,
792.1623488773746
],
"color": "#3f789e",
"flags": {}
}
],
"config": {},
"extra": {
"ds": {
"scale": 0.7237500000000002,
"offset": [
249.66328151986121,
472.4326079447307
]
}
},
"version": 0.4
}