{"id": "6f3c1c2a-7b9e-4c3a-9d2e-gmanski-minimax3", "revision": 0, "last_node_id": 78, "last_link_id": 156, "nodes": [{"id": 1, "type": "MarkdownNote", "pos": [-2200, -420], "size": [560, 860], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [], "properties": {"Node name for S&R": "MarkdownNote"}, "widgets_values": ["## Music Video H3 (Gmanski)\n\n**Real generated video, not a slideshow.** Each scene is animated by MiniMax H3's reference-to-video mode, which preserves your character's identity directly from a photo — no face LoRA training needed. This is the heavier sibling of `Music Video (Gmanski)` (the fast Z-Image slideshow version); use that one on smaller GPUs or when you want a quick result. See `Kids Music Video H3 (Gmanski)` if you want the kids-safe age bands and content filter instead.\n\n### Set up a character first — this template requires one\n1. Run the **Register a Character (Gmanski)** template once per character: upload a photo, fill in a name/look/Vocal Details, queue it, and copy the `character_id` it prints.\n2. Paste that id into **Character ID** below, replacing the placeholder text. This one requires a real id — Song Planner fails immediately (before any generation) if it's still the placeholder or doesn't match a registered character, rather than silently degrading. The whole point of this template is character consistency.\n\n### Cost — read this before queueing\n- **Download**: ~44 GB (`minimax-h3-ref2v` pack, on top of `music`).\n- **VRAM**: 48 GB+ recommended (the 32B text encoder + diffusion model together).\n- **Time**: real video generation, not a quick still. This template runs at 20 steps by default (~349s per 10-second clip in testing) so it works out of the box with no extra download. **For 2x speed** (~165s per clip, 8 steps): run `gmanski-packs install minimax-h3-ref2v` in the Jupyter terminal, then right-click the **Turbo LoRA** node → Mode → Always, and change the Scheduler node's `steps` from 20 to 8. Six scenes is realistically 15-20+ minutes of video generation alone either way, on top of planning and music.\n\n### Run it\n1. Set the **idea**, **song length**, and a **song title** below.\n2. Queue. Order: Song Planner -> MiniMax Music 3 -> scene timing measured from the actual rendered audio -> Video Scene Planner -> six MiniMax H3 clips (turbo, 8 steps each) -> video assembly.\n3. Find the output under `output/video/Gmanski/<your title>_00001.mp4`.\n\n### Liked the voice? Save it as a Character\nThe **Extract Vocal Details** branch shows the Vocal Details text from this run's caption, ready to copy into Save Character.\n\n### Why fixed 960x544 and no on-screen lyrics\n- Resolution is a fixed widget on each scene's MiniMax H3 node (change it directly if you want a different size); no separate resolution picker node in this template, to keep the graph simpler.\n- No forced-alignment/word-timing tool on this pod, so on-screen lyrics can't be synced correctly.\n\n### Safety\n- This produces a **local file only**. Review it yourself before publishing it anywhere.\n- The character's reference photo is picked by id from your own curated library, never from a browsed dropdown.\n\n### Models\nVideo uses the `minimax-h3-ref2v` pack (`gmanski-packs install minimax-h3-ref2v`); music uses the `music` pack, same as the other MiniMax templates.\n"], "title": "Read me: Music Video H3 (Gmanski)", "color": "#432", "bgcolor": "#653"}, {"id": 2, "type": "PrimitiveFloat", "pos": [-2200, 480], "size": [330, 60], "flags": {}, "order": 1, "mode": 0, "inputs": [{"name": "value", "type": "FLOAT", "link": null, "widget": {"name": "value"}}], "outputs": [{"name": "FLOAT", "type": "FLOAT", "links": [127]}], "properties": {"Node name for S&R": "PrimitiveFloat"}, "widgets_values": [90.0], "title": "Song length (seconds)"}, {"id": 3, "type": "PrimitiveString", "pos": [-2200, 580], "size": [330, 60], "flags": {}, "order": 2, "mode": 0, "inputs": [{"name": "value", "type": "STRING", "link": null, "widget": {"name": "value"}}], "outputs": [{"name": "STRING", "type": "STRING", "links": [129, 130]}], "properties": {"Node name for S&R": "PrimitiveString"}, "widgets_values": ["PASTE-CHARACTER-ID-HERE"], "title": "Character ID (required — see readme)"}, {"id": 4, "type": "GmanskiCharacterLibrary", "pos": [-1660, 460], "size": [420, 280], "flags": {}, "order": 3, "mode": 0, "inputs": [{"name": "character_id", "type": "STRING", "link": 129, "widget": {"name": "character_id"}}, {"name": "library_path", "type": "STRING", "link": null, "widget": {"name": "library_path"}}], "outputs": [{"name": "character_name", "type": "STRING", "links": [6, 24, 42, 60, 78, 96]}, {"name": "vocal_details", "type": "STRING", "links": []}, {"name": "vocal_config", "type": "STRING", "links": []}, {"name": "language_default", "type": "STRING", "links": []}, {"name": "look", "type": "STRING", "links": [141]}, {"name": "face_lora_name", "type": "STRING", "links": []}, {"name": "trigger_word", "type": "STRING", "links": []}, {"name": "reference_image_path", "type": "STRING", "links": [1]}, {"name": "debug", "type": "STRING", "links": []}, {"name": "face_lora_krea2", "type": "STRING", "links": []}, {"name": "face_lora_flux", "type": "STRING", "links": []}], "properties": {"Node name for S&R": "GmanskiCharacterLibrary"}, "widgets_values": ["", "/workspace/gmanski/characters.json"], "title": "Load Character (Gmanski)"}, {"id": 5, "type": "GmanskiLoadImageFromPath", "pos": [-1140, 460], "size": [420, 80], "flags": {}, "order": 4, "mode": 0, "inputs": [{"name": "path", "type": "STRING", "link": 1, "widget": {"name": "path"}}], "outputs": [{"name": "image", "type": "IMAGE", "links": [11, 29, 47, 65, 83, 101]}], "properties": {"Node name for S&R": "GmanskiLoadImageFromPath"}, "widgets_values": [""], "title": "Character reference photo"}, {"id": 6, "type": "GmanskiSongPlanner", "pos": [-1140, -420], "size": [470, 660], "flags": {}, "order": 5, "mode": 0, "inputs": [{"name": "provider", "type": "COMBO", "link": null, "widget": {"name": "provider"}}, {"name": "idea", "type": "STRING", "link": null, "widget": {"name": "idea"}}, {"name": "genre_hint", "type": "STRING", "link": null, "widget": {"name": "genre_hint"}}, {"name": "vocal_config", "type": "COMBO", "link": null, "widget": {"name": "vocal_config"}}, {"name": "language", "type": "COMBO", "link": null, "widget": {"name": "language"}}, {"name": "duration_seconds", "type": "FLOAT", "link": 127, "widget": {"name": "duration_seconds"}}, {"name": "seed", "type": "INT", "link": null, "widget": {"name": "seed"}}, {"name": "temperature", "type": "FLOAT", "link": null, "widget": {"name": "temperature"}}, {"name": "ollama_model", "type": "STRING", "link": null, "widget": {"name": "ollama_model"}}, {"name": "ollama_url", "type": "STRING", "link": null, "widget": {"name": "ollama_url"}}, {"name": "unload_after", "type": "BOOLEAN", "link": null, "widget": {"name": "unload_after"}}, {"name": "cloud_model", "type": "COMBO", "link": null, "widget": {"name": "cloud_model"}}, {"name": "api_base_url", "type": "STRING", "link": null, "widget": {"name": "api_base_url"}}, {"name": "api_key", "type": "STRING", "link": null, "widget": {"name": "api_key"}}, {"name": "age_band", "type": "COMBO", "link": null, "widget": {"name": "age_band"}}, {"name": "character_id", "type": "STRING", "link": 130, "widget": {"name": "character_id"}}, {"name": "character_library_path", "type": "STRING", "link": null, "widget": {"name": "character_library_path"}}], "outputs": [{"name": "caption", "type": "STRING", "links": [131]}, {"name": "lyrics", "type": "STRING", "links": [133]}, {"name": "max_duration", "type": "FLOAT", "links": [146]}, {"name": "debug", "type": "STRING", "links": []}], "properties": {"Node name for S&R": "GmanskiSongPlanner"}, "widgets_values": ["ollama", "An anthemic, driving pop-rock song about chasing a dream against the odds and refusing to give up.", "arena pop-rock", "female vocals", "English", 120.0, 0, "fixed", 0.8, "gemma3:27b", "http://localhost:11434", true, "claude", "", "", "general", "", "/workspace/gmanski/characters.json"], "title": "Song Planner (Gmanski)"}, {"id": 7, "type": "PrimitiveStringMultiline", "pos": [-560, -420], "size": [380, 220], "flags": {}, "order": 6, "mode": 0, "inputs": [{"name": "value", "type": "STRING", "link": null, "widget": {"name": "value"}}], "outputs": [{"name": "STRING", "type": "STRING", "links": [132]}], "properties": {"Node name for S&R": "PrimitiveStringMultiline"}, "widgets_values": [""], "title": "Manual caption (optional)"}, {"id": 8, "type": "PrimitiveStringMultiline", "pos": [-560, -160], "size": [380, 280], "flags": {}, "order": 7, "mode": 0, "inputs": [{"name": "value", "type": "STRING", "link": null, "widget": {"name": "value"}}], "outputs": [{"name": "STRING", "type": "STRING", "links": [134]}], "properties": {"Node name for S&R": "PrimitiveStringMultiline"}, "widgets_values": [""], "title": "Manual lyrics (optional)"}, {"id": 9, "type": "ComfySwitchNode", "pos": [-560, 140], "size": [330, 110], "flags": {}, "order": 8, "mode": 0, "inputs": [{"name": "on_false", "type": "STRING", "link": 131}, {"name": "on_true", "type": "STRING", "link": 132}, {"name": "switch", "type": "BOOLEAN", "link": null, "widget": {"name": "switch"}}], "outputs": [{"name": "output", "type": "STRING", "links": [135, 137, 139]}], "properties": {"Node name for S&R": "ComfySwitchNode"}, "widgets_values": [false], "title": "Caption: use manual text?"}, {"id": 10, "type": "ComfySwitchNode", "pos": [-560, 290], "size": [330, 110], "flags": {}, "order": 9, "mode": 0, "inputs": [{"name": "on_false", "type": "STRING", "link": 133}, {"name": "on_true", "type": "STRING", "link": 134}, {"name": "switch", "type": "BOOLEAN", "link": null, "widget": {"name": "switch"}}], "outputs": [{"name": "output", "type": "STRING", "links": [136, 140]}], "properties": {"Node name for S&R": "ComfySwitchNode"}, "widgets_values": [false], "title": "Lyrics: use manual text?"}, {"id": 11, "type": "ShowText|pysssss", "pos": [-140, -420], "size": [420, 300], "flags": {}, "order": 10, "mode": 0, "inputs": [{"name": "text", "type": "STRING", "link": 135}], "outputs": [{"name": "STRING", "type": "STRING", "links": [143]}], "properties": {"Node name for S&R": "ShowText|pysssss"}, "widgets_values": [], "title": "Caption (what the model gets)"}, {"id": 12, "type": "ShowText|pysssss", "pos": [-140, -80], "size": [420, 420], "flags": {}, "order": 11, "mode": 0, "inputs": [{"name": "text", "type": "STRING", "link": 136}], "outputs": [{"name": "STRING", "type": "STRING", "links": [144]}], "properties": {"Node name for S&R": "ShowText|pysssss"}, "widgets_values": [], "title": "Lyrics (what the model gets)"}, {"id": 13, "type": "GmanskiExtractVocalDetails", "pos": [-140, 360], "size": [420, 90], "flags": {}, "order": 12, "mode": 0, "inputs": [{"name": "caption", "type": "STRING", "link": 137}], "outputs": [{"name": "vocal_details", "type": "STRING", "links": [138]}], "properties": {"Node name for S&R": "GmanskiExtractVocalDetails"}, "widgets_values": [], "title": "Extract Vocal Details (copy into Save Character)"}, {"id": 14, "type": "ShowText|pysssss", "pos": [340, 360], "size": [420, 150], "flags": {}, "order": 13, "mode": 0, "inputs": [{"name": "text", "type": "STRING", "link": 138}], "outputs": [{"name": "STRING", "type": "STRING", "links": []}], "properties": {"Node name for S&R": "ShowText|pysssss"}, "widgets_values": [], "title": "Voice you liked? Copy this into Save Character"}, {"id": 15, "type": "UNETLoader", "pos": [360, -420], "size": [440, 90], "flags": {}, "order": 14, "mode": 0, "inputs": [{"name": "unet_name", "type": "COMBO", "link": null, "widget": {"name": "unet_name"}}, {"name": "weight_dtype", "type": "COMBO", "link": null, "widget": {"name": "weight_dtype"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [149]}], "properties": {"Node name for S&R": "UNETLoader", "models": [{"name": "minimax_music3_dit_fp16.safetensors", "url": "https://huggingface.co/Comfy-Org/MiniMax-Music-3/resolve/main/diffusion_models/minimax_music3_dit_fp16.safetensors", "directory": "diffusion_models"}]}, "widgets_values": ["minimax_music3_dit_fp16.safetensors", "default"]}, {"id": 16, "type": "CLIPLoader", "pos": [360, -290], "size": [440, 110], "flags": {}, "order": 15, "mode": 0, "inputs": [{"name": "clip_name", "type": "COMBO", "link": null, "widget": {"name": "clip_name"}}, {"name": "type", "type": "COMBO", "link": null, "widget": {"name": "type"}}, {"name": "device", "type": "COMBO", "link": null, "widget": {"name": "device"}}], "outputs": [{"name": "CLIP", "type": "CLIP", "links": [142]}], "properties": {"Node name for S&R": "CLIPLoader", "models": [{"name": "minimax_music3_text_encoder_pruned_bf16.safetensors", "url": "https://huggingface.co/Comfy-Org/MiniMax-Music-3/resolve/main/text_encoders/minimax_music3_text_encoder_pruned_bf16.safetensors", "directory": "text_encoders"}]}, "widgets_values": ["minimax_music3_text_encoder_pruned_bf16.safetensors", "minimax", "default"]}, {"id": 17, "type": "VAELoader", "pos": [360, -140], "size": [440, 60], "flags": {}, "order": 16, "mode": 0, "inputs": [{"name": "vae_name", "type": "COMBO", "link": null, "widget": {"name": "vae_name"}}], "outputs": [{"name": "VAE", "type": "VAE", "links": [155]}], "properties": {"Node name for S&R": "VAELoader", "models": [{"name": "minimax_music3_dav.safetensors", "url": "https://huggingface.co/Comfy-Org/MiniMax-Music-3/resolve/main/vae/minimax_music3_dav.safetensors", "directory": "vae"}]}, "widgets_values": ["minimax_music3_dav.safetensors"]}, {"id": 18, "type": "SeedNode", "pos": [360, -60], "size": [300, 90], "flags": {}, "order": 17, "mode": 0, "inputs": [{"name": "seed", "type": "INT", "link": null, "widget": {"name": "seed"}}], "outputs": [{"name": "seed", "type": "INT", "links": [145, 153]}], "properties": {"Node name for S&R": "SeedNode"}, "widgets_values": [12345, "randomize"], "title": "Music seed"}, {"id": 19, "type": "MiniMaxMusic3TextEncode", "pos": [360, 60], "size": [470, 330], "flags": {}, "order": 18, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 142}, {"name": "caption", "type": "STRING", "link": 143, "widget": {"name": "caption"}}, {"name": "lyrics", "type": "STRING", "link": 144, "widget": {"name": "lyrics"}}, {"name": "seed", "type": "INT", "link": 145, "widget": {"name": "seed"}}, {"name": "max_duration", "type": "FLOAT", "link": 146, "widget": {"name": "max_duration"}}, {"name": "cfg_scale", "type": "FLOAT", "link": null, "widget": {"name": "cfg_scale"}}, {"name": "top_k", "type": "INT", "link": null, "widget": {"name": "top_k"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [148, 150]}, {"name": "seconds", "type": "FLOAT", "links": [147]}], "properties": {"Node name for S&R": "MiniMaxMusic3TextEncode"}, "widgets_values": ["", "", 0, "fixed", 126.0, 1.7, 50], "title": "MiniMax Music 3 Text Encode"}, {"id": 20, "type": "EmptyMiniMaxMusic3LatentAudio", "pos": [900, 60], "size": [360, 90], "flags": {}, "order": 19, "mode": 0, "inputs": [{"name": "seconds", "type": "FLOAT", "link": 147, "widget": {"name": "seconds"}}, {"name": "batch_size", "type": "INT", "link": null, "widget": {"name": "batch_size"}}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [152]}], "properties": {"Node name for S&R": "EmptyMiniMaxMusic3LatentAudio"}, "widgets_values": [90.0, 1]}, {"id": 21, "type": "ConditioningZeroOut", "pos": [900, 190], "size": [300, 40], "flags": {}, "order": 20, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 148}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [151]}], "properties": {"Node name for S&R": "ConditioningZeroOut"}, "widgets_values": []}, {"id": 22, "type": "KSampler", "pos": [900, 270], "size": [360, 270], "flags": {}, "order": 21, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 149}, {"name": "positive", "type": "CONDITIONING", "link": 150}, {"name": "negative", "type": "CONDITIONING", "link": 151}, {"name": "latent_image", "type": "LATENT", "link": 152}, {"name": "seed", "type": "INT", "link": 153, "widget": {"name": "seed"}}, {"name": "steps", "type": "INT", "link": null, "widget": {"name": "steps"}}, {"name": "cfg", "type": "FLOAT", "link": null, "widget": {"name": "cfg"}}, {"name": "sampler_name", "type": "COMBO", "link": null, "widget": {"name": "sampler_name"}}, {"name": "scheduler", "type": "COMBO", "link": null, "widget": {"name": "scheduler"}}, {"name": "denoise", "type": "FLOAT", "link": null, "widget": {"name": "denoise"}}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [154]}], "properties": {"Node name for S&R": "KSampler"}, "widgets_values": [0, "fixed", 30, 1.7, "euler", "simple", 1.0], "title": "Music KSampler"}, {"id": 23, "type": "VAEDecodeAudio", "pos": [1300, 270], "size": [250, 60], "flags": {}, "order": 22, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 154}, {"name": "vae", "type": "VAE", "link": 155}], "outputs": [{"name": "AUDIO", "type": "AUDIO", "links": [125, 156]}], "properties": {"Node name for S&R": "VAEDecodeAudio"}, "widgets_values": []}, {"id": 24, "type": "GmanskiAudioDuration", "pos": [1300, 350], "size": [300, 60], "flags": {}, "order": 23, "mode": 0, "inputs": [{"name": "audio", "type": "AUDIO", "link": 156}], "outputs": [{"name": "seconds", "type": "FLOAT", "links": [128]}], "properties": {"Node name for S&R": "GmanskiAudioDuration"}, "widgets_values": [], "title": "Actual rendered audio length (drives scene timing)"}, {"id": 25, "type": "GmanskiVideoScenePlanner", "pos": [-140, 900], "size": [470, 620], "flags": {}, "order": 24, "mode": 0, "inputs": [{"name": "provider", "type": "COMBO", "link": null, "widget": {"name": "provider"}}, {"name": "caption", "type": "STRING", "link": 139, "widget": {"name": "caption"}}, {"name": "lyrics", "type": "STRING", "link": 140, "widget": {"name": "lyrics"}}, {"name": "duration_seconds", "type": "FLOAT", "link": 128, "widget": {"name": "duration_seconds"}}, {"name": "character_look", "type": "STRING", "link": 141, "widget": {"name": "character_look"}}, {"name": "age_band", "type": "COMBO", "link": null, "widget": {"name": "age_band"}}, {"name": "n_scenes", "type": "INT", "link": null, "widget": {"name": "n_scenes"}}, {"name": "seed", "type": "INT", "link": null, "widget": {"name": "seed"}}, {"name": "temperature", "type": "FLOAT", "link": null, "widget": {"name": "temperature"}}, {"name": "ollama_model", "type": "STRING", "link": null, "widget": {"name": "ollama_model"}}, {"name": "ollama_url", "type": "STRING", "link": null, "widget": {"name": "ollama_url"}}, {"name": "unload_after", "type": "BOOLEAN", "link": null, "widget": {"name": "unload_after"}}], "outputs": [{"name": "scene_1_prompt", "type": "STRING", "links": [5]}, {"name": "scene_2_prompt", "type": "STRING", "links": [23]}, {"name": "scene_3_prompt", "type": "STRING", "links": [41]}, {"name": "scene_4_prompt", "type": "STRING", "links": [59]}, {"name": "scene_5_prompt", "type": "STRING", "links": [77]}, {"name": "scene_6_prompt", "type": "STRING", "links": [95]}, {"name": "scene_7_prompt", "type": "STRING", "links": []}, {"name": "scene_8_prompt", "type": "STRING", "links": []}, {"name": "scene_1_seconds", "type": "FLOAT", "links": [7]}, {"name": "scene_2_seconds", "type": "FLOAT", "links": [25]}, {"name": "scene_3_seconds", "type": "FLOAT", "links": [43]}, {"name": "scene_4_seconds", "type": "FLOAT", "links": [61]}, {"name": "scene_5_seconds", "type": "FLOAT", "links": [79]}, {"name": "scene_6_seconds", "type": "FLOAT", "links": [97]}, {"name": "scene_7_seconds", "type": "FLOAT", "links": []}, {"name": "scene_8_seconds", "type": "FLOAT", "links": []}, {"name": "debug", "type": "STRING", "links": []}], "properties": {"Node name for S&R": "GmanskiVideoScenePlanner"}, "widgets_values": ["ollama", "", "", 120.0, "", "general", 6, 0, "fixed", 0.8, "gemma3:27b", "http://localhost:11434", true], "title": "Video Scene Planner (Gmanski)"}, {"id": 26, "type": "PrimitiveFloat", "pos": [500, 1780], "size": [300, 60], "flags": {}, "order": 25, "mode": 0, "inputs": [{"name": "value", "type": "FLOAT", "link": null, "widget": {"name": "value"}}], "outputs": [{"name": "FLOAT", "type": "FLOAT", "links": [124]}], "properties": {"Node name for S&R": "PrimitiveFloat"}, "widgets_values": [24.0], "title": "Frame rate (MiniMax H3 native)"}, {"id": 27, "type": "RandomNoise", "pos": [500, 1860], "size": [300, 90], "flags": {}, "order": 26, "mode": 0, "inputs": [{"name": "noise_seed", "type": "INT", "link": null, "widget": {"name": "noise_seed"}}], "outputs": [{"name": "NOISE", "type": "NOISE", "links": [16, 34, 52, 70, 88, 106]}], "properties": {"Node name for S&R": "RandomNoise"}, "widgets_values": [777, "fixed"], "title": "Noise seed (same seed, different prompts per scene)"}, {"id": 28, "type": "UNETLoader", "pos": [500, 900], "size": [440, 90], "flags": {}, "order": 27, "mode": 0, "inputs": [{"name": "unet_name", "type": "COMBO", "link": null, "widget": {"name": "unet_name"}}, {"name": "weight_dtype", "type": "COMBO", "link": null, "widget": {"name": "weight_dtype"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [2]}], "properties": {"Node name for S&R": "UNETLoader", "models": [{"name": "minimax_h3_ref2va_pruned_int8_convrot.safetensors", "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_ref2va_pruned_int8_convrot.safetensors", "directory": "diffusion_models"}]}, "widgets_values": ["minimax_h3_ref2va_pruned_int8_convrot.safetensors", "default"], "title": "MiniMax H3 ref2v checkpoint"}, {"id": 29, "type": "LoraLoaderModelOnly", "pos": [500, 1020], "size": [440, 90], "flags": {}, "order": 28, "mode": 4, "inputs": [{"name": "model", "type": "MODEL", "link": 2}, {"name": "lora_name", "type": "COMBO", "link": null, "widget": {"name": "lora_name"}}, {"name": "strength_model", "type": "FLOAT", "link": null, "widget": {"name": "strength_model"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [3]}], "properties": {"Node name for S&R": "LoraLoaderModelOnly", "models": [{"name": "minimax_h3_ref2v_turbo_8step_v1.0_768p_comfyui_bf16.safetensors", "url": "https://huggingface.co/lightx2v/Minimax-h3-Turbo/resolve/main/minimax_h3_ref2v_turbo_8step_v1.0_768p_comfyui_bf16.safetensors", "directory": "loras"}]}, "widgets_values": ["minimax_h3_ref2v_turbo_8step_v1.0_768p_comfyui_bf16.safetensors", 1.0], "title": "Turbo LoRA — bypassed by default, see readme"}, {"id": 30, "type": "MiniMaxH3SigmaShift", "pos": [500, 1140], "size": [300, 110], "flags": {}, "order": 29, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 3}, {"name": "shift_video", "type": "FLOAT", "link": null, "widget": {"name": "shift_video"}}, {"name": "shift_audio", "type": "FLOAT", "link": null, "widget": {"name": "shift_audio"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [4, 14, 32, 50, 68, 86, 104]}], "properties": {"Node name for S&R": "MiniMaxH3SigmaShift"}, "widgets_values": [12, 3], "title": "Sigma shift"}, {"id": 31, "type": "CLIPLoader", "pos": [500, 1280], "size": [440, 110], "flags": {}, "order": 30, "mode": 0, "inputs": [{"name": "clip_name", "type": "COMBO", "link": null, "widget": {"name": "clip_name"}}, {"name": "type", "type": "COMBO", "link": null, "widget": {"name": "type"}}, {"name": "device", "type": "COMBO", "link": null, "widget": {"name": "device"}}], "outputs": [{"name": "CLIP", "type": "CLIP", "links": [8, 26, 44, 62, 80, 98]}], "properties": {"Node name for S&R": "CLIPLoader", "models": [{"name": "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors", "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors", "directory": "text_encoders"}]}, "widgets_values": ["qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors", "minimax", "default"], "title": "MiniMax H3 text encoder"}, {"id": 32, "type": "VAELoader", "pos": [500, 1420], "size": [440, 60], "flags": {}, "order": 31, "mode": 0, "inputs": [{"name": "vae_name", "type": "COMBO", "link": null, "widget": {"name": "vae_name"}}], "outputs": [{"name": "VAE", "type": "VAE", "links": [9, 22, 27, 40, 45, 58, 63, 76, 81, 94, 99, 112]}], "properties": {"Node name for S&R": "VAELoader", "models": [{"name": "minimax_h3_video_vae_fp16.safetensors", "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_fp16.safetensors", "directory": "vae"}]}, "widgets_values": ["minimax_h3_video_vae_fp16.safetensors"], "title": "MiniMax H3 video VAE"}, {"id": 33, "type": "VAELoader", "pos": [500, 1510], "size": [440, 60], "flags": {}, "order": 32, "mode": 0, "inputs": [{"name": "vae_name", "type": "COMBO", "link": null, "widget": {"name": "vae_name"}}], "outputs": [{"name": "VAE", "type": "VAE", "links": [10, 28, 46, 64, 82, 100]}], "properties": {"Node name for S&R": "VAELoader", "models": [{"name": "minimax_h3_audio_vae_fp32.safetensors", "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors", "directory": "vae"}]}, "widgets_values": ["minimax_h3_audio_vae_fp32.safetensors"], "title": "MiniMax H3 audio VAE (required input, decoded audio unused — see module docstring)"}, {"id": 34, "type": "KSamplerSelect", "pos": [500, 1600], "size": [300, 60], "flags": {}, "order": 33, "mode": 0, "inputs": [{"name": "sampler_name", "type": "COMBO", "link": null, "widget": {"name": "sampler_name"}}], "outputs": [{"name": "SAMPLER", "type": "SAMPLER", "links": [18, 36, 54, 72, 90, 108]}], "properties": {"Node name for S&R": "KSamplerSelect"}, "widgets_values": ["res_multistep"], "title": "Sampler (shared)"}, {"id": 35, "type": "BasicScheduler", "pos": [500, 1680], "size": [300, 130], "flags": {}, "order": 34, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 4}, {"name": "scheduler", "type": "COMBO", "link": null, "widget": {"name": "scheduler"}}, {"name": "steps", "type": "INT", "link": null, "widget": {"name": "steps"}}, {"name": "denoise", "type": "FLOAT", "link": null, "widget": {"name": "denoise"}}], "outputs": [{"name": "SIGMAS", "type": "SIGMAS", "links": [19, 37, 55, 73, 91, 109]}], "properties": {"Node name for S&R": "BasicScheduler"}, "widgets_values": ["simple", 20, 1.0], "title": "Scheduler (shared, 20 steps — 8 if turbo LoRA enabled)"}, {"id": 36, "type": "GmanskiH3ReferencePrompt", "pos": [1460, 900], "size": [420, 110], "flags": {}, "order": 35, "mode": 0, "inputs": [{"name": "scene_prompt", "type": "STRING", "link": 5}, {"name": "character_name", "type": "STRING", "link": 6}], "outputs": [{"name": "prompt", "type": "STRING", "links": [12]}], "properties": {"Node name for S&R": "GmanskiH3ReferencePrompt"}, "widgets_values": [], "title": "Scene 1 H3 prompt"}, {"id": 37, "type": "ComfyMathExpression", "pos": [1460, 1030], "size": [300, 90], "flags": {}, "order": 36, "mode": 0, "inputs": [{"name": "values.a", "type": "FLOAT,INT,BOOLEAN", "link": 7}], "outputs": [{"name": "FLOAT", "type": "FLOAT", "links": []}, {"name": "INT", "type": "INT", "links": [13]}, {"name": "BOOL", "type": "BOOLEAN", "links": []}], "properties": {"Node name for S&R": "ComfyMathExpression"}, "widgets_values": ["max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17"], "title": "Scene 1 frame count (17n+5)"}, {"id": 38, "type": "MiniMaxH3ReferenceToVideo", "pos": [1460, 1140], "size": [420, 300], "flags": {}, "order": 37, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 8}, {"name": "vae", "type": "VAE", "link": 9}, {"name": "audio_vae", "type": "VAE", "link": 10}, {"name": "ref_images.ref_image_0", "type": "IMAGE", "link": 11}, {"name": "prompt", "type": "STRING", "link": 12, "widget": {"name": "prompt"}}, {"name": "width", "type": "INT", "link": null, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": null, "widget": {"name": "height"}}, {"name": "length", "type": "INT", "link": 13, "widget": {"name": "length"}}, {"name": "ref_image_size", "type": "COMBO", "link": null, "widget": {"name": "ref_image_size"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [15]}, {"name": "LATENT", "type": "LATENT", "links": [20]}], "properties": {"Node name for S&R": "MiniMaxH3ReferenceToVideo"}, "widgets_values": ["", 960, 544, 73, "match"], "title": "Scene 1 MiniMax H3 Reference to Video"}, {"id": 39, "type": "BasicGuider", "pos": [1460, 1460], "size": [300, 60], "flags": {}, "order": 38, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 14}, {"name": "conditioning", "type": "CONDITIONING", "link": 15}], "outputs": [{"name": "GUIDER", "type": "GUIDER", "links": [17]}], "properties": {"Node name for S&R": "BasicGuider"}, "widgets_values": [], "title": "Scene 1 guider"}, {"id": 40, "type": "SamplerCustomAdvanced", "pos": [1460, 1540], "size": [300, 200], "flags": {}, "order": 39, "mode": 0, "inputs": [{"name": "noise", "type": "NOISE", "link": 16}, {"name": "guider", "type": "GUIDER", "link": 17}, {"name": "sampler", "type": "SAMPLER", "link": 18}, {"name": "sigmas", "type": "SIGMAS", "link": 19}, {"name": "latent_image", "type": "LATENT", "link": 20}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [21]}], "properties": {"Node name for S&R": "SamplerCustomAdvanced"}, "widgets_values": [], "title": "Scene 1 sampler"}, {"id": 41, "type": "VAEDecode", "pos": [1460, 1780], "size": [300, 60], "flags": {}, "order": 40, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 21}, {"name": "vae", "type": "VAE", "link": 22}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [113]}], "properties": {"Node name for S&R": "VAEDecode"}, "widgets_values": [], "title": "Scene 1 decode (video only — H3's own audio is unused, see readme)"}, {"id": 42, "type": "GmanskiH3ReferencePrompt", "pos": [1940, 900], "size": [420, 110], "flags": {}, "order": 41, "mode": 0, "inputs": [{"name": "scene_prompt", "type": "STRING", "link": 23}, {"name": "character_name", "type": "STRING", "link": 24}], "outputs": [{"name": "prompt", "type": "STRING", "links": [30]}], "properties": {"Node name for S&R": "GmanskiH3ReferencePrompt"}, "widgets_values": [], "title": "Scene 2 H3 prompt"}, {"id": 43, "type": "ComfyMathExpression", "pos": [1940, 1030], "size": [300, 90], "flags": {}, "order": 42, "mode": 0, "inputs": [{"name": "values.a", "type": "FLOAT,INT,BOOLEAN", "link": 25}], "outputs": [{"name": "FLOAT", "type": "FLOAT", "links": []}, {"name": "INT", "type": "INT", "links": [31]}, {"name": "BOOL", "type": "BOOLEAN", "links": []}], "properties": {"Node name for S&R": "ComfyMathExpression"}, "widgets_values": ["max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17"], "title": "Scene 2 frame count (17n+5)"}, {"id": 44, "type": "MiniMaxH3ReferenceToVideo", "pos": [1940, 1140], "size": [420, 300], "flags": {}, "order": 43, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 26}, {"name": "vae", "type": "VAE", "link": 27}, {"name": "audio_vae", "type": "VAE", "link": 28}, {"name": "ref_images.ref_image_0", "type": "IMAGE", "link": 29}, {"name": "prompt", "type": "STRING", "link": 30, "widget": {"name": "prompt"}}, {"name": "width", "type": "INT", "link": null, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": null, "widget": {"name": "height"}}, {"name": "length", "type": "INT", "link": 31, "widget": {"name": "length"}}, {"name": "ref_image_size", "type": "COMBO", "link": null, "widget": {"name": "ref_image_size"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [33]}, {"name": "LATENT", "type": "LATENT", "links": [38]}], "properties": {"Node name for S&R": "MiniMaxH3ReferenceToVideo"}, "widgets_values": ["", 960, 544, 73, "match"], "title": "Scene 2 MiniMax H3 Reference to Video"}, {"id": 45, "type": "BasicGuider", "pos": [1940, 1460], "size": [300, 60], "flags": {}, "order": 44, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 32}, {"name": "conditioning", "type": "CONDITIONING", "link": 33}], "outputs": [{"name": "GUIDER", "type": "GUIDER", "links": [35]}], "properties": {"Node name for S&R": "BasicGuider"}, "widgets_values": [], "title": "Scene 2 guider"}, {"id": 46, "type": "SamplerCustomAdvanced", "pos": [1940, 1540], "size": [300, 200], "flags": {}, "order": 45, "mode": 0, "inputs": [{"name": "noise", "type": "NOISE", "link": 34}, {"name": "guider", "type": "GUIDER", "link": 35}, {"name": "sampler", "type": "SAMPLER", "link": 36}, {"name": "sigmas", "type": "SIGMAS", "link": 37}, {"name": "latent_image", "type": "LATENT", "link": 38}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [39]}], "properties": {"Node name for S&R": "SamplerCustomAdvanced"}, "widgets_values": [], "title": "Scene 2 sampler"}, {"id": 47, "type": "VAEDecode", "pos": [1940, 1780], "size": [300, 60], "flags": {}, "order": 46, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 39}, {"name": "vae", "type": "VAE", "link": 40}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [114]}], "properties": {"Node name for S&R": "VAEDecode"}, "widgets_values": [], "title": "Scene 2 decode (video only — H3's own audio is unused, see readme)"}, {"id": 48, "type": "GmanskiH3ReferencePrompt", "pos": [2420, 900], "size": [420, 110], "flags": {}, "order": 47, "mode": 0, "inputs": [{"name": "scene_prompt", "type": "STRING", "link": 41}, {"name": "character_name", "type": "STRING", "link": 42}], "outputs": [{"name": "prompt", "type": "STRING", "links": [48]}], "properties": {"Node name for S&R": "GmanskiH3ReferencePrompt"}, "widgets_values": [], "title": "Scene 3 H3 prompt"}, {"id": 49, "type": "ComfyMathExpression", "pos": [2420, 1030], "size": [300, 90], "flags": {}, "order": 48, "mode": 0, "inputs": [{"name": "values.a", "type": "FLOAT,INT,BOOLEAN", "link": 43}], "outputs": [{"name": "FLOAT", "type": "FLOAT", "links": []}, {"name": "INT", "type": "INT", "links": [49]}, {"name": "BOOL", "type": "BOOLEAN", "links": []}], "properties": {"Node name for S&R": "ComfyMathExpression"}, "widgets_values": ["max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17"], "title": "Scene 3 frame count (17n+5)"}, {"id": 50, "type": "MiniMaxH3ReferenceToVideo", "pos": [2420, 1140], "size": [420, 300], "flags": {}, "order": 49, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 44}, {"name": "vae", "type": "VAE", "link": 45}, {"name": "audio_vae", "type": "VAE", "link": 46}, {"name": "ref_images.ref_image_0", "type": "IMAGE", "link": 47}, {"name": "prompt", "type": "STRING", "link": 48, "widget": {"name": "prompt"}}, {"name": "width", "type": "INT", "link": null, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": null, "widget": {"name": "height"}}, {"name": "length", "type": "INT", "link": 49, "widget": {"name": "length"}}, {"name": "ref_image_size", "type": "COMBO", "link": null, "widget": {"name": "ref_image_size"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [51]}, {"name": "LATENT", "type": "LATENT", "links": [56]}], "properties": {"Node name for S&R": "MiniMaxH3ReferenceToVideo"}, "widgets_values": ["", 960, 544, 73, "match"], "title": "Scene 3 MiniMax H3 Reference to Video"}, {"id": 51, "type": "BasicGuider", "pos": [2420, 1460], "size": [300, 60], "flags": {}, "order": 50, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 50}, {"name": "conditioning", "type": "CONDITIONING", "link": 51}], "outputs": [{"name": "GUIDER", "type": "GUIDER", "links": [53]}], "properties": {"Node name for S&R": "BasicGuider"}, "widgets_values": [], "title": "Scene 3 guider"}, {"id": 52, "type": "SamplerCustomAdvanced", "pos": [2420, 1540], "size": [300, 200], "flags": {}, "order": 51, "mode": 0, "inputs": [{"name": "noise", "type": "NOISE", "link": 52}, {"name": "guider", "type": "GUIDER", "link": 53}, {"name": "sampler", "type": "SAMPLER", "link": 54}, {"name": "sigmas", "type": "SIGMAS", "link": 55}, {"name": "latent_image", "type": "LATENT", "link": 56}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [57]}], "properties": {"Node name for S&R": "SamplerCustomAdvanced"}, "widgets_values": [], "title": "Scene 3 sampler"}, {"id": 53, "type": "VAEDecode", "pos": [2420, 1780], "size": [300, 60], "flags": {}, "order": 52, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 57}, {"name": "vae", "type": "VAE", "link": 58}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [116]}], "properties": {"Node name for S&R": "VAEDecode"}, "widgets_values": [], "title": "Scene 3 decode (video only — H3's own audio is unused, see readme)"}, {"id": 54, "type": "GmanskiH3ReferencePrompt", "pos": [2900, 900], "size": [420, 110], "flags": {}, "order": 53, "mode": 0, "inputs": [{"name": "scene_prompt", "type": "STRING", "link": 59}, {"name": "character_name", "type": "STRING", "link": 60}], "outputs": [{"name": "prompt", "type": "STRING", "links": [66]}], "properties": {"Node name for S&R": "GmanskiH3ReferencePrompt"}, "widgets_values": [], "title": "Scene 4 H3 prompt"}, {"id": 55, "type": "ComfyMathExpression", "pos": [2900, 1030], "size": [300, 90], "flags": {}, "order": 54, "mode": 0, "inputs": [{"name": "values.a", "type": "FLOAT,INT,BOOLEAN", "link": 61}], "outputs": [{"name": "FLOAT", "type": "FLOAT", "links": []}, {"name": "INT", "type": "INT", "links": [67]}, {"name": "BOOL", "type": "BOOLEAN", "links": []}], "properties": {"Node name for S&R": "ComfyMathExpression"}, "widgets_values": ["max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17"], "title": "Scene 4 frame count (17n+5)"}, {"id": 56, "type": "MiniMaxH3ReferenceToVideo", "pos": [2900, 1140], "size": [420, 300], "flags": {}, "order": 55, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 62}, {"name": "vae", "type": "VAE", "link": 63}, {"name": "audio_vae", "type": "VAE", "link": 64}, {"name": "ref_images.ref_image_0", "type": "IMAGE", "link": 65}, {"name": "prompt", "type": "STRING", "link": 66, "widget": {"name": "prompt"}}, {"name": "width", "type": "INT", "link": null, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": null, "widget": {"name": "height"}}, {"name": "length", "type": "INT", "link": 67, "widget": {"name": "length"}}, {"name": "ref_image_size", "type": "COMBO", "link": null, "widget": {"name": "ref_image_size"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [69]}, {"name": "LATENT", "type": "LATENT", "links": [74]}], "properties": {"Node name for S&R": "MiniMaxH3ReferenceToVideo"}, "widgets_values": ["", 960, 544, 73, "match"], "title": "Scene 4 MiniMax H3 Reference to Video"}, {"id": 57, "type": "BasicGuider", "pos": [2900, 1460], "size": [300, 60], "flags": {}, "order": 56, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 68}, {"name": "conditioning", "type": "CONDITIONING", "link": 69}], "outputs": [{"name": "GUIDER", "type": "GUIDER", "links": [71]}], "properties": {"Node name for S&R": "BasicGuider"}, "widgets_values": [], "title": "Scene 4 guider"}, {"id": 58, "type": "SamplerCustomAdvanced", "pos": [2900, 1540], "size": [300, 200], "flags": {}, "order": 57, "mode": 0, "inputs": [{"name": "noise", "type": "NOISE", "link": 70}, {"name": "guider", "type": "GUIDER", "link": 71}, {"name": "sampler", "type": "SAMPLER", "link": 72}, {"name": "sigmas", "type": "SIGMAS", "link": 73}, {"name": "latent_image", "type": "LATENT", "link": 74}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [75]}], "properties": {"Node name for S&R": "SamplerCustomAdvanced"}, "widgets_values": [], "title": "Scene 4 sampler"}, {"id": 59, "type": "VAEDecode", "pos": [2900, 1780], "size": [300, 60], "flags": {}, "order": 58, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 75}, {"name": "vae", "type": "VAE", "link": 76}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [118]}], "properties": {"Node name for S&R": "VAEDecode"}, "widgets_values": [], "title": "Scene 4 decode (video only — H3's own audio is unused, see readme)"}, {"id": 60, "type": "GmanskiH3ReferencePrompt", "pos": [3380, 900], "size": [420, 110], "flags": {}, "order": 59, "mode": 0, "inputs": [{"name": "scene_prompt", "type": "STRING", "link": 77}, {"name": "character_name", "type": "STRING", "link": 78}], "outputs": [{"name": "prompt", "type": "STRING", "links": [84]}], "properties": {"Node name for S&R": "GmanskiH3ReferencePrompt"}, "widgets_values": [], "title": "Scene 5 H3 prompt"}, {"id": 61, "type": "ComfyMathExpression", "pos": [3380, 1030], "size": [300, 90], "flags": {}, "order": 60, "mode": 0, "inputs": [{"name": "values.a", "type": "FLOAT,INT,BOOLEAN", "link": 79}], "outputs": [{"name": "FLOAT", "type": "FLOAT", "links": []}, {"name": "INT", "type": "INT", "links": [85]}, {"name": "BOOL", "type": "BOOLEAN", "links": []}], "properties": {"Node name for S&R": "ComfyMathExpression"}, "widgets_values": ["max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17"], "title": "Scene 5 frame count (17n+5)"}, {"id": 62, "type": "MiniMaxH3ReferenceToVideo", "pos": [3380, 1140], "size": [420, 300], "flags": {}, "order": 61, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 80}, {"name": "vae", "type": "VAE", "link": 81}, {"name": "audio_vae", "type": "VAE", "link": 82}, {"name": "ref_images.ref_image_0", "type": "IMAGE", "link": 83}, {"name": "prompt", "type": "STRING", "link": 84, "widget": {"name": "prompt"}}, {"name": "width", "type": "INT", "link": null, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": null, "widget": {"name": "height"}}, {"name": "length", "type": "INT", "link": 85, "widget": {"name": "length"}}, {"name": "ref_image_size", "type": "COMBO", "link": null, "widget": {"name": "ref_image_size"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [87]}, {"name": "LATENT", "type": "LATENT", "links": [92]}], "properties": {"Node name for S&R": "MiniMaxH3ReferenceToVideo"}, "widgets_values": ["", 960, 544, 73, "match"], "title": "Scene 5 MiniMax H3 Reference to Video"}, {"id": 63, "type": "BasicGuider", "pos": [3380, 1460], "size": [300, 60], "flags": {}, "order": 62, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 86}, {"name": "conditioning", "type": "CONDITIONING", "link": 87}], "outputs": [{"name": "GUIDER", "type": "GUIDER", "links": [89]}], "properties": {"Node name for S&R": "BasicGuider"}, "widgets_values": [], "title": "Scene 5 guider"}, {"id": 64, "type": "SamplerCustomAdvanced", "pos": [3380, 1540], "size": [300, 200], "flags": {}, "order": 63, "mode": 0, "inputs": [{"name": "noise", "type": "NOISE", "link": 88}, {"name": "guider", "type": "GUIDER", "link": 89}, {"name": "sampler", "type": "SAMPLER", "link": 90}, {"name": "sigmas", "type": "SIGMAS", "link": 91}, {"name": "latent_image", "type": "LATENT", "link": 92}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [93]}], "properties": {"Node name for S&R": "SamplerCustomAdvanced"}, "widgets_values": [], "title": "Scene 5 sampler"}, {"id": 65, "type": "VAEDecode", "pos": [3380, 1780], "size": [300, 60], "flags": {}, "order": 64, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 93}, {"name": "vae", "type": "VAE", "link": 94}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [120]}], "properties": {"Node name for S&R": "VAEDecode"}, "widgets_values": [], "title": "Scene 5 decode (video only — H3's own audio is unused, see readme)"}, {"id": 66, "type": "GmanskiH3ReferencePrompt", "pos": [3860, 900], "size": [420, 110], "flags": {}, "order": 65, "mode": 0, "inputs": [{"name": "scene_prompt", "type": "STRING", "link": 95}, {"name": "character_name", "type": "STRING", "link": 96}], "outputs": [{"name": "prompt", "type": "STRING", "links": [102]}], "properties": {"Node name for S&R": "GmanskiH3ReferencePrompt"}, "widgets_values": [], "title": "Scene 6 H3 prompt"}, {"id": 67, "type": "ComfyMathExpression", "pos": [3860, 1030], "size": [300, 90], "flags": {}, "order": 66, "mode": 0, "inputs": [{"name": "values.a", "type": "FLOAT,INT,BOOLEAN", "link": 97}], "outputs": [{"name": "FLOAT", "type": "FLOAT", "links": []}, {"name": "INT", "type": "INT", "links": [103]}, {"name": "BOOL", "type": "BOOLEAN", "links": []}], "properties": {"Node name for S&R": "ComfyMathExpression"}, "widgets_values": ["max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17"], "title": "Scene 6 frame count (17n+5)"}, {"id": 68, "type": "MiniMaxH3ReferenceToVideo", "pos": [3860, 1140], "size": [420, 300], "flags": {}, "order": 67, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 98}, {"name": "vae", "type": "VAE", "link": 99}, {"name": "audio_vae", "type": "VAE", "link": 100}, {"name": "ref_images.ref_image_0", "type": "IMAGE", "link": 101}, {"name": "prompt", "type": "STRING", "link": 102, "widget": {"name": "prompt"}}, {"name": "width", "type": "INT", "link": null, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": null, "widget": {"name": "height"}}, {"name": "length", "type": "INT", "link": 103, "widget": {"name": "length"}}, {"name": "ref_image_size", "type": "COMBO", "link": null, "widget": {"name": "ref_image_size"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [105]}, {"name": "LATENT", "type": "LATENT", "links": [110]}], "properties": {"Node name for S&R": "MiniMaxH3ReferenceToVideo"}, "widgets_values": ["", 960, 544, 73, "match"], "title": "Scene 6 MiniMax H3 Reference to Video"}, {"id": 69, "type": "BasicGuider", "pos": [3860, 1460], "size": [300, 60], "flags": {}, "order": 68, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 104}, {"name": "conditioning", "type": "CONDITIONING", "link": 105}], "outputs": [{"name": "GUIDER", "type": "GUIDER", "links": [107]}], "properties": {"Node name for S&R": "BasicGuider"}, "widgets_values": [], "title": "Scene 6 guider"}, {"id": 70, "type": "SamplerCustomAdvanced", "pos": [3860, 1540], "size": [300, 200], "flags": {}, "order": 69, "mode": 0, "inputs": [{"name": "noise", "type": "NOISE", "link": 106}, {"name": "guider", "type": "GUIDER", "link": 107}, {"name": "sampler", "type": "SAMPLER", "link": 108}, {"name": "sigmas", "type": "SIGMAS", "link": 109}, {"name": "latent_image", "type": "LATENT", "link": 110}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [111]}], "properties": {"Node name for S&R": "SamplerCustomAdvanced"}, "widgets_values": [], "title": "Scene 6 sampler"}, {"id": 71, "type": "VAEDecode", "pos": [3860, 1780], "size": [300, 60], "flags": {}, "order": 70, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 111}, {"name": "vae", "type": "VAE", "link": 112}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [122]}], "properties": {"Node name for S&R": "VAEDecode"}, "widgets_values": [], "title": "Scene 6 decode (video only — H3's own audio is unused, see readme)"}, {"id": 72, "type": "VHS_MergeImages", "pos": [1940, 1900], "size": [360, 150], "flags": {}, "order": 71, "mode": 0, "inputs": [{"name": "images_A", "type": "IMAGE", "link": 113}, {"name": "images_B", "type": "IMAGE", "link": 114}, {"name": "merge_strategy", "type": "COMBO", "link": null, "widget": {"name": "merge_strategy"}}, {"name": "scale_method", "type": "COMBO", "link": null, "widget": {"name": "scale_method"}}, {"name": "crop", "type": "COMBO", "link": null, "widget": {"name": "crop"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [115]}, {"name": "count", "type": "INT", "links": []}], "properties": {"Node name for S&R": "VHS_MergeImages"}, "widgets_values": ["match A", "bilinear", "disabled"], "title": "Merge scenes 1..2"}, {"id": 73, "type": "VHS_MergeImages", "pos": [2420, 1900], "size": [360, 150], "flags": {}, "order": 72, "mode": 0, "inputs": [{"name": "images_A", "type": "IMAGE", "link": 115}, {"name": "images_B", "type": "IMAGE", "link": 116}, {"name": "merge_strategy", "type": "COMBO", "link": null, "widget": {"name": "merge_strategy"}}, {"name": "scale_method", "type": "COMBO", "link": null, "widget": {"name": "scale_method"}}, {"name": "crop", "type": "COMBO", "link": null, "widget": {"name": "crop"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [117]}, {"name": "count", "type": "INT", "links": []}], "properties": {"Node name for S&R": "VHS_MergeImages"}, "widgets_values": ["match A", "bilinear", "disabled"], "title": "Merge scenes 1..3"}, {"id": 74, "type": "VHS_MergeImages", "pos": [2900, 1900], "size": [360, 150], "flags": {}, "order": 73, "mode": 0, "inputs": [{"name": "images_A", "type": "IMAGE", "link": 117}, {"name": "images_B", "type": "IMAGE", "link": 118}, {"name": "merge_strategy", "type": "COMBO", "link": null, "widget": {"name": "merge_strategy"}}, {"name": "scale_method", "type": "COMBO", "link": null, "widget": {"name": "scale_method"}}, {"name": "crop", "type": "COMBO", "link": null, "widget": {"name": "crop"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [119]}, {"name": "count", "type": "INT", "links": []}], "properties": {"Node name for S&R": "VHS_MergeImages"}, "widgets_values": ["match A", "bilinear", "disabled"], "title": "Merge scenes 1..4"}, {"id": 75, "type": "VHS_MergeImages", "pos": [3380, 1900], "size": [360, 150], "flags": {}, "order": 74, "mode": 0, "inputs": [{"name": "images_A", "type": "IMAGE", "link": 119}, {"name": "images_B", "type": "IMAGE", "link": 120}, {"name": "merge_strategy", "type": "COMBO", "link": null, "widget": {"name": "merge_strategy"}}, {"name": "scale_method", "type": "COMBO", "link": null, "widget": {"name": "scale_method"}}, {"name": "crop", "type": "COMBO", "link": null, "widget": {"name": "crop"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [121]}, {"name": "count", "type": "INT", "links": []}], "properties": {"Node name for S&R": "VHS_MergeImages"}, "widgets_values": ["match A", "bilinear", "disabled"], "title": "Merge scenes 1..5"}, {"id": 76, "type": "VHS_MergeImages", "pos": [3860, 1900], "size": [360, 150], "flags": {}, "order": 75, "mode": 0, "inputs": [{"name": "images_A", "type": "IMAGE", "link": 121}, {"name": "images_B", "type": "IMAGE", "link": 122}, {"name": "merge_strategy", "type": "COMBO", "link": null, "widget": {"name": "merge_strategy"}}, {"name": "scale_method", "type": "COMBO", "link": null, "widget": {"name": "scale_method"}}, {"name": "crop", "type": "COMBO", "link": null, "widget": {"name": "crop"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [123]}, {"name": "count", "type": "INT", "links": []}], "properties": {"Node name for S&R": "VHS_MergeImages"}, "widgets_values": ["match A", "bilinear", "disabled"], "title": "Merge scenes 1..6"}, {"id": 77, "type": "GmanskiFilenamePrefix", "pos": [4340, 1960], "size": [330, 130], "flags": {}, "order": 76, "mode": 0, "inputs": [{"name": "title", "type": "STRING", "link": null, "widget": {"name": "title"}}, {"name": "folder", "type": "STRING", "link": null, "widget": {"name": "folder"}}, {"name": "fallback", "type": "STRING", "link": null, "widget": {"name": "fallback"}}], "outputs": [{"name": "filename_prefix", "type": "STRING", "links": [126]}], "properties": {"Node name for S&R": "GmanskiFilenamePrefix"}, "widgets_values": ["", "video/Gmanski", "music_video_h3"], "title": "Song title (used as the saved filename)"}, {"id": 78, "type": "VHS_VideoCombine", "pos": [4340, 2120], "size": [420, 260], "flags": {}, "order": 77, "mode": 0, "inputs": [{"name": "images", "type": "IMAGE", "link": 123}, {"name": "frame_rate", "type": "FLOAT", "link": 124, "widget": {"name": "frame_rate"}}, {"name": "loop_count", "type": "INT", "link": null, "widget": {"name": "loop_count"}}, {"name": "filename_prefix", "type": "STRING", "link": 126, "widget": {"name": "filename_prefix"}}, {"name": "format", "type": "COMBO", "link": null, "widget": {"name": "format"}}, {"name": "pingpong", "type": "BOOLEAN", "link": null, "widget": {"name": "pingpong"}}, {"name": "save_output", "type": "BOOLEAN", "link": null, "widget": {"name": "save_output"}}, {"name": "audio", "type": "AUDIO", "link": 125}], "outputs": [{"name": "Filenames", "type": "VHS_FILENAMES", "links": []}], "properties": {"Node name for S&R": "VHS_VideoCombine"}, "widgets_values": [24.0, 0, "video/Gmanski/music_video_h3", "video/h264-mp4", false, true], "title": "Combine + mux audio"}], "links": [[1, 4, 7, 5, 0, "STRING"], [2, 28, 0, 29, 0, "MODEL"], [3, 29, 0, 30, 0, "MODEL"], [4, 30, 0, 35, 0, "MODEL"], [5, 25, 0, 36, 0, "STRING"], [6, 4, 0, 36, 1, "STRING"], [7, 25, 8, 37, 0, "FLOAT"], [8, 31, 0, 38, 0, "CLIP"], [9, 32, 0, 38, 1, "VAE"], [10, 33, 0, 38, 2, "VAE"], [11, 5, 0, 38, 3, "IMAGE"], [12, 36, 0, 38, 4, "STRING"], [13, 37, 1, 38, 7, "INT"], [14, 30, 0, 39, 0, "MODEL"], [15, 38, 0, 39, 1, "CONDITIONING"], [16, 27, 0, 40, 0, "NOISE"], [17, 39, 0, 40, 1, "GUIDER"], [18, 34, 0, 40, 2, "SAMPLER"], [19, 35, 0, 40, 3, "SIGMAS"], [20, 38, 1, 40, 4, "LATENT"], [21, 40, 0, 41, 0, "LATENT"], [22, 32, 0, 41, 1, "VAE"], [23, 25, 1, 42, 0, "STRING"], [24, 4, 0, 42, 1, "STRING"], [25, 25, 9, 43, 0, "FLOAT"], [26, 31, 0, 44, 0, "CLIP"], [27, 32, 0, 44, 1, "VAE"], [28, 33, 0, 44, 2, "VAE"], [29, 5, 0, 44, 3, "IMAGE"], [30, 42, 0, 44, 4, "STRING"], [31, 43, 1, 44, 7, "INT"], [32, 30, 0, 45, 0, "MODEL"], [33, 44, 0, 45, 1, "CONDITIONING"], [34, 27, 0, 46, 0, "NOISE"], [35, 45, 0, 46, 1, "GUIDER"], [36, 34, 0, 46, 2, "SAMPLER"], [37, 35, 0, 46, 3, "SIGMAS"], [38, 44, 1, 46, 4, "LATENT"], [39, 46, 0, 47, 0, "LATENT"], [40, 32, 0, 47, 1, "VAE"], [41, 25, 2, 48, 0, "STRING"], [42, 4, 0, 48, 1, "STRING"], [43, 25, 10, 49, 0, "FLOAT"], [44, 31, 0, 50, 0, "CLIP"], [45, 32, 0, 50, 1, "VAE"], [46, 33, 0, 50, 2, "VAE"], [47, 5, 0, 50, 3, "IMAGE"], [48, 48, 0, 50, 4, "STRING"], [49, 49, 1, 50, 7, "INT"], [50, 30, 0, 51, 0, "MODEL"], [51, 50, 0, 51, 1, "CONDITIONING"], [52, 27, 0, 52, 0, "NOISE"], [53, 51, 0, 52, 1, "GUIDER"], [54, 34, 0, 52, 2, "SAMPLER"], [55, 35, 0, 52, 3, "SIGMAS"], [56, 50, 1, 52, 4, "LATENT"], [57, 52, 0, 53, 0, "LATENT"], [58, 32, 0, 53, 1, "VAE"], [59, 25, 3, 54, 0, "STRING"], [60, 4, 0, 54, 1, "STRING"], [61, 25, 11, 55, 0, "FLOAT"], [62, 31, 0, 56, 0, "CLIP"], [63, 32, 0, 56, 1, "VAE"], [64, 33, 0, 56, 2, "VAE"], [65, 5, 0, 56, 3, "IMAGE"], [66, 54, 0, 56, 4, "STRING"], [67, 55, 1, 56, 7, "INT"], [68, 30, 0, 57, 0, "MODEL"], [69, 56, 0, 57, 1, "CONDITIONING"], [70, 27, 0, 58, 0, "NOISE"], [71, 57, 0, 58, 1, "GUIDER"], [72, 34, 0, 58, 2, "SAMPLER"], [73, 35, 0, 58, 3, "SIGMAS"], [74, 56, 1, 58, 4, "LATENT"], [75, 58, 0, 59, 0, "LATENT"], [76, 32, 0, 59, 1, "VAE"], [77, 25, 4, 60, 0, "STRING"], [78, 4, 0, 60, 1, "STRING"], [79, 25, 12, 61, 0, "FLOAT"], [80, 31, 0, 62, 0, "CLIP"], [81, 32, 0, 62, 1, "VAE"], [82, 33, 0, 62, 2, "VAE"], [83, 5, 0, 62, 3, "IMAGE"], [84, 60, 0, 62, 4, "STRING"], [85, 61, 1, 62, 7, "INT"], [86, 30, 0, 63, 0, "MODEL"], [87, 62, 0, 63, 1, "CONDITIONING"], [88, 27, 0, 64, 0, "NOISE"], [89, 63, 0, 64, 1, "GUIDER"], [90, 34, 0, 64, 2, "SAMPLER"], [91, 35, 0, 64, 3, "SIGMAS"], [92, 62, 1, 64, 4, "LATENT"], [93, 64, 0, 65, 0, "LATENT"], [94, 32, 0, 65, 1, "VAE"], [95, 25, 5, 66, 0, "STRING"], [96, 4, 0, 66, 1, "STRING"], [97, 25, 13, 67, 0, "FLOAT"], [98, 31, 0, 68, 0, "CLIP"], [99, 32, 0, 68, 1, "VAE"], [100, 33, 0, 68, 2, "VAE"], [101, 5, 0, 68, 3, "IMAGE"], [102, 66, 0, 68, 4, "STRING"], [103, 67, 1, 68, 7, "INT"], [104, 30, 0, 69, 0, "MODEL"], [105, 68, 0, 69, 1, "CONDITIONING"], [106, 27, 0, 70, 0, "NOISE"], [107, 69, 0, 70, 1, "GUIDER"], [108, 34, 0, 70, 2, "SAMPLER"], [109, 35, 0, 70, 3, "SIGMAS"], [110, 68, 1, 70, 4, "LATENT"], [111, 70, 0, 71, 0, "LATENT"], [112, 32, 0, 71, 1, "VAE"], [113, 41, 0, 72, 0, "IMAGE"], [114, 47, 0, 72, 1, "IMAGE"], [115, 72, 0, 73, 0, "IMAGE"], [116, 53, 0, 73, 1, "IMAGE"], [117, 73, 0, 74, 0, "IMAGE"], [118, 59, 0, 74, 1, "IMAGE"], [119, 74, 0, 75, 0, "IMAGE"], [120, 65, 0, 75, 1, "IMAGE"], [121, 75, 0, 76, 0, "IMAGE"], [122, 71, 0, 76, 1, "IMAGE"], [123, 76, 0, 78, 0, "IMAGE"], [124, 26, 0, 78, 1, "FLOAT"], [125, 23, 0, 78, 7, "AUDIO"], [126, 77, 0, 78, 3, "STRING"], [127, 2, 0, 6, 5, "FLOAT"], [128, 24, 0, 25, 3, "FLOAT"], [129, 3, 0, 4, 0, "STRING"], [130, 3, 0, 6, 15, "STRING"], [131, 6, 0, 9, 0, "STRING"], [132, 7, 0, 9, 1, "STRING"], [133, 6, 1, 10, 0, "STRING"], [134, 8, 0, 10, 1, "STRING"], [135, 9, 0, 11, 0, "STRING"], [136, 10, 0, 12, 0, "STRING"], [137, 9, 0, 13, 0, "STRING"], [138, 13, 0, 14, 0, "STRING"], [139, 9, 0, 25, 1, "STRING"], [140, 10, 0, 25, 2, "STRING"], [141, 4, 4, 25, 4, "STRING"], [142, 16, 0, 19, 0, "CLIP"], [143, 11, 0, 19, 1, "STRING"], [144, 12, 0, 19, 2, "STRING"], [145, 18, 0, 19, 3, "INT"], [146, 6, 2, 19, 4, "FLOAT"], [147, 19, 1, 20, 0, "FLOAT"], [148, 19, 0, 21, 0, "CONDITIONING"], [149, 15, 0, 22, 0, "MODEL"], [150, 19, 0, 22, 1, "CONDITIONING"], [151, 21, 0, 22, 2, "CONDITIONING"], [152, 20, 0, 22, 3, "LATENT"], [153, 18, 0, 22, 4, "INT"], [154, 22, 0, 23, 0, "LATENT"], [155, 17, 0, 23, 1, "VAE"], [156, 23, 0, 24, 0, "AUDIO"]], "groups": [], "config": {}, "extra": {"ds": {"scale": 0.62, "offset": [1480, 420]}, "gmanski_template": "music-video-h3", "generator": "scripts/build_minimax_music_workflow.py", "source": "https://gmanski.com/workflows/music-video-h3"}, "version": 0.4}