跳到正文
DEV Community· AI-KSK·· 3 小時前AI 評分55

H3 參考編輯工作流解析:混合深度、音訊路由與人臉精修

H3 Reference Editing: Hybrid Depth, Audio Routing, and Face Refinement

AI 導讀

作者解析三份 H3 主體替換工作流 JSON,説明混合 RGB/深度參考、音訊路由及 Face Refine 的節點連接。Face Refine、「Silent」及 Standard 檔案分別含 112、38 及 81 個節點;「Silent」工作流仍把 VHS loader 的音訊接到影片輸出,不能僅憑名稱判定輸出無聲。

正文

Subject replacement has several distinct jobs: a reference image describes the new subject, the source video supplies motion and context, and the final soundtrack needs its own routing. These H3 exports separate some of those jobs—but their names and notes do not always describe the saved configuration.

The central technique is a hybrid reference video: RGB source frames form the background, while masked depth information replaces a selected region. That composite becomes an input to generation. It is not automatically a pixel-preserving final background restoration.

There are three files: Face Refine with 112 nodes, the “silent” variant with 38, and Standard with 81. The two larger files each contain two example pipelines. Their combined 231 node records are not one single inference path. No new render, timing test, identity assessment, or audio audition accompanies this guide.

Common dependency references

The main loaders select minimax_h3_hybrid_fl2va_ref2va_zs05_b25-49_int8.safetensors, qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors, minimax_h3_video_vae_int8_convrot.safetensors, and minimax_h3_audio_vae_fp32.safetensors.

Depth processing selects video_depth_anything_vits.pth. The SeC loader stores a bfloat16 selection with device/options, but that is not an independently established checkpoint filename. Resolve the matching SeC implementation and its requirements rather than inventing an asset name.

The VDN composer references OpenVDN/vdn-minimax-h3 and stage_dmd_8nfe. That stage selection describes intended configuration, not a measured eight-evaluation run, timing result, or verified weight provenance. The selected input media and model weights are not bundled with these JSON files.

Build the hybrid reference, then distinguish it from the output

In the first example of each file, VHS loader 10 supplies the loaded RGB frames. Those frames go directly to depth processing, point selection, segmentation, and the destination input of ImageCompositeMasked 21.

SeC segmentation uses the points from editor 31. The mask passes through GrowMask, image conversion, blur, and red-channel conversion. Depth output passes through a separate blur before entering the composite's source input. The softened mask determines where that depth imagery replaces RGB in the reference composite.

The result connects to ref_videos.ref_video_0 on conditioning node 805. A separate image at node 801 connects to its reference-image input. Review both the subject-selection mask and the appearance reference before queueing.

A separate ImageScaleToTotalPixels branch supplies requested generation dimensions through GetImageSizeAndCount. It is not the frame source for every preprocessing node. In Standard, the two examples store approximately 0.9 and 0.48 megapixel targets; Face Refine stores approximately 0.79 despite titles saying 0.5. These are targets, not measured output dimensions or exact square sizes.

The main generated frames are decoded and saved without a final pasteback of the original background. RGB outside the reference mask provides guidance, but an instruction to preserve the scene does not establish unchanged source pixels after generation.

Standard, file 03: two enabled examples

Both example pipelines are saved in mode 0. They use different video/reference selections and prompts, so they should not be treated as a controlled A/B quality test or one selected example with the other disabled.

The first example encodes source audio through LTXVAudioVAEEncode, applies a zero latent-noise mask, and concatenates that audio with the video portion of the conditioning template. The resulting audiovisual latent feeds the VDN execution plan and main sampler.

The second example follows the same broad pattern, but also connects source audio to a native video-reference-audio port on node 10805. The first example does not have that additional reference-audio connection. Do not describe them as identical audio configurations.

Conditioning audio is not the final soundtrack path

For final video creation, the decoded image frames receive audio from MiniMaxH3AudioMixT8. Both audio roles on that mix node are wired to the same source-loader audio—not to a decoded generated soundtrack.

The source notes describe peak limiting, and the mix node stores the associated settings. This is not a measured peak-level result, a proven synchronization check, or bit-exact passthrough. Listen to the actual saved files and inspect alignment.

Each example configures a generated-result saver and a hybrid-reference visualization saver. The examples reuse output prefixes. Check resulting filenames to distinguish source/example and result/reference; the prefixes do not prove which artifacts exist or how numbering is resolved.

“Silent,” file 02: audio injection is bypassed, output audio is not

