VALUE (JOV) π§¬
The one value node to rule them all
- π °οΈ
- π½
- πΎ
- πΏ
- πΌ
- π °οΈπ °οΈ
- π ±οΈπ ±οΈ
- π¦
- π½
- πΎ
- πΏ
- πΌ
VALUE (JOV) is Jovimetrix's answer to the boring-but-critical job of supplying numbers to a graph: it's a value source, a type converter and a bounded randomizer in one node, and once it clicks you'll reach for it constantly. The whole pitch is in the tooltip on the first input - it "passes a raw value directly, or supplies defaults for any value inputs without connections." In plain English: you can leave inputs empty and it feeds in sensible defaults, or you can wire in a real value and it passes it through, optionally reshaped into whatever type you asked for.
How it works
The node is built around a type conversion dropdown and four numeric channels (X, Y, Z, W). Whatever comes in - from a raw input, from the X/Y/Z/W fields, or from its built-in default vectors - gets converted to the type you pick in Type (β): BOOLEAN, FLOAT, INT, VEC2, VEC3, VEC4 (plus integer vector variants, COORD2D, STRING and LIST). Each of X, Y, Z, W is itself a numeric input that can be fed from anywhere, so it works equally well as a constant source and as a pass-through for animated values.
The genuinely clever bit is the randomizer. There are two default vectors: DEFAULT_A (π °οΈπ °οΈ) and DEFAULT_B (π ±οΈπ ±οΈ), both VEC4s. Set a nonzero seed and the node stops being a constant and becomes a bounded random generator - it picks a random value for each channel between the A value (min) and the B value (max). Same seed, same result every time, so your "random" values stay reproducible across runs. That single feature replaces what most people build with three or four nodes.
The inputs that matter
- Input (π °οΈ) - the raw value. Leave unconnected to use defaults; connect it to pass values through.
- Type (β) - what to convert everything into. This is the switch that makes the node a universal translator between ComfyUI types.
- X / Y / Z / W (π½πΎπΏπΌ) - the channel values. The 4th is labeled "Width" in the schema (a quirk), but it behaves like the W channel of a vector.
- DEFAULT_A / DEFAULT_B - the fallback values, and the min/max bounds when you're randomizing.
- seed - 0 for no randomization; any other value enables the bounded randomizer.
- String (π) - a text entry, useful when you're converting to STRING.
Outputs
Five outputs, all with the any-type wildcard: π¦ (the converted value itself) and X, Y, Z, W (the individual components). That's the real gift - you can grab the whole vector for a Jovimetrix node that wants a VEC4, or tap the X output alone and feed it into a sampler or a wave driver.
Install
It's core Jovimetrix: git clone https://github.com/Amorano/Jovimetrix.git into ComfyUI/custom_nodes, then pip install -r requirements.txt (on the Windows portable build: .\python_embed\python.exe -s -m pip install -r requirements.txt), or search "Jovimetrix" in ComfyUI Manager. No models, no API keys. Needs Python 3.10+ and a recent ComfyUI.
The one trap: because the Type dropdown changes the meaning of the outputs, it's easy to forget a node downstream was wired expecting a float and you've switched to a VEC2. When something downstream starts throwing type errors, check VALUE's Type first - it's almost always the culprit. Otherwise this is one of the least fiddly nodes in the pack, and the randomizer alone is worth the install.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| π °οΈopt | * | Passes a raw value directly, or supplies defaults for any value inputs without connections | |
| βopt | COMBO | BOOLEAN | Take the input and convert it into the selected type. |
| π½opt | BOOLEAN,FLOAT,INT,VEC2,VEC3,VEC4,VEC2INT,VEC3INT,VEC4INT,COORD2D,COORD3D | 0 | X |
| πΎopt | BOOLEAN,FLOAT,INT,VEC2,VEC3,VEC4,VEC2INT,VEC3INT,VEC4INT,COORD2D,COORD3D | 0 | Y |
| πΏopt | BOOLEAN,FLOAT,INT,VEC2,VEC3,VEC4,VEC2INT,VEC3INT,VEC4INT,COORD2D,COORD3D | 0 | Z |
| πΌopt | BOOLEAN,FLOAT,INT,VEC2,VEC3,VEC4,VEC2INT,VEC3INT,VEC4INT,COORD2D,COORD3D | 0 | Width |
| π °οΈπ °οΈopt | VEC4 | 0,0,0,0 | default value vector for A |
| seedopt | INT | 00β9223372036854776000 | Random generator's initial value |
| π ±οΈπ ±οΈopt | VEC4 | 1,1,1,1 | default value vector for B |
| πopt | STRING | String Entry |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| π¦ | * | β |
| π½ | * | β |
| πΎ | * | β |
| πΏ | * | β |
| πΌ | * | β |