Nodes/Jovimetrix/VALUE (JOV) 🧬
ComfyUI Node

VALUE (JOV) 🧬

The one value node to rule them all

By AmoranoΒ·Created 3 years agoΒ·Updated 12 months agoΒ· 396
VALUE (JOV) 🧬
  • πŸ…°οΈ
  • πŸ‡½
  • πŸ‡Ύ
  • πŸ‡Ώ
  • πŸ‡Ό
  • πŸ…°οΈπŸ…°οΈ
  • πŸ…±οΈπŸ…±οΈ
  • πŸ¦„
  • πŸ‡½
  • πŸ‡Ύ
  • πŸ‡Ώ
  • πŸ‡Ό
◄❓BOOLEANβ–Ί
β—„seed0β–Ί
β—„πŸ“β–Ί

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.

CategoryJOVIMETRIX πŸ”ΊπŸŸ©πŸ”΅/CALC

Inputs (10)

NameTypeDefaultDescription
πŸ…°οΈopt*Passes a raw value directly, or supplies defaults for any value inputs without connections
❓optCOMBOBOOLEANTake the input and convert it into the selected type.
πŸ‡½optBOOLEAN,FLOAT,INT,VEC2,VEC3,VEC4,VEC2INT,VEC3INT,VEC4INT,COORD2D,COORD3D0X
πŸ‡ΎoptBOOLEAN,FLOAT,INT,VEC2,VEC3,VEC4,VEC2INT,VEC3INT,VEC4INT,COORD2D,COORD3D0Y
πŸ‡ΏoptBOOLEAN,FLOAT,INT,VEC2,VEC3,VEC4,VEC2INT,VEC3INT,VEC4INT,COORD2D,COORD3D0Z
πŸ‡ΌoptBOOLEAN,FLOAT,INT,VEC2,VEC3,VEC4,VEC2INT,VEC3INT,VEC4INT,COORD2D,COORD3D0Width
πŸ…°οΈπŸ…°οΈoptVEC40,0,0,0default value vector for A
seedoptINT00–9223372036854776000Random generator's initial value
πŸ…±οΈπŸ…±οΈoptVEC41,1,1,1default value vector for B
πŸ“optSTRINGString Entry

Outputs (5)

NameTypeDescription
πŸ¦„*β€”
πŸ‡½*β€”
πŸ‡Ύ*β€”
πŸ‡Ώ*β€”
πŸ‡Ό*β€”