Get Sampler Data (Texturaizer)
Every sampling dial Blender set, as a ready-to-wire bundle
- data_optional
- seed
- cfg
- sampler
- scheduler
- steps
- denoise
- adv steps
- adv steps start
- batch size
- use empty latent
- noise mode
- data_hash
This is the busiest node in the Texturaizer pack, and it deserves to be: it's the entire sampler settings block from your Blender scene, unpacked into one pile of outputs. Get Sampler Data reads the seed, CFG, sampler, scheduler, steps, denoise, and batch settings out of data/ai_data.json and hands them to you as native ComfyUI types - so you can either feed them straight into the pack's own KSamplerAdvanced (Texturaizer) or wire them into any stock sampler.
Texturaizer is a Blender addon (paid, Gumroad, by Luke Kratsios / LatentSpaceDirective) that exports per-object data and render passes to ComfyUI; these nodes are the free open-source side of that pipeline. This one is the read-half of the sampling story.
The outputs that matter
Eleven values plus a hash. You'll mostly care about these:
seed(INT) andcfg(FLOAT) - straight from the scene.samplerandscheduler(both*) - the names, e.g.euler_ancestral,karras. They're typed asanyso they'll plug into whatever sampler node you're using.steps(INT) anddenoise(FLOAT).adv stepsandadv steps start(INT) - the "advanced" start/end step window, straight out of the JSON (step_start/step_end). For a normal full-denoise render,adv stepsequalsstepsand start is 0.batch size(INT),use empty latent(BOOLEAN), andnoise mode(GPU(=A1111) / CPU).data_hash(STRING) - the change-detection hash.
The mechanism
Under the hood it's the same pattern as every Get * Data node: read data/ai_data.json from the given directory (or the Set Global Dir fallback), then parse_sampler_data() pulls the relevant keys out of scene_info with sensible defaults if they're missing (euler, normal, 20 steps, CFG 4, denoise 1.0). The data_hash is an MD5 of the whole bundle and feeds IS_CHANGED, so when you tweak a slider in Blender and re-export, the entire sampling side of your graph re-runs. No manual seed-syncing between Blender and ComfyUI.
Two inputs, same as the family: directory_optional (path or blank-for-global) and data_optional (a pre-read DICTIONARY to use instead of disk).
Why the bundle beats hand-wiring
If you've spent time in ComfyUI you know the drift problem: you set seed 42 in ComfyUI, then Blender exports seed 77, and your render subtly changes and you have no idea why. This node kills that class of bug because there's exactly one source of truth - the Blender scene - and every sampling parameter flows from it. If you want to override something for a test, don't fight the node; just add a node between the output and the sampler, or swap the input through a Switch Any when you need a fallback.
Install and the one real gotcha
Install the whole pack, once:
cd ComfyUI/custom_nodes
git clone https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer
or search "Texturaizer" in ComfyUI Manager. Dependencies are already in ComfyUI (torch, numpy, scipy, Pillow, torchvision) - nothing to download.
The gotcha: this node just reads settings. It doesn't sample anything, so the sampler/scheduler outputs are only as good as what's plugged in downstream. The pack's own KSamplerAdvanced is the natural home - it also wants an Impact Pack dependency (it routes sampling through RegionalSampler from ComfyUI-Impact-Pack), so if you're on a fresh install, grab Impact Pack too or the sampler will refuse to run. If you'd rather use the stock KSampler, this node's outputs plug in just fine.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| directory_optionalopt | STRING | — | |
| data_optionalopt | DICTIONARY | [object Object] | — |
Outputs (12)
| Name | Type | Description |
|---|---|---|
| seed | INT | Texturaizer JSON data. |
| cfg | FLOAT | Hash value for debugging purposes. |
| sampler | * | — |
| scheduler | * | — |
| steps | INT | — |
| denoise | FLOAT | — |
| adv steps | INT | — |
| adv steps start | INT | — |
| batch size | INT | — |
| use empty latent | BOOLEAN | — |
| noise mode | GPU(=A1111),CPU | — |
| data_hash | STRING | — |