RL AI Render UI Core
The node that carries iClone's render settings into ComfyUI
- render_output_path
- frame_rate
- positive_prompt
- negative_prompt
- steps
- cfg
- seed
- denoise
- select_model
- audio_path
The name is a lie, and that's fine: RL AI Render UI Core doesn't render anything. It doesn't run a model, doesn't call an API, doesn't need a key. It's the front door of Reallusion's AI Render plugin - the open-beta feature that lets iClone 8 and Character Creator 4 pipe a render straight into ComfyUI and bring the result back. When you hit "render" in Reallusion's software, the plugin writes your output path, prompt, sampler settings, model choice and audio file into this node, and the node hands them out the other side for the rest of your graph to consume.
So think of it as a messenger, not a generator. Your actual image or video pipeline - checkpoint loader, sampler, VAE decode - lives downstream of it. What this node does is make the plugin's settings available as typed values your workflow can use.
How it works
Read the source and it's almost embarrassingly simple. It takes render_output_path and audio_path (relative paths, as the plugin hands them over), resolves them against ComfyUI's input folder via folder_paths.input_directory, checks the input file actually exists, and returns everything. The defaults are tuned for turning an existing render into a new frame, not for text-to-image: steps 8, cfg 1.0, denoise 0.5, frame_rate 12. Those are sensible img2img numbers, and they're the settings you'd normally be editing inside iClone rather than here.
One input behaves non-obviously: select_model takes a comma-separated string and the node silently uses only the first value. Handy if the plugin ever starts passing a list; annoying if you expected "a" and "b" to mean anything. It's typed AnyType on the way out, so it'll plug into whatever your workflow expects without whining about types.
The inputs that matter
- render_output_path - the frame or clip the plugin just produced. The one field that must point at a real file.
- positive_prompt / negative_prompt - your guidance, straight through.
- select_model - which checkpoint the plugin wants used.
- steps, cfg, seed, denoise - the sampler cluster. If you want the render to keep most of the original character, keep denoise low; this node defaults to 0.5, which is already a lot of change for a character sheet.
input_type and output_type (image/video) are accepted but not returned - they're metadata the plugin uses to decide what it sends. Nothing is lost in practice; you know whether you fed it a frame or a clip.
Outputs and where they go
All ten outputs come out as plain values: render_output_path (now absolute), frame_rate, both prompts, steps, cfg, seed, denoise, select_model, and audio_path. Wire the path into a Load Image or Load Video node, feed the prompts and sampler settings into your conditioning and KSampler, point audio_path at a Load Audio if you're syncing a talking head, and you've got a working AI Render workflow. If you're hand-building one without the plugin, you can literally type values into the node and drive it the same way.
Install
This is the easiest install in the pack because the whole pack is four nodes with no dependencies:
cd ComfyUI/custom_nodes
git clone https://github.com/reallusion/ComfyUI-Reallusion
Restart ComfyUI (or hit Refresh). There's no requirements.txt, so no pip install step and no model downloads - the nodes appear under the Reallusion category. ComfyUI Manager users can just search "Reallusion" and install it from there.
Gotchas
- Standalone it does nothing visible. It's a parameter carrier. Without the AI Render plugin (or a workflow you've built that consumes its outputs), it just echoes strings back at you - that's correct behavior, not a bug.
- The file must exist. If the referenced render isn't in ComfyUI's
inputdirectory, the node raisesFileNotFoundError: cannot find input file. The plugin handles placement; if you're wiring it manually, that's the usual failure. - The class name is bare
core. ComfyUI requires globally unique node class names, and a lowercasecoreis exactly the kind of name that collides if another pack ships a node with the same class. If ComfyUI complains about a duplicate node name after a big install, this is a plausible culprit.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| render_output_path | STRING | — | |
| input_type | COMBO | 2 options: image, video | |
| output_type | COMBO | 2 options: image, video | |
| frame_rate | INT | 121–120 | — |
| positive_prompt | STRING | — | |
| negative_prompt | STRING | — | |
| steps | INT | 81–10000 | — |
| cfg | FLOAT | 1.000–100 | — |
| seed | INT | 00–18446744073709550000 | — |
| denoise | FLOAT | 0.500–1 | — |
| select_model | STRING | — | |
| audio_path | STRING | — |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| render_output_path | STRING | — |
| frame_rate | INT | — |
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |
| steps | INT | — |
| cfg | FLOAT | — |
| seed | INT | — |
| denoise | FLOAT | — |
| select_model | * | — |
| audio_path | STRING | — |