Dev.to AI πŸ€– Ai πŸ‘ 0 πŸ“– 7 min read

H3 Martial-Arts and TaoMate Workflows: Read the Schedule, Not the Filename

An eight-step filename is not an eight-step execution trace. Equally, a three-step scheduler can be genuinely configured without proving a particular speedup. These two H3 exports illustrate both distinctions. The packa

An eight-step filename is not an eight-step execution trace. Equally, a three-step scheduler can be genuinely configured without proving a particular speedup. These two H3 exports illustrate both distinctions.

The package contains two JSON workflows: a martial-arts two-pass graph with 113 nodes and a TaoMate example collection with 239 nodes. Together they have 396 explicit links, plus named Set/Get relationships in the first file. This is a static walkthrough, not a new inference, audio review or hardware benchmark.

The source title mentions 1080p and nearly one second per frame. Those remain source claims, not results measured for this guide. Export frame rate is not generation throughput.

01 β€” Resolve named inputs before counting references

The martial-arts graph uses SetNode/GetNode pairs rather than direct visible wires for many inputs. Three image loaders are active: 159, 200 and 203. Their Set nodes publish IMAGE_0, IMAGE_1 and IMAGE_2; the corresponding getters reach the first three reference-image slots of conditioner 136.

Other image providers, all video providers and all source-audio providers are bypassed. Their getters can still be enabled and wired. Counting every visible getter would therefore overstate the active reference set.

Check the compatible frontend's handling of named values and bypassed providers on import. The saved graph does not prove that every optional getter will resolve correctly in every installation.

The prompt takes a similar route: active prompt node 194 feeds concatenation, then the live output of ShowText 297 feeds the named positive value and its getter. Extra prompt node 309 is bypassed. A cached ShowText string or the conditioner's old text is not an independent active prompt source.

The scheduler receives 20, not the eight-step title

PrimitiveInt 300 stores 20. It publishes the named value s, retrieved by node 401 and connected to BasicScheduler's steps input. That overrides the scheduler's saved local value of 10.

The resulting sigma schedule passes through H3SigmaRefiner 361. Its named controls store extra_steps 1, start_at_sigma approximately 0.6, end_at_sigma 0 and cosine spacing. Both sampling stages receive the same refiner output.

Do not turn this into a guessed 20+1 evaluation count: the custom refiner's implementation and sampler execution were not inspected or run. What the graph establishes is a linked 20-step input before transformation, not a verified eight-step run, an 8+8 split or a measured total NFE.

The active Ref2V eight-step LoRA is a separate model selection. Its filename does not override that connected scheduler input. The alternative FL2V eight-step LoRA is bypassed.

Read the model stack as a sequence

The selected base is minimax_h3_hybrid_fl2va_ref2va_b25-49-bf16-v1.01.safetensors, with the selected INT8/ConvRot-named Qwen text encoder, FP16 video VAE and FP32 audio VAE.

After the attention utilities and active Ref2V Turbo selection, Motion Repair is applied model-only at a linked strength of 0.2. The subsequent stack includes spatial-physics at model strength 0.3, wushu-e3 at 0.75, and another Motion Repair application at 0.5. Those final three LoraLoader nodes also store CLIP strength 1.

The two Motion Repair applications should not be silently rewritten as one verified equivalent strength. Their positions and loader types differ. Likewise, attention and low-VRAM node names are not measured evidence of a particular kernel or memory reduction.

The saved active media are images rather than a source motion-video sequence. This is reference conditioning plus model modifications and a prompt, not an explicit pose-map lock or proof of precise martial-arts motion transfer.

The learned-upscale node does not promise a larger raster

The coarse resolution selector requests 4:3, 1 megapixel and alignment to 32. Named width/height links override the conditioner's old 1344Γ—768 values.

The learned latent upscaler is also configured in megapixels mode targeting 1 MP, with alignment 32, CUDA, BF16 and chunking enabled. Its presence alone does not establish 2Γ— enlargement, 1080p or a higher pixel count than the first stage. Inspect actual decoded dimensions.

The duration control is 10 and feeds:

max(5, round(a * 24))
+ (5 - (max(5, round(a * 24)) % 17)) % 17

Arithmetic gives 243 requested frames, overriding the old 124-frame value. At configured 24 fps that is a nominal 10.125 seconds, not a measured output duration.

Two sampling stages, two different first-stage outputs

The first sampler's DENOISED_OUTPUT is split into video and audio latents. Only video passes through the learned upscaler; audio is carried into the concatenated second-stage latent.

