MiniMax H3
comfyui
video
steering
dials

H3 Dials: training-free steering for MiniMax H3

Dials are ~14 KB steering files made from prompt pairs, with no training. Each dial is one direction in MiniMax H3's processed-prompt space. Its strength is a slider:

  • negative moves every generation toward the pair's A side;
  • positive moves it toward the B side.

Dials are developed in ComfyUI-MAINodes (dials/): Make Dial, the Dial Rack (many dials on one model, each with an optional time curve over the clip), Render Preset and the Simple blueprint. Start with dials_simple_pika_derope.json and the Dials guide. ComfyUI-Dials stays the stable original pack (Load Dial → Apply Dial) and hosts the Dials pages: Dials on a Curve, Lab, Word Dials, First Frame and MOSS-Image. Both packs read the same files: put the dials in ComfyUI/models/loras/dials/.

Moving edges: Hard ↔ Soft (experimental)

h3_blur_moving_edges_hook.safetensors is a MiniMax H3 post-refiner hook: negative = hard/crisp moving edges, positive = soft/feathered moving edges. Built from eight matched prompt pairs.

Tested on Pika H3 Flex (6 steps), including a same-reference 0 versus −6 ninja-kick pair, seed 42, 768×512, 39 frames, with de-rope off and Oracle on. −6 is a tested probe, not a universal recommendation. Pose, timing and style can change; extreme values can alter identity or shift toward painterly rendering. This is an experimental edge/style direction, not calibrated motion-blur control.

A curve, not a constant

dials/h3_impact_frame.safetensors at 4.5, text to video on Pika H3 Flex (6 steps), same prompt and seed. Left: no dial. Middle: 4.5 held for the whole clip replaces the shot with an ink drawing. Right: the same 4.5 on a 0.5 s pulse at the punch: about six frames of black silhouettes in an ink starburst, then the dojo comes back. Underneath: the curve and the measured change from the baseline (solid: the curve take; dashed: the constant one). Sound from the curve take. A dial's strength can follow a time curve on its Dial Rack row in MAINodes (how); more below in Five dials from a magic-duel bake-off and Four anime dials on a time curve.

On Pika H3 Flex, with de-rope

Top to bottom: MiniMax H3 base, 25 steps, no de-rope; then Pika H3 Flex (6 steps) with motion +0.5 and de-rope, at dread 0, +0.5 and +1. Same prompt and seed. A de-roped Pika clip takes about as long as one 25-step base render (about 6 min at 1280x704 on one RTX PRO 6000 Max-Q) and comes out with more motion and crisper frames; the end card has the timings, motion and sharpness.

Motion: Freeze ↔ Zoomies

Left to right: dial −2, base, dial +2 (same prompt and seed).

