{
  "1": {
    "class_type": "UNETLoader",
    "inputs": {
      "unet_name": "minimax_h3_ref2va_pruned_int8_convrot.safetensors",
      "weight_dtype": "default"
    }
  },
  "m0": {
    "class_type": "MiniMaxH3TurboLoRA",
    "inputs": {
      "lora_name": "minimax_h3_fl2v_lightx2v_turbo_8step_v1.0_comfy.safetensors",
      "strength": 1.0,
      "low_vram": false,
      "model": [
        "1",
        0
      ]
    },
    "_comment": "lightx2v Minimax-h3 Turbo **8step v1.0** 단독 @1.0 (2026-08-12 `t_4e40bb6cf50d` · CEO 승격 지시). 구 `ckpt850`(4step) 에서 교체 — 격자 4판 실측에서 **8step·캐시ON 이 최적**이었다: 6step·캐시OFF 대비 **80초 빠르고**(521~525s vs 601s) 오디오·화질이 같거나 낫다. ★6step·캐시ON 은 **오디오가 갈라진다**(CEO 육안 \"목소리 갈라지네\") — 속도만 보고 6step 으로 내리지 말 것."
  },
  "L2": {
    "class_type": "LoraLoaderModelOnly",
    "inputs": {
      "lora_name": "MysticXXX_MMH3-V4.safetensors",
      "strength_model": 0.4,
      "model": [
        "m0",
        0
      ]
    },
    "_comment": "Mystic XXX `MysticXXX_MMH3-V4` **0.4** — 2026-09-06 `t_0ae98911f9cb` 신설 슬롯. 체인은 `m0(터보) → L2(mystic 0.4) → m1(sage)`. ★★2026-09-10 CEO 판정으로 **realism(구 L1) 을 이 판에서 걷었다**(`t_2ac5b03c5db2`) — 사유 = *\"mystic 과 realism 이 같이 적용되면 영상 품질이 망가지더라. 각각 쓰면 괜찮은데\"*. ⇒ 종전 이 자리에 있던 *\"realism 을 빼고 그 칸을 쓰지 않았다\"* 는 **그 판정 이전의 입장**이라 걷었다 (이 필드는 실행 `workflow.json` 에까지 실리므로, 낡은 입장을 현재형으로 남기면 읽는 사람이 **누락으로 읽고 되넣는다**). ★realism 자체가 기각된 게 아니라 **Mystic 과의 동시 적용**이 기각됐다. ★값 0.4 의 근거 = 형제 `ref2va-minimax-h3-mystic-5090-1` 의 저작값과 같게 둔다(같은 파일을 두 판이 다른 강도로 쓰면 「어느 쪽이 정본인가」가 생긴다). 제작자 권장은 0.5~0.9 라 우리 값은 그 아래이고, 강도 확정은 CEO 육안 별건이다. ★끄려면 `spec_override.toggles {\"lora_2\": false}` — 그러면 러너 splice 가 `m1.model` 을 `[\"m0\", 0]` 로 되돌려 **LoRA 0장(터보만)** 체인이 된다."
  },
  "m1": {
    "class_type": "MiniMaxH3MemoryEfficientSageAttentionPatch",
    "inputs": {
      "model": [
        "L2",
        0
      ]
    }
  },
  "2": {
    "class_type": "CLIPLoader",
    "inputs": {
      "clip_name": "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors",
      "type": "minimax",
      "device": "default"
    }
  },
  "3": {
    "class_type": "VAELoader",
    "inputs": {
      "vae_name": "minimax_h3_video_vae_fp16.safetensors"
    }
  },
  "4": {
    "class_type": "VAELoader",
    "inputs": {
      "vae_name": "minimax_h3_audio_vae_fp32.safetensors"
    }
  },
  "101": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-460856-input_image-373b128b-4135-48ab-ba6b-d2284eb23fe3.webp"
    }
  },
  "102": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-460856-picture_2-ref-3shot.webp"
    }
  },
  "103": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-460856-picture_3-3880888d-5900-4a22-9749-3f92d848a988-outer.webp"
    }
  },
  "104": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-460856-picture_4-ref-3shot.webp"
    }
  },
  "105": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-460856-picture_5-54ffff18-0eed-4a03-b500-6e76aeab017e-outer.webp"
    }
  },
  "6": {
    "class_type": "MiniMaxH3ReferenceToVideo",
    "inputs": {
      "prompt": "<Picture 1> is the location; keep its layout and furnishings, surfaces clear of small objects.\n<Picture 2> is <Subject 1> — this exact person; keep the same face and hair. <Picture 3> is <Subject 1>'s clothing sheet.\n<Picture 4> is <Subject 2> — this exact person; keep the same face and hair. <Picture 5> is <Subject 2>'s clothing sheet.\n\n<Subject 1> is the woman with dark brown long wavy hair. She is lying face down on the bed in front of <Subject 2>, her hips lifted, her arms folded under her so her cheek rests against the pillow, facing away from the camera, wearing the black sheer thigh-high stockings in <Picture 3>, pulled down and bunched at her ankles with her toes brushing the bedsheet; her chest is bare and she is bare from the waist down.\n<Subject 2> is the man with black short straight hair. He is kneeling on the bed behind her with his hands on her hips, thrusting into her from behind, his body close against hers, facing the camera at an oblique angle, wearing the worn black hoodie and the worn leather bracelet with the faded brown strap in <Picture 5>; he is bare from the waist down.\n\n[SHOT 1] The camera watches from the side and slightly above the bed, a short distance away, holding both of them in frame: <Subject 1> face down on the sheets with her hips raised and her cheek against the pillow, <Subject 2> kneeling behind her with his hands on her hips, moving into her from behind in a slow steady rhythm. Sunlight from the window falls across her smooth back, and the black stockings bunched at her ankles shift against the bedsheet. Her waist rocks with his hands, her fingers gripping the sheet, damp strands of wavy hair stuck to her sweaty nape. She turns her head back over her shoulder to look at him, still holding the sheet, and speaks.\n\n<Subject 1> (<Picture 2>) is the ONLY one who speaks in this shot, speaking to <Subject 2>, her tone breathless and teasing, a slight smile audible under the strain: <d>[Korean] …이건 진짜, 업무 연장 아니야.</d> While she speaks, <Subject 2> keeps his mouth closed.\n\n[SHOT 2] At 00:02.000, the shot holds the same side-and-slightly-above angle on the bed. <Subject 1> stays face down with her hips lifted, holding his gaze over her shoulder with her lips parted, her fingers still curled in the sheet, while <Subject 2> keeps kneeling behind her with his hands on his hips, moving into her from behind without stopping.\n\n<Subject 1> (<Picture 2>) is the ONLY one who speaks in this shot, speaking to <Subject 2>, her tone softer now, almost asking: <d>[Korean] 그러니까… 그만큼 해 줘.</d> While she speaks, <Subject 2> keeps his mouth closed.\n\nMatch visible mouth motion to each spoken phrase, then let the mouth rest naturally between phrases. Speak these two lines in order as one flowing thought, with natural breath spacing and one brief hesitation before the second line. Do not repeat, rewrite, add, sing, chant, or narrate the words.\n\nSubtle early reflections from nearby walls. The dialogue is naturally embedded in the environment rather than sounding close-miked or studio-recorded. Soft environmental ambience continuously fills the space. Very subtle natural reverberation. No artificial narration quality.\n\nDialogue and faint room tone only. No male reply, no music, no lyrics, no singing, no subtitles, no captions, no text. No text overlays, no watermark, no extra people in the background, no camera shake, no jump cuts, no scene changes.",
      "width": 512,
      "height": 896,
      "length": 107,
      "ref_image_size": "match",
      "clip": [
        "2",
        0
      ],
      "vae": [
        "3",
        0
      ],
      "audio_vae": [
        "4",
        0
      ],
      "ref_images.ref_image_0": [
        "101",
        0
      ],
      "ref_images.ref_image_1": [
        "102",
        0
      ],
      "ref_images.ref_image_2": [
        "103",
        0
      ],
      "ref_images.ref_image_3": [
        "104",
        0
      ],
      "ref_images.ref_image_4": [
        "105",
        0
      ]
    }
  },
  "7": {
    "class_type": "BasicGuider",
    "inputs": {
      "model": [
        "mS",
        0
      ],
      "conditioning": [
        "6",
        0
      ]
    }
  },
  "8": {
    "inputs": {
      "sampler_name": "er_sde"
    },
    "class_type": "KSamplerSelect",
    "_meta": {
      "title": "KSampler (선택)"
    }
  },
  "9": {
    "class_type": "BasicScheduler",
    "inputs": {
      "scheduler": "beta",
      "steps": 8,
      "denoise": 1.0,
      "model": [
        "mS",
        0
      ]
    }
  },
  "10": {
    "class_type": "RandomNoise",
    "inputs": {
      "noise_seed": 956166982
    }
  },
  "11": {
    "class_type": "SamplerCustomAdvanced",
    "inputs": {
      "noise": [
        "10",
        0
      ],
      "guider": [
        "7",
        0
      ],
      "sampler": [
        "8",
        0
      ],
      "sigmas": [
        "9",
        0
      ],
      "latent_image": [
        "6",
        1
      ]
    }
  },
  "12": {
    "class_type": "VAEDecode",
    "inputs": {
      "samples": [
        "11",
        0
      ],
      "vae": [
        "vb",
        0
      ]
    }
  },
  "13": {
    "class_type": "VAEDecodeAudio",
    "inputs": {
      "samples": [
        "11",
        0
      ],
      "vae": [
        "4",
        0
      ]
    }
  },
  "14": {
    "class_type": "CreateVideo",
    "inputs": {
      "fps": 24,
      "bit_depth": 8,
      "images": [
        "wm",
        0
      ],
      "audio": [
        "13",
        0
      ]
    }
  },
  "15": {
    "class_type": "SaveVideo",
    "inputs": {
      "filename_prefix": "h3_r2v_v384_j460856",
      "format": "auto",
      "video": [
        "14",
        0
      ],
      "codec": "auto"
    }
  },
  "vb": {
    "class_type": "H3VideoVAEBatchDecode",
    "inputs": {
      "vae": [
        "3",
        0
      ],
      "enabled": true
    }
  },
  "mL": {
    "inputs": {
      "head_chunks": 4,
      "model": [
        "m1",
        0
      ]
    },
    "class_type": "MiniMaxLowVRAMAttention",
    "_meta": {
      "title": "MiniMax H3 Low VRAM Attention"
    }
  },
  "mC": {
    "inputs": {
      "chunks": 2,
      "seq_threshold": 4096,
      "model": [
        "mL",
        0
      ]
    },
    "class_type": "MiniMaxChunkFeedForward",
    "_meta": {
      "title": "MiniMax H3 Chunk FeedForward"
    }
  },
  "mS": {
    "inputs": {
      "shift_video": 12.0,
      "shift_audio": 6.0,
      "model": [
        "mC",
        0
      ]
    },
    "class_type": "MiniMaxH3SigmaShift",
    "_meta": {
      "title": "ModelSamplingMiniMaxH3"
    }
  },
  "wm": {
    "inputs": {
      "images": [
        "12",
        0
      ],
      "line1": "AI",
      "line2": "yusti.net",
      "height_px": 12,
      "alpha": 0.85,
      "margin_px": 13,
      "shadow_px": 1,
      "line3": "1bb041f8"
    },
    "class_type": "DockContentWatermark",
    "_meta": {
      "title": "법정 표시 워터마크 (t_88479c752c44)"
    }
  }
}