Nodes/ComfyUI-MiniMax-H3-Guide/MiniMax H3 Character Replacement (Plan v2)
ComfyUI Node

MiniMax H3 Character Replacement (Plan v2)

Swap one actor for another inside an existing video

By ethanfel·Created 22 days ago·Updated 14 days ago· 207
MiniMax H3 Character Replacement (Plan v2)
  • h3_plan
  • source_video
  • h3_plan
  • replacement_preview
replacement_subject
source_character_description
appearance_policyReplace identity; keep source body and wardrobe
preserve_performancetrue
preserve_scenetrue
shot_scopeall
instructions

Character replacement is the use case that makes video-editing-with-a-generator feel real: you have an existing clip, you want the woman in the red jacket to become your character instead, and you want everything else - the body language, the blocking, the scene - to stay put. Character Replacement (Plan v2) declares that exact operation, and it's built on a sharper distinction than you might expect: whether the source video is being edited or continued.

Those are two different H3 modes, and the node's behavior changes accordingly. With Source video to edit, the target recreates the source timeline with the performer swapped. With Source video to continue, it first recreates and edits the source-derived portion, then continues that edited state forward in the same generation - the clip keeps going past the original footage's endpoint with your character still in charge.

Inputs that matter

  • source_video - connect reference_handle from a Video Reference whose video_use is "Source video to edit" or "Source video to continue." This is a handle, not raw frames.
  • replacement_subject - the human alias of the character who replaces the source performer. The browser picker lists upstream Subjects, which is a nice touch - no guessing at names.
  • source_character_description - plain visual language identifying exactly one performer already in the source video. No <Subject N> or <Video N> labels; the compiler owns those.
  • appearance_policy - three levels: replace identity while keeping source body and wardrobe; replace identity and body but keep wardrobe; or replace the complete referenced appearance including wardrobe. This is the control that stops the swap from turning into a full redesign.
  • preserve_performance and preserve_scene - keep the source's performance/timing and scene/cuts. For continuation, both carry through the source-derived portion and then evolve forward.
  • shot_scope - which shots get the replacement (default all).
  • instructions - plain-language constraints. The tooltip is firm: don't type numbered H3 labels; the compiler owns them.

Outputs

  • h3_plan - continue the chain (this goes before Shots).
  • replacement_preview - resolved source performer, replacement Subject, appearance policy, and scope. Sanity-check this before building shots.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-MiniMax-H3-Guide

Restart, find it under MiniMax H3 → Plan v2. No extra Python dependencies. You need the H3 weights (Ref2VA family for this route) and a ComfyUI build with native H3 support.

Gotchas

  • The chain order matters. The replacement Subject and the source Video Reference must already exist upstream in the setup chain when this node runs - the tooltip says so explicitly, and the compiler enforces it.
  • Continuation isn't a free lunch. "First recreate and edit, then continue" means the model is doing a bigger job than a plain edit, and output length rules still apply. Keep the Project duration honest with the source's real length.
  • One performer per declaration. This node swaps exactly one performer per source video. Multiple swaps means multiple Character Replacement nodes (or Subject Bindings) - each keyed to its own description.

The pack ships an example workflow for this ("Character Replacement") and a video-extension-with-audio-continuity variant. If you've ever tried to describe a character swap in free-form prompt text and watched H3 wander off into redesigning the wardrobe, the appeal here is obvious: the appearance policy and preservation switches turn that fuzzy intent into structured, validated instructions.

CategoryMiniMax H3/Plan v2

Inputs (9)

NameTypeDefaultDescription
h3_planMINIMAX_H3_PLAN_V2Connect the same setup chain that already contains the replacement Subject and source Video Reference.
source_videoMINIMAX_H3_REFERENCE_HANDLE_V2Connect reference_handle from the Video Reference whose video_use is Source video to edit or Source video to continue. For continuation, the output edits the source-derived portion first and then continues it.
replacement_subjectSTRINGHuman alias of the referenced character that replaces the source performer. The browser picker lists upstream Subjects.
source_character_descriptionSTRINGIdentify exactly one performer already visible in the source video. Use plain visual language, not <Subject N> or <Video N> labels.
appearance_policyCOMBOReplace identity; keep source body and wardrobeChoose which visible properties come from the replacement Subject and which remain from the source performer.
preserve_performanceBOOLEANtrueFor an edit, keep the source performance and timing. For a continuation, preserve them through the source-derived portion and then evolve them forward beyond the endpoint.
preserve_sceneBOOLEANtrueFor an edit, keep the source scene and cuts. For a continuation, keep them through the source-derived portion and carry the endpoint state forward without a reset.
shot_scopeSTRINGallTarget Shots where the source performer is replaced. With a continuation, this covers the source-derived edit and continued portion of each selected Shot.
instructionsSTRINGOptional plain-language constraint specific to this replacement. Do not type numbered H3 labels; the compiler owns them.

Outputs (2)

NameTypeDescription
h3_planMINIMAX_H3_PLAN_V2Continue the ordered setup chain before adding Shots.
replacement_previewSTRINGResolved source performer, replacement Subject, appearance policy, and Shot scope.