{
  "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-452942-input_image-9d727168-f4fe-45a7-bd89-3831b38cebfe.webp"
    }
  },
  "102": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-452942-picture_2-ref-3shot.webp"
    }
  },
  "103": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-452942-picture_3-39085a49-f091-4413-9616-c9aeea653396-outer.webp"
    }
  },
  "104": {
    "class_type": "LoadImage",
    "inputs": {
      "image": "dockaiq-input-452942-picture_4-458648ac-1126-4707-b2b8-e32842f08a82-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> — use it only for identity: face, hair and overall appearance; not for camera angle or starting pose. <Picture 3> is <Subject 1>'s clothing sheet. <Picture 4> is <Subject 1>'s underwear sheet.\n\n<Subject 1> is the woman with dark brown long wavy hair, wearing a black tailored blazer, an ivory silk satin high neck blouse, black high-waist tailored long straight pants pulled down to the knees, black pointed toe stiletto heels, black rectangular metal frame glasses with an angular shape, a silver bar choker under the collarbone, and a silver slim wristwatch, with red cherry embroidered cotton panties pulled down to the knees. She is bent face-down over the desk, her hips lifted and her back arched, her hands braced against the desk edge, her cheek against the desk surface, her teeth clenched.\n\nThe viewer, a man, is behind her, his hips meeting hers as he pushes in slowly. Only his hands, forearms and thighs enter the frame at the edges — his hands gripping her waist, his thighs against the backs of hers. He wears a navy suit blazer and a white dress shirt; his navy dress pants and black briefs are pulled down to the knees, bare from the waist down. His face, head, torso and hips are never in frame — the camera is his eyes.\n\nOPENING (0-1.5s): First-person POV from the viewer's own eyes, at his standing eye height just behind and slightly above her. She is close, a little below the camera, facing away — her back and the back of her head fill the center of the frame, her dark brown wavy hair falling loose over the desk. The viewer's hips meet hers as he pushes in slowly, and her back arches a little further over the desk. His hands stay on her waist at the frame edges.\n\nMIDDLE (1.5-3s): The camera holds the same eye position, drifting only as the viewer's head moves — a small downward tilt following her arched back, a slight lean in. She stays facing away, cheek against the desk, her shoulders tense. The slow push continues at the same rhythm, his hips meeting hers, his hands steady on her waist.\n\nCLOSING (3-4s): The camera settles at the same eye height, a faint tilt as the viewer's head lowers. She remains bent over the desk, back arched, teeth clenched, a thin sound escaping. The slow rhythm continues to the end of the clip.\n\n<Subject 1> (<Picture 2>) is the ONLY one who speaks in this shot, her face turned away from the camera, her voice strained and breathless, barely above a whisper, the words forced out between clenched teeth: <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 third-person angle, no over-the-shoulder shot, no mirror, no face or head of the viewer entering the frame, no change of camera position away from the viewer's eyes.",
      "width": 384,
      "height": 672,
      "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
      ]
    }
  },
  "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": 1177343436
    }
  },
  "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_j452942",
      "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": "d2bd18cf"
    },
    "class_type": "DockContentWatermark",
    "_meta": {
      "title": "법정 표시 워터마크 (t_88479c752c44)"
    }
  }
}