10Eros Beta5 在 H3 中的雙階段精修與 SelfLift 音訊條件控制比較
10Eros Beta5 in H3: Two-Pass Refinement Versus SelfLift Audio Conditioning
這篇教學比較兩個採用相同 Beta5 基礎模型的 H3 工作流:一個以啟用的圖像參考進行雙階段影音精修,另一個把裁剪來源音訊注入影音 latent,再以 SelfLift 採樣。第一份流程有 66 個節點、第二份有 32 個,並配置三個影片儲存分支;第二份輸出影片時直接接入裁剪後的原始音訊。作者只核對靜態配置,未執行生成,也未測試畫質、同步或基準表現。
These two exports use the same selected Beta5 base-model filename, but they are not interchangeable presets. One builds a coarse-to-refined audiovisual result from active image references. The other manually injects trimmed source audio into an audiovisual latent and uses a SelfLift sampler.
The differences matter before you queue either graph: which inputs are active, which schedule reaches the sampler, where output audio comes from, and which branches actually save files. The supplied files contain 66 and 32 nodes respectively, totaling 98 nodes and 155 links. This guide reports static configuration, not a new generation, quality comparison, lip-sync test or benchmark.
01 — Start with the current inputs, not the FL2VA title
The first file has three active reference-image loaders: 112, 113 and 121. Their images reach the named reference slots 1, 2 and 3 on both conditioning stages.
First-frame, last-frame, additional image, source-video, drive-audio, final-audio and reference-audio routes are saved bypassed. Their visible nodes and connected wires do not establish active media inputs. The conditioners request AUTO/native behavior, so do not describe this saved state as an active first/last-frame or source-audio-driven example simply because the filename mentions those modes.
Reference slots are sparse. Check how the matching custom implementation resolves prompt Picture ordinals rather than assuming a slot suffix is a direct picture-number guarantee.
Follow the linked prompt and dimensions
Prompt node 28 supplies the active instruction. The saved text describes a woman, a mech and a perfume-related scene; that describes prompt intent, not independently reviewed reference-image content. The older red-Hanfu text stored inside the conditioners is overridden.
Refinement adds a separate sharpness/natural-photorealism instruction through concatenation. That is another requested behavior, not proof that skin, faces or texture improve without changing identity.
The coarse resolution selector stores 4:3, 1 megapixel, multiple 32. Its links override the conditioner's old 736×416 values. The learned latent upscaler is configured as scale_by 1.5, and its width/height outputs feed the second conditioner. Stored 1344×768 and upscaler target-size fields do not define the effective output size in this route. Inspect actual dimensions after execution rather than quoting those defaults.
The active LoRA stacks differ between stages
The selected base is 10Eros_Max_h3_TURBO-hybrid_beta5_int8_SinoX.safetensors. The FL2VA Turbo LoRA at node 5 is bypassed. Both ExposureSlider nodes are also bypassed, despite retained strengths.
The coarse stack applies Combat at 0.7, the aesthetic and FrameRush selections at 0.5 each, and Motion Repair at 0.7. The refinement stack uses Combat at 0.49, the same aesthetic/FrameRush strengths, Motion Repair at 0.2, and an additional LMS selection at 0.3.
These are configured selections, not verified effects. The “small-face” or “de-oiling” label does not make this a dedicated face-detection/crop/stitch graph. It uses a broader learned-latent two-pass route; there is no separate face-crop repair chain in this export.
Attention-related patches are enabled upstream. Their names do not independently establish the effective runtime kernel, VRAM savings, compatible hardware or acceleration. Resolve the installed implementations before relying on their interactions.
The connected schedule is not the old eight-step sigma output
DualClockSampler node 8 stores a steps value of 8 and supplies model/sampler outputs, but its SIGMAS output is unconnected. LearnedTwoPassParityPlan node 9 supplies the connected schedules, with saved base/coarse/refine controls of 9 / 4 / 5.
Follow those connections rather than advertising an eight-step coarse run. Nor should the planned 4+5 split be presented as a measured total number of model evaluations: diagnostics are unused and the custom samplers/mixer were not executed here.
The first sampler's DENOISED_OUTPUT reaches the learned upscaler. The second conditioner builds a high-resolution template; reconciliation combines it with the learned latent and positive conditioning. DetailMixer then supplies the refined model, sampler and schedule.
Tail, model-time bias, STG and restart switches are all off. Nonzero saved values inside those dormant options do not enable the features.
The stages share a noise node whose seed control is randomize. Reconciliation's saved audio policies and second-pass strength zero describe requested behavior, not fixed-seed reproducibility or verified preservation of first-pass audio.
Duration and outputs in the first file
The duration control is 10 and feeds this frame expression:
max(5, round(a * 24))
+ (5 - (max(5, round(a * 24)) % 17)) % 17
For a = 10, standalone arithmetic gives 243 requested frames. At the configured 24 fps, that is a nominal 10.125 seconds—not a measured file duration. The connected count overrides old 124-frame widgets.
The main refined latent is decoded into video and generated audio, then sent to a VHS combine node configured for H.265 MP4, yuv420p10le, CRF 22 and 24 fps. This is not selected-source audio passthrough, nor proof of genuine high-bit-depth scene information.
Two additional stage branches actively decode, create and save videos: one for the first sample and another for the refined sample. The latter decodes the same refined latent used by the main output. Their “preview” role does not mean they are unsaved, and their video-wrapper settings differ from the main VHS configuration.
Expect to inspect three configured save destinations, not assume there is only one final file. No actual files or output counts were verified by generation in this review.
02 — SelfLift conditions on trimmed source audio
The second file selects the same Beta5 base, but uses qwen3vl_32b_minimax_h3_int8_convrot.safetensors rather than the first file's NVFP4/AWQ-named encoder. Both use the selected FP16 video VAE and FP32 audio VAE. Resolve the actual references instead of treating the dependency stacks as identical.
Two image loaders are active. The saved prompt assigns Picture 1 to a character and Picture 2 to environment/composition; this is a statement about prompt roles, not visual verification. The reference-video and native reference-audio ports are unconnected.
The resolution selector stores 3:4, 1.5 megapixels, multiple 32, overriding the conditioner's old 1344×768 values. Do not describe it as a fixed landscape setup.
Trimmed source audio is encoded with the audio VAE and given a zero latent-noise mask. The reference-conditioning template is split, and its video portion is concatenated with the encoded audio. That assembled latent enters SelfLift. This is a manual audio-latent route, not a connected native reference-audio socket.
Read the audio-window fields and integer conversion carefully
TrimAudioDuration stores start_index = 14.63 and duration = 20.46. Those are not a start/end pair defining a 5.83-second window. Check the implementation's units and actual available source material before interpreting the resulting selection.
The trimmed audio's reported length passes through the INT output of ComfyNumberConvert before reaching the frame expression. Fractional precision is not passed straight through that wire.
This file's expression adds an extra 24 after the alignment rule:
max(5, round(a * 24))
+ (5 - (max(5, round(a * 24)) % 17)) % 17
+ 24
For an integer input of 5, this arithmetic gives 148, not 124. For 10 it gives 267, and for 20 it gives 505. These are illustrative formula results, not claims about the actual trimmed audio length, downstream padding or generated frames.
Do not reuse the first file's duration conclusion or assume every node automatically aligns the soundtrack. The visible output has no explicit post-decode trimming node, and VHS trim_to_audio is false. Actual synchronization and end behavior require inspection.
SelfLift sampling and output are separate questions
The four-step Turbo LoRA node is bypassed. BasicScheduler instead stores simple, 6 steps and denoise 1, while KSamplerSelect chooses Euler. SelfLift stores CFG 1, transition step 3, low-resolution scale 0.5, rho 0, weights 0.5–1, and the learned 3D latent upscaler. Its optional model_hires input is unconnected.
These are configuration facts, not a measured six-evaluation benchmark or proof of particular intermediate resolutions. Negative conditioning comes through ConditioningZeroOut. The memory/preview utilities also provide no measured VRAM result here.
After SelfLift, the audiovisual latent is split and only the video portion is decoded. The final combine node receives the trimmed original audio directly, not a newly decoded generated soundtrack. Its settings include H.264 MP4, CRF 12 and 24 fps.
That establishes routing, not bit-perfect audio copying, voice preservation, equal durations or accurate lip synchronization. Listen to and inspect the actual output before accepting it as an audio-driven character result.
Import and acceptance checks
Seven producer-side link-list entries are stale across the two files. Global link tuples and receiving input links agree, but some output lists still advertise links originating elsewhere. These are documented rather than silently repaired. Inspect imported connections with the compatible frontend; static consistency checks are not runtime certification or proof that the graphs must fail.
Use authorized reference images and sound. Choose the intended active routes, update prompts, inspect effective dimensions and time controls, and identify every save destination. Run a small test before judging identity, faces, texture, movement, audio and any claimed quality gain.
New canonical copies omit only known historical video-preview metadata; source originals are preserved. Covers have not been visually reviewed. The source-provided tutorial was not live-verified, and no blanket license, compatibility claim or new benchmark accompanies this walkthrough.
Getting the workflows
Published by this channel. The graphs are free; weights, LoRAs and input assets are separate and carry their own terms.
- Hugging Face: AI-KSK/10eros-beta5-dual-workflows-307 — two JSONs, covers, SHA256 manifest. Start here.
- ModelScope (魔搭): Sunjian520/10eros-beta5-dual-workflows-307
- Civitai: 01 Face touch-up second pass · 02 SelfLift audio digital human
- Run without a local GPU: 01 · 02
- Tutorial: YouTube · Bilibili
來源:DEV Community · dev.to