{
  "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-459969-input_image-9d727168-f4fe-45a7-bd89-3831b38cebfe.webp"
    }
  },
  "102": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-459969-picture_2-ref-3shot.webp"
    }
  },
  "103": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-459969-picture_3-39085a49-f091-4413-9616-c9aeea653396-outer.webp"
    }
  },
  "104": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-459969-picture_4-458648ac-1126-4707-b2b8-e32842f08a82-under.webp"
    }
  },
  "105": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-459969-picture_5-ref-3shot.webp"
    }
  },
  "106": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-459969-picture_6-96ddb4c7-8b62-494b-8430-388cc0aa8106-under.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. <Picture 4> is <Subject 1>'s underwear sheet.\n<Picture 5> is <Subject 2> — this exact person; keep the same face and hair. <Picture 6> is <Subject 2>'s underwear sheet.\n\n<Subject 1> is the woman with dark brown long wavy hair. She is lying face down on the desk, one hand gripping the desk edge, her cheek pressed to the desk surface, her body flat along the desk top and close against <Subject 2>, facing away from the camera with her head turned sideways so only her profile shows, wearing the black tailored blazer, the ivory silk satin high neck blouse, the black high-waist tailored long straight pants pulled down to the knees, the black pointed toe stiletto heels, the black rectangular metal frame glasses, the silver bar choker and the silver slim watch in <Picture 3>, with the red cherry embroidered cotton bra in <Picture 4> hidden under the blouse and the red cherry embroidered cotton panties in <Picture 4> pulled down to the knees, bare from the waist down.\n<Subject 2> is the man with black short straight hair. He is standing behind her at the desk, hands at her waist, leaning over her back, his body close against hers and angled toward the desk, facing the same direction as her and turned slightly away from the camera, wearing the navy suit blazer, the white dress shirt and the navy dress pants pulled down to the knees, with the black briefs pulled down to the knees, bare from the waist down.\n\n[SHOT 1] The camera sits to the side and slightly above the desk, a few steps back, looking down at the two of them at an oblique angle — <Subject 1> flat on the desk with her cheek against the surface and one hand still gripping the desk edge, <Subject 2> standing behind her with his hands at her waist and his weight leaning over her back. She keeps her face turned sideways on the desk and does not turn her body toward the camera. Her fingers stay clenched on the desk edge, her shoulders tense with each breath, and her teeth stay clenched between phrases.\n\n<Subject 1> (<Picture 2>) is the ONLY one who speaks in this shot, speaking to <Subject 2>, breathless and strained, her cheek pressed to the desk: <d>[Korean] 잠깐, 잠깐만… 불, 불부터…</d> Then, through clenched teeth, the sound leaking out thin and tight: <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. Use natural breath spacing, one brief hesitation, and a tiny strained exhale only if it fits. Do not repeat, rewrite, add, sing, chant, or narrate the words.\n\nSubtle early reflections from nearby walls.\nThe dialogue is naturally embedded in the environment rather than sounding close-miked or studio-recorded.\nSoft environmental ambience continuously fills the space.\nVery subtle natural reverberation.\nNo artificial narration quality.\n\nDialogue and faint room tone only. No music, no lyrics, no singing, no subtitles, no captions, 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
      ],
      "ref_images.ref_image_5": [
        "106",
        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": 1255510555
    }
  },
  "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_j459969",
      "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": "780b1b52"
    },
    "class_type": "DockContentWatermark",
    "_meta": {
      "title": "법정 표시 워터마크 (t_88479c752c44)"
    }
  }
}