The second sampler reuses the same guider, positive conditioning and transformed sigma schedule. There is no separate rebuilt high-resolution conditioner in this graph. Carrying the audio latent forward does not prove that the final audio remains unchanged after another sampling stage.

The first-stage save uses the first sampler's OUTPUT, not the DENOISED_OUTPUT sent toward upscaling. The second save uses the second sampler's OUTPUT. Each is routed into video and audio decoders, so this is not direct source-audio muxing.

Both VHS save nodes use the prefix H3_Ref2VAδΊŒι‡‡, despite belonging to different stages. Both store 24 fps, H.264, CRF 19 and trim_to_audio false. Identify the stage through connections, not that shared filename prefix. Compatibility of the audiovisual latent/decoder path and actual saved files still requires a test.

02 β€” Seven TaoMate examples are not seven working I2V runs

The second JSON contains seven repeated branches. The letters below are audit labels, not authored project names or seven separately supplied workflow files.

Branch Saved state What needs attention
A Entire branch bypassed No active generation or save should be claimed from its stored controls
B Main branch enabled, 9:16 Full selected LoRA stack with a connected first-frame image
C Main branch enabled, 9:16 Similar stack, but not automatically a controlled comparison with B
D Main branch enabled, 16:9 First-frame image loader is bypassed; do not label it assured I2V
E Mixed enabled/bypassed nodes, 16:9 Save remains enabled while core generation/decoding is bypassed; inspect before queueing
F Main branch enabled, 3:4 TaoMate and base wushu selections active; optional stack bypassed
G Main branch enabled, 3:4 Newer wushu-action selection plus reference audio; Bunny selection bypassed

An enabled SaveVideo node is not proof of a functioning upstream generation path. In particular, E needs review rather than being counted as a completed or successful example. Nor does static inspection alone certify that import will fail: verify the actual node/frontend behavior in a working copy.

Three steps are configured, but speed is unmeasured

Enabled main branches B, C, D, F and G use schedulers storing simple, 3 steps and denoise 1, with Euler selection. That three-step setting should not be dismissed merely because it has not been benchmarked.

Their SelfLift controls store CFG 1, transition step 1, low-resolution scale 0.4, rho 0, weights 0.5–1 and the BF16 learned latent upscaler, with fixed seed control. These values do not prove actual intermediate dimensions, total model evaluations or latency. Extra seed-control widgets must not be mechanically zipped into named execution parameters.

TaoMate's filename contains step3000; wushu filenames contain other step-like numbers. Those strings do not set inference steps.

Model strengths come from linked PrimitiveFloat controls. The full B/C stack includes TaoMate 1, wushu 0.75, Combat and camera-motion at 0.35 each, spatial-physics 0.3, Motion Repair 0.2 and Bunny 0.1. D/F keep only TaoMate and the base wushu selection active. G substitutes the newer wushu-action file and leaves Bunny bypassed.

These are different configurations and inputs, not a new matched speed or quality study.

Dimensions and soundtrack still need separate checks

All seven selectors store 1.4 MP and multiple 32, with the aspect ratios shown above. Connected dimensions override old local 1344Γ—768 values. Do not promise fixed 1080p output from those controls.

The linked duration expressions use the same nominal 10-to-243 arithmetic described earlier. CreateVideo stores 24 fps, 8-bit and sRGB controls; actual output dimensions, length and codec selection need inspection.

Only G has a loaded audio connection, and it enters the reference-audio conditioning port. It is not drive_audio, final_audio or a direct soundtrack connection. All CreateVideo audio inputs come from sampled-audio decoders.

That distinction matters for voice or lip-sync requirements. An audio reference does not prove the original waveform is preserved, the same spoken content is reproduced, or the output lips align correctly. Listen to the result rather than treating the input connection as acceptance evidence.

Before publishing results

Resolve the exact model and custom-node versions. Inspect the named routes in the first file and the mixed branch states in the second. Choose intended outputs, check effective prompts and dimensions, and run a small authorized-media test before accepting any claim about motion, identity, texture, audio or speed.

The new first-file copy removes only five historical video-preview fields; the second-file bytes are unchanged. Source originals are preserved. Covers are selected assets, not visually verified test results, and model weights/input media are not supplied here.

The source-provided tutorial is recorded without live verification. Check workflow, model, LoRA, node, image, audio and cover rights separately. No publishing, runtime certification or blanket commercial license is included with this source-based walkthrough.

Getting the workflows

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

πŸ“° Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.