FAL MiniMax H3 Reference To Video (Soze)
Images, video and audio references in one clip
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image_9
- image_batch
- video_1
- video_2
- video_3
- audio_1
- audio_2
- audio_3
- video
- video_url
- status
MiniMax H3 is the odd one out in a good way: its reference-to-video endpoint doesn't just take images - it takes images and videos and audio. Up to nine images, three reference clips, three audio tracks, all feeding one generated video. FAL MiniMax H3 Reference To Video is the Soze pack's wrapper for exactly that, and it's the node to reach for when your video brief comes with source material of more than one kind.
Paid hosted API, same economics as the other FAL nodes here. Your references upload to fal, the model composites them into a clip, and the result downloads back into your graph as a VIDEO output.
How it works
The prompt is where the multi-modal magic gets wired together. Every reference is cited by plain name in the prompt: Image 1 through Image 9, Video 1 through Video 3, Audio 1 through Audio 3. So your prompt reads like "Image 1 shows the character; Video 1 is the camera movement; use the mood of Audio 2" - the model then has to reconcile all of it into one clip.
Inputs:
prompt- required, multiline, the citation hub.duration- integer seconds, 5–15.resolution-2Kor768P. 2K is the obvious default; 768P is the budget pick when the job doesn't need the pixels.aspect_ratio-adaptivematches your reference frames (usually the right answer), or pick21:9,16:9,4:3,1:1,3:4,9:16.- Reference slots: nine
image_Ninputs (or animage_batch, capped at nine), threevideo_Ninputs (each 2–15s, combined ≤ 15s), and threeaudio_Ninputs. Audio requires at least one image or video reference connected - you can't drive a clip from sound alone.
Outputs: video (the VIDEO tensor for ComfyUI's save/preview nodes), video_url (hosted, for sharing), and status. Live upload/submit/download progress streams on the node body.
When it's worth it
This is the node for source-heavy briefs: a character reference, an existing clip you want motion borrowed from, and a music track to set tone. It's also the only FAL node in this pack where audio is a first-class reference rather than a generated afterthought - if the sound matters, this is where that gets said. If all you have is images, the Kling reference variants are simpler; H3 earns its place when the material is mixed.
Getting it running and gotchas
Standard pack install, then the FAL_KEY:
cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt
FAL_KEY in your environment, a .env in the pack root, or config.ini under [API]. Missing it shows "FAL_KEY is not configured" on the node.
The gotchas that bite: citation typos - it's Image 1, not Image1, and the model matches those names literally, so a wrong convention means a reference that exists but never gets used. Reference video clips that together exceed 15 seconds get rejected by the API. And the audio-needs-visual rule: connect an image or video before you expect the audio slots to do anything.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Cite uploaded refs as 'Image 1'..'Image 9', 'Video 1'..'Video 3', 'Audio 1'..'Audio 3'. | |
| duration | INT | 55–15 | Clip length in seconds (5-15). |
| resolution | COMBO | 2K | 2 options: 2K, 768P |
| aspect_ratio | COMBO | adaptive | 'adaptive' matches the reference frames. |
| image_1opt | IMAGE | Reference image 1 (cite as 'Image 1'). Overrides image_batch when connected. | |
| image_2opt | IMAGE | Reference image 2 (cite as 'Image 2'). Overrides image_batch when connected. | |
| image_3opt | IMAGE | Reference image 3 (cite as 'Image 3'). Overrides image_batch when connected. | |
| image_4opt | IMAGE | Reference image 4 (cite as 'Image 4'). Overrides image_batch when connected. | |
| image_5opt | IMAGE | Reference image 5 (cite as 'Image 5'). Overrides image_batch when connected. | |
| image_6opt | IMAGE | Reference image 6 (cite as 'Image 6'). Overrides image_batch when connected. | |
| image_7opt | IMAGE | Reference image 7 (cite as 'Image 7'). Overrides image_batch when connected. | |
| image_8opt | IMAGE | Reference image 8 (cite as 'Image 8'). Overrides image_batch when connected. | |
| image_9opt | IMAGE | Reference image 9 (cite as 'Image 9'). Overrides image_batch when connected. | |
| image_batchopt | IMAGE | Optional IMAGE batch (capped at 9). Ignored if any image_N slot is connected. | |
| video_1opt | VIDEO | Reference video 1 (cite as 'Video 1'). 2-15s each, combined <= 15s. | |
| video_2opt | VIDEO | Reference video 2 (cite as 'Video 2'). 2-15s each, combined <= 15s. | |
| video_3opt | VIDEO | Reference video 3 (cite as 'Video 3'). 2-15s each, combined <= 15s. | |
| audio_1opt | AUDIO | Reference audio 1 (cite as 'Audio 1'). Requires >= 1 image or video. | |
| audio_2opt | AUDIO | Reference audio 2 (cite as 'Audio 2'). Requires >= 1 image or video. | |
| audio_3opt | AUDIO | Reference audio 3 (cite as 'Audio 3'). Requires >= 1 image or video. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_url | STRING | — |
| status | STRING | — |