Nodes/ComfyUI-Texturaizer/Get Image Data (Texturaizer)
ComfyUI Node

Get Image Data (Texturaizer)

Pull Blender's base, depth, normal, edge and segment render passes

By LatentSpaceDirective·Created 2 years ago·Updated 8 months ago· 21
Get Image Data (Texturaizer)
  • data_optional
  • base
  • segment active
  • depth
  • normal
  • edge
  • segment obj
  • segment mat
  • data_hash
directory_optional

This is the node that hands you Blender's multi-pass render, split into seven separate image outputs. Texturaizer's own pitch is "seamless background rendering" and "granular prompt control" driven by Blender auto-generating render passes and shipping them to ComfyUI - this node is where those passes actually land on the ComfyUI side, ready to plug into a ControlNet stack, a mask, or the base image you're transforming.

How it works

Blender renders a scene through several passes at once - the plain color render, plus geometry/utility passes that spatial-conditioning techniques like ControlNet are built to consume - and Texturaizer bundles them into one export. This node reads that bundle (from directory_optional, the addon's global directory if left blank, or an already-loaded dictionary via data_optional) and splits it into typed image outputs, one per pass, so you can wire each into whatever it's meant for without hand-parsing a dictionary yourself.

The outputs that matter

Seven image outputs, each with its own tooltip:

  • base - "Base image." The plain color render - your starting point, or your reference image for an image-to-image pass.
  • segment active - "Active Segment image." A flat-color pass isolating whatever's currently the active selection in Blender.
  • depth - "Depth pass." Feeds a depth ControlNet directly - no separate depth-estimation preprocessor node needed in ComfyUI, since Blender already knows the real depth of everything in the scene.
  • normal - "Normal pass." Surface-direction data, for a normals ControlNet or relighting-style workflows.
  • edge - "Edge pass." An edge map, the Blender-rendered equivalent of a canny preprocessor's output.
  • segment obj - "Object segment image." A flat-color ID pass, one color per object - this is the kind of image Texturaizer_CombinedConditioningFromColors is built to read for per-object regional prompting.
  • segment mat - "Material segment image." Same idea, one flat color per material instead of per object - useful when you want regional prompts to follow material assignment rather than object boundaries.

Plus the standard data_hash, debug-only per the tooltip.

The genuinely useful thing here is that depth, normal and edge arrive already computed by Blender, which knows the actual 3D geometry - you're not running ComfyUI-side preprocessors (MiDaS, a canny node, a normal estimator) to approximate what a 2D image estimator thinks the geometry might be. You get the ground truth for free.

Installing it

ComfyUI Manager → search Texturaizer → Install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer

then restart ComfyUI. No dependencies beyond the pack itself - the passes are rendered by Blender, not generated by any model on the ComfyUI side.

Where people get burned

Not every render includes every pass - if you haven't enabled a given render pass in Blender's Texturaizer settings, the corresponding output here is likely to come back empty rather than erroring loudly, so a ControlNet that "isn't doing anything" is worth tracing back to whether the pass was actually rendered before you go looking anywhere else. And the segment passes are only as useful as the color separation Blender gave them - if segment obj or segment mat end up feeding Texturaizer_CombinedConditioningFromColors, check that guide's threshold field against how distinct your object or material colors actually are, especially with a lot of small or similarly-shaded objects in one scene.

CategoryTexturaizer

Inputs (2)

NameTypeDefaultDescription
directory_optionaloptSTRING
data_optionaloptDICTIONARY[object Object]

Outputs (8)

NameTypeDescription
baseIMAGEBase image
segment activeIMAGEActive Segment image
depthIMAGEDepth pass
normalIMAGENormal pass
edgeIMAGEEdge pass
segment objIMAGEObject segment image
segment matIMAGEMaterial segment image
data_hashSTRINGHash value for debugging purposes.