Five nodes in the manual audio-latent chain are saved in mode 4: encoding, zero mask, noise masking, latent separation, and concatenation. The plan and sampler instead take the conditioning node's audiovisual latent directly.

However, both CreateVideo nodes still receive audio directly from VHS loader 10. One wraps the generated frames, and the other wraps the hybrid reference visualization. If the source supplies usable audio, this is not a graph that simply omits every soundtrack connection.

Treat “silent” as a source label, not a guarantee of a muted output file. If silent delivery is required, deliberately configure and test the output-audio behavior in a separate working copy. Do not assume that bypassing audio conditioning also mutes video packaging.

The inherited note also mentions final audio limiting and Face Refine timing, but this export has no AudioMix or Face Refine chain. It is safer to follow the saved nodes than carry those claims into a description of this variant.

Time controls in Standard and “Silent”

Their VHS loaders request 24 fps and cap loading at 124 frames. A cap is not proof that the selected file supplies 124 frames. The loaded-video-info nodes provide actual loaded frame count to conditioning length and loaded fps to the video wrappers.

Inspect the real loaded duration, especially for shorter sources. Do not promise a fixed five-second clip or replace linked values with stale conditioner widget defaults. Check temporal compatibility with the installed H3 nodes before a full run.

Face Refine, file 01: an additional reconstruction pipeline

This file contains two complete examples, including two face-refinement chains. The serialized generation and face nodes are mode 0 even though notes and group names describe the add-on as optional or default off. Group-bypass controls also exist; inspect their state after import instead of assuming the note describes current execution.

The main generation path still builds the RGB/depth reference and injects source audio into its audiovisual latent. Unlike Standard's mix-node output route, the main video wrapper here takes audio directly from the source loader.

What feeds refinement?

Decoded main frames at 759 feed MiniMaxH3FaceRefinePlanT8Advanced 913. The plan supplies crops, dimensions, frame count, and stitch metadata. A separate conditioner uses the reference image and plan-derived dimensions/count for the refinement path.

This is not simply reuse of the main final latent or positive conditioning, despite an older note suggesting that. Follow the separate conditioning and refinement-plan connections.

Additional selected assets include minimax_h3_fl2va_int8_convrot.safetensors and the YuNet detector reference facedetection/face_detection_yunet_2023mar.onnx. Saved named controls include local OpenCV YuNet detection, CPU device, confidence 0.35, and an auto_512 crop canvas. These are settings, not proof of detected faces or correct tracking.

The face-refinement plan stores 12 steps, denoise 0.45, dual_clock_euler, and native_flow. Do not borrow an 8+4 description from a different H3 export: this file has its own main-stage and face-refinement configuration. Neither its labels nor its crop count establish measured total work or speed.

Which background is stitched?

Stitch node 921 receives generated main frames as its base and refined crop frames as its replacement source. It does not use the original RGB video as the stitch background.

Thus even a successful local face stitch would not by itself prove that the earlier generated scene preserved all original pixels. Inspect both stages independently, including unwanted facial changes, crop boundaries, tracking jumps, and scene continuity.

The stitch node exposes changed/fallback masks, counts, and reports, but those outputs are unconnected in this save state. A node named “Stitch + Audit” is not a supplied passed-audit report.

Separate the candidate from debug outputs

Each example has five enabled save branches: main generation, hybrid-reference visualization, face-tracking preview, refined crops, and final face candidate. Both examples reuse the same prefixes. There are ten configured saver nodes, not proof of ten accepted video files.

The final candidate takes trimmed source audio; the face decoder's generated-audio output is not used. Its trim stores start 0, duration approximately 5.1667 seconds, and fps 24 rather than receiving the Standard variant's loaded-video-info connections. Check shorter inputs and actual output alignment; do not call every timing field automatically source-following.

Prepare an acceptance test

Use authorized source footage, reference images, and sound. Select the example you intend to run and update its prompt and point annotations. Saved points and embedded editor images belong to earlier inputs; inspect the real loaded frames and hybrid reference before sampling.

Verify model/node availability, effective dimensions, loaded duration, enabled groups, and all save destinations. After a small run, inspect identity and scene changes, mask behavior, sound, and file labels. Refinement is a candidate-producing process here, not an automatic quality certificate.

Distribution copies omit historical VHS input-preview metadata while retaining point-editor state for explicit review. The source-provided tutorial offers context; its link was not live-verified. No blanket license, preservation guarantee, or runtime compatibility claim is attached to this source-based walkthrough.


Getting the workflows

Published by this channel. The graphs are free; weights, LoRAs and audio assets are separate and carry their own terms.

來源:DEV Community · dev.to