RenderZero ComfyUI Nodes

ComfyUI custom nodes for RenderZero Studio image and video workflows.

Install

Clone this repo into your ComfyUI custom nodes directory, then restart ComfyUI.

cd ComfyUI/custom_nodes
git clone https://github.com/jamesstothard/renderzero-comfyui-nodes renderzero_bridge_nodes

Manual install also works: copy this repository folder into ComfyUI/custom_nodes/renderzero_bridge_nodes, then restart ComfyUI.

Nodes

  • RenderZero Prompt Bridge
    • Inputs: positive_prompt, aspect_ratio, image_size, seed
    • Supported image_size values: 480p, 720p, 1K, 2K, 4K
    • Outputs: positive_prompt, width, height, seed
  • RenderZero Video Prompt Bridge
    • Inputs: positive_prompt, aspect_ratio, resolution_tier, frame_count, frame_rate, seed
    • Supported resolution_tier values: 480p, 720p, 1080p
    • Outputs: positive_prompt, width, height, frame_count, frame_rate_int, frame_rate_float, seed
    • Video sizes are fixed to RenderZero's 16-divisible table, including Wan-safe 832x480 for 480p 16:9
  • RenderZero Video Start Frame Bridge
    • Input: image_slot
    • Output: raw IMAGE
    • Files are loaded from the ComfyUI input directory
    • Blank image_slot values raise a clear "start frame required" error
  • RenderZero Image Input
    • Inputs: slot_index, image_slot, target_width, target_height
    • Output: raw IMAGE
    • Files are loaded from the ComfyUI input directory
    • Preserves the uploaded image's native aspect ratio instead of padding it to the RenderZero canvas size
    • target_width and target_height remain for workflow compatibility only; do any resize, crop, or normalization downstream with normal ComfyUI nodes such as ImageScaleToTotalPixels or ImageScale
    • Use this node for anonymous/additional reference-image workflows where RenderZero uploads one image per slot_index
  • RenderZero Video Output
    • Input: video_payload
    • Output node that normalizes a connectable filename or path-like payload into a stable gifs history entry for RenderZero
    • Accepts filename/path-like outputs from upstream save/combine nodes such as VHS_VideoCombine.Filenames
    • Absolute paths must resolve inside the ComfyUI output directory
  • RenderZero Reference Bridge
    • Inputs: positive, negative, vae, character1_face, character1_outfit, character1_object, global_reference
    • Outputs: conditioned positive, conditioned negative
    • Blank filename inputs are skipped
    • Reference conditioning order is character1_face -> character1_outfit -> character1_object -> global_reference
    • Files are loaded from the ComfyUI input directory, so RenderZero uploads each populated slot before queueing the workflow
  • RenderZero Image Output
    • Input: images
    • Output node that saves the final image so RenderZero can fetch it from ComfyUI history

LoRAs are not part of the bridge-node contract. If you want LoRA support, add normal ComfyUI LoraLoader nodes to the workflow and export that graph in API format for RenderZero.

Workflow rules

  • Import the workflow into RenderZero using the ComfyUI API-format JSON, not the regular UI export.
  • Image workflows:
    • Must contain exactly one RenderZeroPromptBridge node
    • Must contain exactly one RenderZeroImageOutput node
    • May contain zero or one RenderZeroReferenceBridge node
    • Must not contain the video bridge nodes
  • Video workflows:
    • Must contain exactly one RenderZeroVideoPromptBridge node
    • Must contain exactly one RenderZeroVideoStartFrameBridge node
    • Must contain exactly one RenderZeroVideoOutput node
    • Must not contain the image bridge nodes
  • Do not mix the image and video RenderZero bridge contracts in the same workflow.
  • Image prompt-bridge outputs should feed your text encoder and any width/height inputs that need image dimensions.
  • Video prompt-bridge outputs should feed your video model's prompt, width, height, frame-count, frame-rate, and seed inputs as needed.
  • RenderZeroVideoOutput should be connected to one upstream save/combine filename output. RenderZero only reads the branch wired into that node.
  • Multiple video save/combine branches are allowed in one graph. Only the single branch connected to RenderZeroVideoOutput is treated as the RenderZero result.
  • For Wan workflows, connect your chosen VHS_VideoCombine Filenames output into RenderZeroVideoOutput.
  • If you use RenderZeroReferenceBridge in an image workflow, connect your positive and negative conditioning branches plus the VAE into it, then feed its outputs into the guider or sampler branch.
  • If you use RenderZeroImageInput, treat it like a raw upload loader. Preserve its output for reference fidelity, and do any explicit scaling or cropping with standard ComfyUI image nodes after it.
  • Slot mapping in RenderZero image workflows is fixed:
    • character1_face <- Character 1 Face
    • character1_outfit <- Character 1 Outfit
    • character1_object <- Character 1 Object
    • global_reference <- Global Reference
  • global_reference is optional. The workflow still runs when only face/outfit/object are populated, or when all four slots are blank.
  • Connect the final rendered image tensor into RenderZeroImageOutput for image workflows.
  • Connect the chosen video filename/path output into RenderZeroVideoOutput for video workflows.
S
Description
No description provided
Readme
31 KiB
Languages
Python 100%