ComfyUI Node
OpenH3-IR Main
One sentence to a ready H3 job: writes the brief H3 wants, picks the right weights, loads the encoder and VAEs, and outputs model, conditioning and latent.
OpenH3-IR Main
- setup
- director
- media
- model
- positive
- latent
- vae
- audio_vae
- prompt
- report
◄intent►
◄seconds8.0►
◄aspect16:9►
◄creativitybalanced►
◄silentfalse►
◄shotsauto►
◄megapixels0.00►
◄spoken_languageEnglish►
◄sizingmax►
◄seed7►
◄effortmax►
CategoryOpenH3-IR
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| intent | STRING | One plain sentence. Not a tag list and not a shot breakdown, because the compiler writes those. Say the action and the beat you care about. Type @ to name a slot in the media tray, which is how you say where a file belongs in the shot. Type @speaks("the exact words") for a line that has to be said exactly: those come back in the brief word for word and mark for mark, because a brief that rewords one is refused. Words you merely quote in the sentence get no such check. | |
| seconds | FLOAT | 8.01–149 | The only place length is set, used for both the brief and the latent. H3 renders on a 17 frame grid so this snaps up: ask for 10 and you get 10.125. 8.0 is the only whole second on the grid. H3's trained band is 5.167 to 15.083 seconds. Outside it a render still happens, untested and slower, and the report says so. |
| aspect | COMBO | 16:9 | The canvas is sized from this, 768 on the short edge, so there is no resolution box to keep in step with anything. |
| creativity | COMBO | balanced | How much the writer may add where your sentence is silent, which is three things: music, a spoken line, text in the frame. restrained adds none of them. balanced may add music. bold may also put words in a mouth and text on screen. extreme adds nothing beyond bold, it pushes every choice harder. Shot count is never on this dial, and saying no dialogue in your sentence still means no dialogue at every position. |
| silent | BOOLEAN | false | H3 writes sound in the same pass as the picture, so silence is a decision rather than an absence. This turns off the music only. Ambient and physical sound still get written, and speech is governed by your sentence and by invention. |
| shots | COMBO | auto | auto is usually right: the writer decides the edit, and cut times have to land on the frame grid too. A number is kept exactly, up to 10. Every shot needs 1.2 seconds, so a count that cannot fit the video's length is refused with the arithmetic. |
| setup | H3IR_SETUP | Required. The service address and the five H3 files to load, from an OpenH3-IR Setup node. Which files those are is your choice, so there is one node that holds it and the report names every file that was loaded. | |
| megapixelsopt | FLOAT | 0.000–2.5 | How many pixels the frame gets, the same number a resolution picker calls 1.5. Zero means H3's native size, 768 on the short edge, which is what it was trained at. Bigger is sharper, slower, and eats VRAM in proportion; the report shows the exact canvas it bought. |
| spoken_languageopt | COMBO | English | The language every @speaks line in the sentence is spoken in. It becomes the language tag in the brief, which is what H3 reads, so Spanish words tagged English are spoken wrong. It decides nothing while no line is locked. For a language that is not listed, quote the line in the sentence instead and name the language there. |
| directoropt | H3IR_DIRECTOR | Optional. Whose taste fills what your sentence and your references do not say: the camera, the framing, the light and colour, what the frame looks at, how bodies and delivery are written, and what the room and any music is made of. From an OpenH3-IR Director node, where it is written as plain prose. Leave it unconnected and nothing steers the writing, which is how every graph without one behaves. It never decides how many shots there are or where they cut, and anything you state yourself wins over it: say 'a locked-off wide' and you get one whoever is directing. | |
| mediaopt | H3IR_MEDIA | Everything the video looks at or listens to, from an OpenH3-IR Media node: its pictures, clips and sounds, each one saying what it is. The names of its slots are what @ in the sentence above refers to. Leave it empty for a piece with no media at all. | |
| sizingopt | COMBO | max | match fits each picture to the render's pixel area. max keeps the picture's own size for stronger identity and is slower, because reference tokens ride every sampling step. |
| seedopt | INT | 70–72057594037927940 | The compiler is seeded, so the same inputs give the same brief. Change this for a different take on the same sentence. This is not the sampler's seed. |
| effortopt | COMBO | max | max asks the writer for reasoning prose and is slower. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| model | MODEL | Already the right H3 checkpoint for the job. Feed your LoRAs and sigma shift from here. |
| positive | CONDITIONING | — |
| latent | LATENT | Empty picture and sound latent, already the length the brief was written for. |
| vae | VAE | H3's video VAE for the decode, so the graph needs no loader boxes. |
| audio_vae | VAE | H3's audio VAE. |
| prompt | STRING | The compiled brief, to read or to keep. |
| report | STRING | What happened in plain words: the job, the real length, what each @ became, which slot became which picture, and every file loaded. |