diff --git a/optimized/README.md b/optimized/README.md index 51697da..27f2c91 100644 --- a/optimized/README.md +++ b/optimized/README.md @@ -32,6 +32,7 @@ These workflows are intended to become the practical default choices for each ca - `image-edit/zimage-turbo-3070-inpaint-start/` - `image-edit/flux2klein-9b-fp8-edit-master/` - `image-to-video/ltx23-3070-simple-master/` +- `image-to-video/minimax-h3-3070-single-10s-1152x640-r2v-master/` - `text-to-video/minimax-h3-3070-turbo-master/` ## Workflow format diff --git a/optimized/image-to-video/README.md b/optimized/image-to-video/README.md index 331b5d9..7579477 100644 --- a/optimized/image-to-video/README.md +++ b/optimized/image-to-video/README.md @@ -5,5 +5,6 @@ Home for maintained category masters focused on image-to-video generation. ## Current masters - `ltx23-3070-simple-master` +- `minimax-h3-3070-single-10s-1152x640-r2v-master` - `minimax-h3-contex-loop-3070-compact-30s` - `minimax-h3-contex-loop-3070-compact-prepend-480p-3x10s` diff --git a/optimized/image-to-video/minimax-h3-3070-single-10s-1152x640-r2v-master/README.md b/optimized/image-to-video/minimax-h3-3070-single-10s-1152x640-r2v-master/README.md new file mode 100644 index 0000000..c1b52b6 --- /dev/null +++ b/optimized/image-to-video/minimax-h3-3070-single-10s-1152x640-r2v-master/README.md @@ -0,0 +1,61 @@ +# MiniMax H3 3070 Single 10s 1152x640 R2V Master + +## Summary + +Best-current single-shot `MiniMax H3` `reference-to-video` master for a +`3070 / 8 GB` box when the goal is one strong `10s` clip before post-upscale. +This is the first proven higher-resolution step above the safer `480p` chain +masters while still completing locally. + +## Status + +- `best-current-single-10s-r2v-master` + +## Workflow asset + +- `workflow.json` + +## Built from + +- `optimized/image-to-video/minimax-h3-best-current-r2v-master-480p-3x10s/` +- the successful `1152x640` max-resolution probe run from + `tmp/comfyui-maxres-probe/2026-08-16T21-36-15-454Z/` + +## What this proves + +- `1280x704` OOMed on the tested `3070 / 8 GB` +- `1216x672` OOMed on the tested `3070 / 8 GB` +- `1152x640` completed successfully as a single `10s` `R2V` render + +## Key model stack + +- `minimax_h3_ref2va_pruned_int8_convrot.safetensors` +- `qwen3vl_32b_heretic_minimax_h3_nvfp4.safetensors` +- `minimax_h3_video_vae_int8_convrot.safetensors` +- `minimax_h3_audio_vae_fp32.safetensors` +- `minimax\minimax_h3_turbo_v4_step600_ema.safetensors` + +## Main changes + +- raises the working canvas to `1152x640` +- keeps the single `10s` duration target +- keeps the low-VRAM attention and chunked feed-forward path +- keeps the latent upscale stage plus `RTXVideoSuperResolution` hook for the + post-pass workflow shape +- preserves the exact proven prompt graph instead of prematurely generalizing + away the validated settings + +## When to use this + +- use this when you want the best current single `10s` local MiniMax render + before RTX upscale +- use the `480p` chain masters when the priority is longer continuation or + safer multi-clip iteration + +## Notes + +- The bundled prompt and image references are the validated probe example. +- Replace the demo reference image, prompt text, and output prefix for your own + run after loading the workflow. +- Treat `1152x640` as the current confirmed ceiling for this graph on the + tested machine until a tighter probe proves otherwise. diff --git a/optimized/image-to-video/minimax-h3-3070-single-10s-1152x640-r2v-master/workflow.json b/optimized/image-to-video/minimax-h3-3070-single-10s-1152x640-r2v-master/workflow.json new file mode 100644 index 0000000..42da875 --- /dev/null +++ b/optimized/image-to-video/minimax-h3-3070-single-10s-1152x640-r2v-master/workflow.json @@ -0,0 +1,902 @@ +{ + "500": { + "class_type": "ModelPreviewOverrideKJ", + "inputs": { + "model": [ + "680:498", + 0 + ], + "max_resolution": 1024, + "jpeg_quality": 80, + "suppress_default_preview": true, + "preview_frames": 240, + "preview_fps": 9, + "tiny_vae": "taeh3.safetensors" + }, + "_meta": { + "title": "ModelPreviewOverrideKJ" + } + }, + "513": { + "class_type": "RTXVideoSuperResolution", + "inputs": { + "images": [ + "571:522", + 0 + ], + "resize_type": "scale by multiplier", + "quality": "HIGH", + "resize_type.scale": [ + "723", + 0 + ] + }, + "_meta": { + "title": "RTXVideoSuperResolution" + } + }, + "514": { + "class_type": "PixaromaResolution", + "inputs": { + "ResolutionState": "{\"mode\":\"custom\",\"ratio\":\"16:9\",\"w\":1152,\"h\":640,\"custom_w\":1152,\"custom_h\":640,\"custom_ratio_w\":5,\"custom_ratio_h\":2,\"snap\":16}" + }, + "_meta": { + "title": "PixaromaResolution" + } + }, + "539": { + "class_type": "RandomNoise", + "inputs": { + "noise_seed": 5203 + }, + "_meta": { + "title": "RandomNoise" + } + }, + "541": { + "class_type": "KSamplerSelect", + "inputs": { + "sampler_name": "euler_ancestral" + }, + "_meta": { + "title": "KSamplerSelect" + } + }, + "548": { + "class_type": "PrimitiveBoolean", + "inputs": { + "value": false + }, + "_meta": { + "title": "Boolean 2 Pass" + } + }, + "549": { + "class_type": "PrimitiveBoolean", + "inputs": { + "value": true + }, + "_meta": { + "title": "Boolean - Distilled" + } + }, + "566": { + "class_type": "INTConstant", + "inputs": { + "value": 8 + }, + "_meta": { + "title": "Steps" + } + }, + "572": { + "class_type": "LoadVideoUI", + "inputs": { + "video": "1.mp4", + "start_time": 0, + "end_time": 33.6, + "duration": 33.6, + "start_frame": 0, + "end_frame": 806, + "duration_frames": 806, + "resize_method": "maintain aspect ratio", + "custom_width": 0, + "custom_height": 0, + "frame_rate": 24, + "display_mode": "seconds", + "crop_x": 0, + "crop_y": 0, + "crop_w": 1, + "crop_h": 1 + }, + "_meta": { + "title": "LoadVideoUI" + } + }, + "573": { + "class_type": "LoadAudioUI", + "inputs": { + "audio": "リアルもエーアイもこんなんばっか(ソウル).wav", + "start_time": 17, + "end_time": 35, + "duration": 18, + "audioUI": null + }, + "_meta": { + "title": "LoadAudioUI" + } + }, + "574": { + "class_type": "LoadImage", + "inputs": { + "image": "alig.jpg" + }, + "_meta": { + "title": "LoadImage" + } + }, + "575": { + "class_type": "LoadImage", + "inputs": { + "image": "alig.jpg" + }, + "_meta": { + "title": "LoadImage" + } + }, + "576": { + "class_type": "MiniMaxH3ReferenceToVideo", + "inputs": { + "clip": [ + "680:487", + 0 + ], + "vae": [ + "680:488", + 0 + ], + "audio_vae": [ + "680:489", + 0 + ], + "prompt": [ + "591", + 0 + ], + "width": 1152, + "height": 640, + "length": 243, + "ref_image_size": "max", + "ref_images.ref_image_0": [ + "574", + 0 + ] + }, + "_meta": { + "title": "MiniMaxH3ReferenceToVideo" + } + }, + "577": { + "class_type": "LoadImage", + "inputs": { + "image": "alig.jpg" + }, + "_meta": { + "title": "LoadImage" + } + }, + "578": { + "class_type": "LoadImage", + "inputs": { + "image": "alig.jpg" + }, + "_meta": { + "title": "LoadImage" + } + }, + "579": { + "class_type": "LoadImage", + "inputs": { + "image": "alig.jpg" + }, + "_meta": { + "title": "LoadImage" + } + }, + "580": { + "class_type": "LoadImage", + "inputs": { + "image": "alig.jpg" + }, + "_meta": { + "title": "LoadImage" + } + }, + "581": { + "class_type": "LoadImage", + "inputs": { + "image": "alig.jpg" + }, + "_meta": { + "title": "LoadImage" + } + }, + "591": { + "class_type": "StringConcatenate", + "inputs": { + "string_a": " is a character identity reference for Subject 1 only. Use it to preserve the same man, facial structure, trimmed goatee, tinted wraparound glasses, red beanie, oversized yellow sports jersey, gold chain, rings and overall Ali G styling. Ignore the original street, car, daylight, watermark text and all original background elements from the reference image.\n\nCreate a completely new scene inside a warm 1970s roller rink with a polished wooden floor, colored rink lights, mirrored walls, retro signage, skaters in the background and period atmosphere. Do not bring the original photo to life. Use it only as a character reference while placing Subject 1 into the new roller rink environment.", + "string_b": "A clean 10-second shot in old handheld personal camera style. Subject 1 roller skates through a 1970s roller rink with loose confident swagger, arms moving naturally for balance while he glides past the camera and then curves slightly around the rink. The camera follows like a friend filming on a vintage handheld camcorder, with small natural shake, imperfect framing, soft focus breathing and casual home-video energy. Keep the lighting warm and nostalgic with colored rink lights and practical overhead glow. Preserve the same identity, outfit details, accessories and proportions throughout. No dialogue. No text overlays. Ambient sound is limited to skate wheels on wood, distant rink music muffled in the space, crowd chatter and room ambience.", + "delimiter": "" + }, + "_meta": { + "title": "StringConcatenate" + } + }, + "601": { + "class_type": "CreateVideo", + "inputs": { + "images": [ + "718", + 0 + ], + "fps": 24, + "audio": [ + "571:519", + 0 + ], + "bit_depth": 8 + }, + "_meta": { + "title": "CreateVideo" + } + }, + "602": { + "class_type": "SaveVideo", + "inputs": { + "video": [ + "601", + 0 + ], + "filename_prefix": "MiniMax/r03-1152x640-alig-roller-rink", + "format": "auto", + "codec": "auto" + }, + "_meta": { + "title": "SaveVideo" + } + }, + "703": { + "class_type": "KSamplerSelect", + "inputs": { + "sampler_name": "euler_ancestral_cfg_pp" + }, + "_meta": { + "title": "KSamplerSelect" + } + }, + "714": { + "class_type": "Switch", + "inputs": { + "on_true": [ + "703", + 0 + ], + "on_false": [ + "541", + 0 + ], + "switch": [ + "715", + 0 + ] + }, + "_meta": { + "title": "Switch" + } + }, + "715": { + "class_type": "PrimitiveBoolean", + "inputs": { + "value": false + }, + "_meta": { + "title": "HIGH QUALITY" + } + }, + "718": { + "class_type": "Switch", + "inputs": { + "on_true": [ + "513", + 0 + ], + "on_false": [ + "571:522", + 0 + ], + "switch": [ + "715", + 0 + ] + }, + "_meta": { + "title": "Switch" + } + }, + "723": { + "class_type": "FloatConstant", + "inputs": { + "value": 1.5 + }, + "_meta": { + "title": "Upscale Multiplier" + } + }, + "680:492": { + "class_type": "DiffusionModelLoaderKJ", + "inputs": { + "model_name": "minimax_h3_ref2va_pruned_int8_convrot.safetensors", + "weight_dtype": "default", + "compute_dtype": "default", + "patch_cublaslinear": false, + "sage_attention": "auto", + "enable_fp16_accumulation": true + }, + "_meta": { + "title": "DiffusionModelLoaderKJ" + } + }, + "680:493": { + "class_type": "SolAttnPatch", + "inputs": { + "model": [ + "680:492", + 0 + ], + "tau": 1.3, + "start_percent": 0.2, + "end_percent": 0.9, + "min_tokens": 4096, + "int8_qk": true, + "sink_conditioning": "exact_kv_and_rows", + "morton": false, + "morton_curve": "2d_frame", + "int8_pv": true, + "verbose": false, + "use_tma": false, + "dense_blocks": "" + }, + "_meta": { + "title": "SolAttnPatch" + } + }, + "680:494": { + "class_type": "ComfySwitchNode", + "inputs": { + "switch": true, + "on_false": [ + "680:492", + 0 + ], + "on_true": [ + "680:493", + 0 + ] + }, + "_meta": { + "title": "ComfySwitchNode" + } + }, + "680:491": { + "class_type": "MiniMaxH3SigmaShift", + "inputs": { + "model": [ + "680:494", + 0 + ], + "shift_video": 12, + "shift_audio": 4 + }, + "_meta": { + "title": "MiniMaxH3SigmaShift" + } + }, + "680:490": { + "class_type": "SpectrumApplyMiniMaxH3", + "inputs": { + "model": [ + "680:491", + 0 + ], + "enabled": false, + "blend_weight": 0.5, + "degree": 1, + "ridge_lambda": 0.1, + "window_size": 2, + "flex_window": 0.75, + "warmup_steps": 1, + "tail_actual_steps": 1, + "max_history": 8, + "debug": false, + "history_storage": "system_ram", + "bootstrap_first_forecast": true, + "anchor_residual_feedback": false, + "selective_rollback_correction": false, + "offline_smoothing_replay": true, + "audio_blend_weight": 0, + "offline_archive_storage": "system_ram", + "model_aware_mode": "off", + "model_aware_risk_threshold": 0.65, + "model_aware_trust_shrinkage": false, + "model_aware_replay_generic_correction": false, + "generic_correction_mode": "coordinate_rls", + "generic_correction_limiter": "hard_clip", + "generic_correction_limit": 0.4, + "generic_correction_attenuation": "no_attenuation" + }, + "_meta": { + "title": "SpectrumApplyMiniMaxH3" + } + }, + "680:704": { + "class_type": "MiniMaxH3TurboLoRA", + "inputs": { + "model": [ + "680:490", + 0 + ], + "lora_name": "minimax\\minimax_h3_turbo_v4_step600_ema.safetensors", + "strength": 1, + "low_vram": false + }, + "_meta": { + "title": "MiniMaxH3TurboLoRA" + } + }, + "680:499": { + "class_type": "Power Lora Loader (rgthree)", + "inputs": { + "model": [ + "680:704", + 0 + ] + }, + "_meta": { + "title": "Power Lora Loader (rgthree)" + } + }, + "680:700": { + "class_type": "ModelAttentionBackend", + "inputs": { + "model": [ + "680:499", + 0 + ], + "attention": "comfy kitchen attention" + }, + "_meta": { + "title": "ModelAttentionBackend" + } + }, + "680:497": { + "class_type": "MiniMaxLowVRAMAttention", + "inputs": { + "model": [ + "680:700", + 0 + ], + "head_chunks": 4 + }, + "_meta": { + "title": "MiniMaxLowVRAMAttention" + } + }, + "680:498": { + "class_type": "MiniMaxChunkFeedForward", + "inputs": { + "model": [ + "680:497", + 0 + ], + "chunks": 4, + "seq_threshold": 4096 + }, + "_meta": { + "title": "MiniMaxChunkFeedForward" + } + }, + "680:487": { + "class_type": "CLIPLoader", + "inputs": { + "clip_name": "qwen3vl_32b_heretic_minimax_h3_nvfp4.safetensors", + "type": "minimax", + "device": "default" + }, + "_meta": { + "title": "CLIPLoader" + } + }, + "680:488": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "minimax_h3_video_vae_int8_convrot.safetensors" + }, + "_meta": { + "title": "VAELoader" + } + }, + "680:489": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "minimax_h3_audio_vae_fp32.safetensors" + }, + "_meta": { + "title": "VAELoader" + } + }, + "550:537": { + "class_type": "easy int", + "inputs": { + "value": 10 + }, + "_meta": { + "title": "Int - Duration" + } + }, + "550:538": { + "class_type": "ComfyMathExpression", + "inputs": { + "expression": "max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17", + "values.a": [ + "550:537", + 0 + ] + }, + "_meta": { + "title": "ComfyMathExpression" + } + }, + "571:525": { + "class_type": "BasicGuider", + "inputs": { + "model": [ + "500", + 0 + ], + "conditioning": [ + "576", + 0 + ] + }, + "_meta": { + "title": "BasicGuider" + } + }, + "571:535": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "576", + 0 + ] + }, + "_meta": { + "title": "ConditioningZeroOut" + } + }, + "571:526": { + "class_type": "CFGGuider", + "inputs": { + "model": [ + "500", + 0 + ], + "positive": [ + "576", + 0 + ], + "negative": [ + "571:535", + 0 + ], + "cfg": 1 + }, + "_meta": { + "title": "CFGGuider" + } + }, + "571:527": { + "class_type": "ComfySwitchNode", + "inputs": { + "switch": [ + "549", + 0 + ], + "on_false": [ + "571:525", + 0 + ], + "on_true": [ + "571:526", + 0 + ] + }, + "_meta": { + "title": "ComfySwitchNode" + } + }, + "571:521": { + "class_type": "BasicScheduler", + "inputs": { + "model": [ + "500", + 0 + ], + "scheduler": "simple", + "steps": [ + "566", + 0 + ], + "denoise": 1 + }, + "_meta": { + "title": "BasicScheduler" + } + }, + "571:523": { + "class_type": "ComfyMathExpression", + "inputs": { + "expression": "a / 2", + "values.a": [ + "566", + 0 + ] + }, + "_meta": { + "title": "ComfyMathExpression" + } + }, + "571:530": { + "class_type": "SplitSigmas", + "inputs": { + "sigmas": [ + "571:521", + 0 + ], + "step": [ + "571:523", + 1 + ] + }, + "_meta": { + "title": "SplitSigmas" + } + }, + "571:534": { + "class_type": "ComfySwitchNode", + "inputs": { + "switch": [ + "548", + 0 + ], + "on_false": [ + "571:521", + 0 + ], + "on_true": [ + "571:530", + 0 + ] + }, + "_meta": { + "title": "ComfySwitchNode" + } + }, + "571:540": { + "class_type": "SamplerCustomAdvanced", + "inputs": { + "noise": [ + "539", + 0 + ], + "guider": [ + "571:527", + 0 + ], + "sampler": [ + "714", + 0 + ], + "sigmas": [ + "571:534", + 0 + ], + "latent_image": [ + "576", + 1 + ] + }, + "_meta": { + "title": "SamplerCustomAdvanced" + } + }, + "571:520": { + "class_type": "DisableNoise", + "inputs": {}, + "_meta": { + "title": "DisableNoise" + } + }, + "571:531": { + "class_type": "MiniMaxH3LatentUpscaleCombined", + "inputs": { + "samples": [ + "571:540", + 1 + ], + "scale_by": 1.5, + "method": "bilinear", + "model": [ + "500", + 0 + ], + "noise": [ + "539", + 0 + ], + "sigmas": [ + "571:530", + 1 + ], + "audio_denoise": 0.35, + "positive": [ + "576", + 0 + ], + "negative": [ + "571:535", + 0 + ] + }, + "_meta": { + "title": "MiniMaxH3LatentUpscaleCombined" + } + }, + "571:533": { + "class_type": "BasicGuider", + "inputs": { + "model": [ + "500", + 0 + ], + "conditioning": [ + "571:531", + 1 + ] + }, + "_meta": { + "title": "BasicGuider" + } + }, + "571:528": { + "class_type": "CFGGuider", + "inputs": { + "model": [ + "500", + 0 + ], + "positive": [ + "571:531", + 1 + ], + "negative": [ + "571:531", + 2 + ], + "cfg": 1 + }, + "_meta": { + "title": "CFGGuider" + } + }, + "571:529": { + "class_type": "ComfySwitchNode", + "inputs": { + "switch": [ + "548", + 0 + ], + "on_false": [ + "571:533", + 0 + ], + "on_true": [ + "571:528", + 0 + ] + }, + "_meta": { + "title": "ComfySwitchNode" + } + }, + "571:532": { + "class_type": "SamplerCustomAdvanced", + "inputs": { + "noise": [ + "571:520", + 0 + ], + "guider": [ + "571:529", + 0 + ], + "sampler": [ + "714", + 0 + ], + "sigmas": [ + "571:530", + 1 + ], + "latent_image": [ + "571:531", + 0 + ] + }, + "_meta": { + "title": "SamplerCustomAdvanced" + } + }, + "571:536": { + "class_type": "ComfySwitchNode", + "inputs": { + "switch": [ + "548", + 0 + ], + "on_false": [ + "571:540", + 0 + ], + "on_true": [ + "571:532", + 0 + ] + }, + "_meta": { + "title": "ComfySwitchNode" + } + }, + "571:519": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "571:536", + 0 + ], + "vae": [ + "680:489", + 0 + ] + }, + "_meta": { + "title": "VAEDecodeAudio" + } + }, + "571:522": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "571:536", + 0 + ], + "vae": [ + "680:488", + 0 + ] + }, + "_meta": { + "title": "VAEDecode" + } + } +}