{
  "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-457637-input_image-373b128b-4135-48ab-ba6b-d2284eb23fe3.webp"
    }
  },
  "102": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-457637-picture_2-ref-3shot.webp"
    }
  },
  "103": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-457637-picture_3-3880888d-5900-4a22-9749-3f92d848a988-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\n<Subject 1> is the woman with dark brown long wavy hair. She is lying face down on the bed at the center beneath the man, hips raised, one hand gripping the bedsheet so her arm folds under her and her cheek rests on the pillow, her back and the back of her head toward the camera, wearing the black sheer thigh-high stockings in <Picture 3>, pulled down and bunched at the ankles with her toes brushing the bedsheet; her chest is bare and she is bare from the waist down.\n\nThe viewer, a man, is kneeling on the bed behind her, pressed close against her, his hands on her hips, his eyes at knee height behind her back and the back of her head. This whole shot is seen from the viewer's own eyes — there is no third-person angle, no over-the-shoulder position, no side or rear camera. The viewer's face, head, torso and hips are never in frame; the camera is where his eyes are. Only the parts of him that touch her enter the frame at its edges: his hands on her hips, the worn black hoodie and the worn leather bracelet with the faded brown strap on his arms, and he is bare from the waist down.\n\n[SHOT 1]\n\nThe camera is the viewer's point of view, low at his kneeling eye height, a medium close-up from behind over her shoulder as she turns her head back toward the camera. She stays close, her back and the back of her head filling the frame in front of him, and the camera only moves as much as the viewer's own head moves — a slow tilt and a slight lean in with the rhythm of his hips, never pushing in on her face and never ending on a close-up. Sunlight from the window falls down the smooth line of her back, and the black stockings bunched at her ankles shift on the bedsheet. Her hips rock slowly with his hands, and she is being penetrated from behind, the motion continuing without pause through the whole shot. Sweat-damp hair sticks to the nape of her neck, and she lets out a short breath she cannot hold back.\n\n<Subject 1> (<Picture 2>) is the ONLY one who speaks in this shot, speaking to the viewer and turning her head back over her shoulder toward the camera, her voice low and breathless, half-teasing and half-serious, the words coming out between the slow rocks of her hips: <d>[Korean] …이건 진짜, 업무 연장 아니야.</d> She keeps gripping the sheet as she looks back, and then, softer, almost asking, still holding his gaze over her shoulder: <d>[Korean] 그러니까… 그만큼 해 줘.</d>\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\nNo text overlays, no subtitles, no watermark, no extra people in the background, no camera shake, no jump cuts, no split screen, no third-person angle, no over-the-shoulder framing, no mirror, no face of the viewer entering the frame.",
      "width": 512,
      "height": 896,
      "length": 158,
      "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
      ]
    }
  },
  "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": 215051129
    }
  },
  "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_j457637",
      "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": "d40248a7"
    },
    "class_type": "DockContentWatermark",
    "_meta": {
      "title": "법정 표시 워터마크 (t_88479c752c44)"
    }
  }
}