file mode load with notes
dials/h3_motion.safetensors hook (after H3's text refiner) a MAINodes Dial Rack row, or ComfyUI-Dials Load Dial → Apply Dial the reference version. −2: near-frozen, cinemagraph-like (0.05× base motion). +2: everything zooms (≈2.7× base motion)
dials/h3_motion_lora.safetensors LoRA file (condition_proj bias diff) stock Load LoRA (model only), a Dial Rack row, or Load Dial the same pairs, about 0.6× the effect per unit (use ~1.6× strength)

Built from 24 prompt pairs: 8 subjects × 3 phrasings of still/posing/frozen vs running/jumping/moving energetically. Pair agreement is 0.78. The pairs are in example_pairs/.

Villainy pack: eight flavours of evil (hook dials)

Made with debias on, so each flavour is its own direction (motion is unrelated to all of them). +1 to +2 is the sweet spot; +4 is extreme.

file turns the scene toward notes
dials/h3_evil_sinister.safetensors menace: shadows across faces, dim rooms, looming silhouettes ⚠️ tends to break the audio: speech gets crushed (Whisper word error 0.84 at +2 vs 0.00 at base). Keep it low for clear dialogue
dials/h3_evil_creepy.safetensors uncanny: unnervingly wide smiles, subtly wrong movement, sterile spaces
dials/h3_evil_cold.safetensors icy: flat, calculating, emotionless
dials/h3_evil_unhinged.safetensors maniacal, wild-eyed ⚠️ really is unhinged, beware: screaming, lunging intimidation even at +2 (leans aggressive; no gore seen)
dials/h3_evil_seductive.safetensors a charming smile hiding dark intent speech stays clean
dials/h3_evil_corrupted.safetensors decay and rot creeping in
dials/h3_evil_dread.safetensors foreboding atmosphere, no character needed
dials/h3_evil_impish.safetensors mischievous trickster the lighter end

These have been checked on a handful of scenes, so treat them as creative tools. Pair files are in example_pairs/.

On Pika H3 Flex (6 steps)

Dread 0 / +0.5 / +1 with motion +0.5 on Pika H3 Flex (same prompt and seed; audio from +1). The dials work on Pika unchanged and keep the prompt and characters. On Pika, +0.5 to +1 is the useful range for motion and evil alike. Ready-made workflows: in MAINodes, the Simple front door (examples/dials/: Render Preset → Dial Rack → the Dials - H3 + De-rope blueprint); in the original pack, Pika + motion dial + evil slot, with and without de-rope: ComfyUI-Dials › Pika H3 Flex + Dials.

Motion dial on Pika: 0 to +3

1280x704, same prompt and seed. +0.5 / +1.0: same scene, more action (+20 % / +23 % camera-removed motion). +1.5 / +2.0: the scene restages and characters morph. +3: loses the prompt.

De-rope vs no de-rope

Motion +1.0. De-rope finds stretches that move too fast for the frame rate, re-renders them slowed down and maps them back to real time, keeping the original audio. The workflow default re-enters at inject 0.48; a 6+6 schedule is included as an experimental workflow. At 1280x704, a de-roped Pika clip takes about 5.5–6 min, about the same as one 25-step render of the base model without de-rope (about 5.5 min).

These two videos were rendered with an earlier wording of the example prompt, before the magical-girl rewrite. Re-renders with the current wording are coming.

Five dials from a magic-duel bake-off

Five hook dials tried on one anime magic duel: Pika H3 Flex with reference pictures (a storyboard frame plus character sheets of two original adult characters, a mage student and her examiner), 6 steps, lcm, manual sigmas, cfg 1, 1280x704, one seed (4242). Every dial row rides the same time curve (a power-up ramp to the collision, then held) with blend steps k = 6 and audio: protect. All five were made with MAINodes Make Dial: arcane sigils for this bake-off, the other four earlier and calibrated here. Pairs and suggested strengths are in example_pairs/<name>.txt, and each file carries its own description, labels and useful strength (⚙ in the Dial Rack).

Same board, prompt and seed in every tile. Top: baseline, psychedelic 4, psychedelic 3 + space warp 3. Middle: dramatic light 3, storm 2.5, storm 1.5 + dramatic light 2. Bottom: arcane sigils 3, arcane sigils 3 + psychedelic 3, and the close-up that follows the clash (dramatic light 1.5 held; frozen on its first frame until 2.1 s). The bar underneath is the curve. One soundtrack for all (dramatic light's): with audio: protect the look dials stayed within 2.5 LU of the undialled sound.

file suggested what it did notes
dials/h3_dramatic_light.safetensors 3 on a wide; about 1.5 held on a close-up the most combat-readable clash: a white flash, shards, hard contrast, faces kept lighting ramps in more broadly than the look dials, so start its curve a little early. In text to video the contrast came with layout changes; −2 gave flat, even light
dials/h3_psychedelic.safetensors 2.5 to 4 on a spell build-up 4 on a single caster: a full neon rainbow vortex, face and coat kept needs k = 6 (at k = 2 no colour came up to 5). On the busier duel 4 hides the clash. ⚠️ On a close, dancing figure 2 changed the costume (a skin-tight rainbow suit); 1.5 kept it
dials/h3_space_warp.safetensors 2.5 to 4 the magic rings become a spiral tunnel at 4 the caster turned her back at the peak. The vortex = psychedelic + space warp: at 3 + 3 it swallows the duel's beam after about 2 s, so start at 2 + 2; held at 3 + 3 on a close-up it replaced the face
dials/h3_arcane_sigils.safetensors 2 to 3 on a spell build-up 3: a huge runic magic circle on the floor with sub-circles the only one here that drew its own look at k = 2 as well. On the duel it replaced the beam with a corridor of runic circles; with psychedelic 3 + 3, an iridescent runic mandala
dials/h3_storm.safetensors 2.5 wind, dust and energy arcs, no rain; the examiner lunges into a fighting stance ⚠️ changes the sound even on audio: protect (+2.5 to +3.4 LU, music-like). The storm side of the pairs has bending trees and flying debris, so it adds motion too (an earlier text-to-video check rejected it as a pure weather dial for that reason). With dramatic light keep it at 1.5 + 2 (2 + 2.5 turned the impact into a black ink blot)

Set blend steps to 6 for look dials with reference pictures. With k = 2, psychedelic (1 to 5) and space warp (1.5 to 4) only flipped the layout of the magic rings and drew no colour: on Pika's 6 steps with reference pictures the look is written in steps 3 to 6. A k = 6 row costs about 1.7× the render time per distinct curve.

The spell build-up

The first shot: one caster stacks rings into a sphere and releases it (same board and seed; peak strengths in the labels). The curve ramps over the build-up, holds while the sphere is closed (3.5 to 3.95 s) and drops at the release. This shot ran with audio: follow, so the dials reach the soundtrack too (psychedelic and space warp added a roaring whoosh, +6 to +9 LU); the sound here is psychedelic's. Use audio: protect unless you want that.

Dramatic light and storm on the duel

Baseline | dramatic light 3 on the power-up ramp. Sound from the dial take.

Baseline | storm 2.5 | storm 1.5 + dramatic light 2. Storm makes the examiner fight back, so a one-sided duel turns into an even one. Sound from storm 2.5 (audio: protect, still 3.4 LU louder and music-like).

Four anime dials on a time curve

Four hook dials made with ComfyUI-MAINodes Make Dial, one prompt pair each over eight adult subjects (debias on), and tested on the time curve each one is for in the Dial Rack. See every strength we rendered, in sync with its baseline and with sound: Dials on a Curve. Pairs and suggested strengths are in example_pairs/<name>.txt ({subject} expands over subjects_adults_places.txt), and each file carries its own description, labels and strengths (⚙ in the Dial Rack). All on Pika H3 Flex (6 steps, lcm, manual sigmas, cfg 1), one scene and seed per dial, time-curve rows with blend steps k = 6 and audio: protect.

file curve text to video with a reference picture notes
dials/h3_impact_frame.safetensors a 0.5 s pulse at the hit pulse 4.5; constant 3 for a whole-clip ink look pulse 6 (an ink burst over the contact, not full-frame) the anime hit flash: ~6 frames of black silhouettes on white in an ink starburst, then the shot comes back. Held constant it replaces the shot. 8 on the pulse drew less than 6
dials/h3_aura.safetensors ramp and hold ramp 2 (costume and hair drift; 3 bursts from frame 0) ramp 2.5 (2 softer) a halo ring, energy spikes and dust. ⚠️ The dial also pushes the camera in to a close-up, and the face drifts there. The soundtrack got ~18 LU louder (a wind roar) even with audio: protect
dials/h3_ink_wash.safetensors best held constant constant 1.5 to 2; seep in/out 2 at k = 6 draws nothing (tried up to 6) a flowing black ink-wash painting on paper. Best as a constant look on text to video. On a curve it follows, but the scene re-composes as it washes in and out (k = 2 smears the look over the clip)
dials/h3_colour_drain.safetensors a snap (step) greys at 4 to 5 but restages the set into masked mannequins snap 4 (3 draws nothing) full colour to flat grey and back with the same characters. Starts ~0.3 s before the key

Each clip: baseline, the dial held for the whole clip, the dial on its curve; the curve and the measured change from the baseline are drawn underneath. Sound from the curve take.

What changes with a reference picture: it holds the style, so the useful strength depends on the pipeline (ink wash drew nothing with one; colour drain needed 4; impact frame 6 instead of 4.5). With a reference picture, aura and colour drain followed their curves at k = 2 as well as k = 6; without one, ink wash needed k = 6. Start look dials on curves at k = 6.

Experimental dials (lab)

Ten hook dials from a night of odd contrasts, made with ComfyUI-MAINodes Make Dial (post-refiner, debias on). They are experiments, not polished tools, but each one does something interesting. See them in motion with sound: Dials Lab. Every dial ships with its prompt pairs in example_pairs/experimental/<name>.txt (the first line says what A and B are; {subject} expands over subjects_adults.txt, or settings.txt for the owl), and each file carries its own description, labels and useful/overcook strengths (⚙ in the Dial Rack). Strengths below are for Pika H3 Flex (6 steps, text-to-video) on one scene, seeds 42/43.

file kind − side · + side what it does
dials/experimental/h3_x_oil_pixel.safetensors style continuum period drama · pixel art −3 photoreal period drama (often a rider on a horse indoors); +1.5 side-scroller staging; +2 isometric diorama; +2.5/+3 a pixel-art game level
dials/experimental/h3_x_datamosh.safetensors plain vs featured wholesome vintage · datamosh +2.25 keeps the subject crisp while the background breaks into a glitch mosaic; +2.5 glitch portraits (identity changes); +3 glitch only
dials/experimental/h3_x_owl_octopus.safetensors creature continuum owl · octopus needs an animal in the scene. On an owl: +1.5 a barn owl, +2.5/+3 an octopus in the same place, +4.5 the setting follows (a coral reef). No hybrid in between
dials/experimental/h3_x_memory_present.safetensors abstract vivid present · faded memory a gentle look dial: crisp saturated daylight vs misty, faded, wistful light
dials/experimental/h3_x_order_entropy.safetensors abstract order · entropy tidy and calm vs debris, dust and a person running (motion leaks in on the + side)
dials/experimental/h3_x_silentfilm_cyberpunk.safetensors style continuum 1920s · neon cyberpunk arrives as era and setting (photoreal), not as film grain. ⚠️ at +3 the character is replaced by a younger-looking woman; stay below +3 to keep your character
dials/experimental/h3_x_vhs.safetensors opposites (look) clean digital · VHS era +3 gives a 4:3 pillarboxed frame and older trains rather than tape noise
dials/experimental/h3_x_film_artifact.safetensors artifact described clean colour · old-film grade a negative result kept on purpose: describing grain, dust and scratches gave a cool desaturated grade and no grain
dials/experimental/h3_x_template_placebo.safetensors control grey scarf · blue scarf a meaningless dial (vector length ≈ 10). Scale it to another dial's push to see what any push of that size does on its own
dials/experimental/h3_x_sinister_noview.safetensors control warm · sinister the sinister slot text in templates without camera words (cos 0.968 to h3_evil_sinister); shows the templates don't drive the dial

Two dials together: oil_pixel at −3 plus datamosh at +1.5 to +2.25 turns the photoreal period drama into an actual oil painting with visible brushwork (2 seeds). The placebo at the same push does not.

Speech on Pika: in a two-line dialogue test (one seed), every villainy dial at +2 kept the words on Pika H3 Flex (Whisper word error 0.00; unhinged 0.00-0.05, shouted), including sinister, which crushed speech on base H3.

Lessons for making your own: pair agreement is a floor, not a verdict (dials that worked and dials that failed both scored 0.75-0.85); style words arrive as an era before they arrive as a medium; a creature or object continuum needs its subject in the scene; compare against a placebo of the same push.

What makes a dial different

  • Not a LoRA or slider LoRA: nothing is trained. A dial is computed from prompt pairs in about a minute and only steers what H3 already knows.
  • Not a RefMod: no reference images or video. A dial changes how much of a quality any prompt gets, not what is shown.
  • Not an SD-era embedding: it isn't a word you type. It's a signed direction added to every prompt token, where the DiT reads the prompt.
  • Not a negative prompt: H3 is guidance-distilled (no CFG), so negative prompts don't work. Dials give that kind of control back, in both directions.

There's a full comparison table in the GitHub README.

Thanks

Thanks to DaveSnow, whose Natural_detailV2 dataset and every-second-block observation started the research behind this. Powered by MiniMax H3.

License

These dial weight files are Model Derivatives of MiniMax H3 and are distributed under the MiniMax H3 Community License Agreement (LICENSE-MiniMax-H3-Community.txt, notice in NOTICE), including its Applicable Territory and Acceptable Use Policy terms. The node code is separate, on GitHub: ComfyUI-MAINodes (GPL-3.0-or-later) and ComfyUI-Dials (AGPL-3.0).

Downloads last month
2,693
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for MATLOWAI/H3-Dials

Finetuned
(217)
this model