Extensions/ꘇ Genereti
ComfyUI Extension

ꘇ Genereti

EARLY ALPHA - experimental classroom release. Experimental realtime live creative tools for ComfyUI: code (p5js,glsl), drawing, shaders, 2d operators, web audio, MIDI, lessons and performance timelines. Expect bugs and changing interfaces; back up workflows.

By languel·Created 28 days ago·Updated about 22 hours ago· 1
languel/genereti
Nodes108
On cloudLocal install
CategoryGenereti / Modular audio, Genereti / Inputs
Stars1
Updatedabout 22 hours ago

Nodes (108)

ꘇ mod.analyze

Turn whatever is playing into six numbers you can wire

Genereti / Modular audio
ꘇ mod.delay

The only feedback loop this audio graph will let you build

Genereti / Modular audio
ꘇ mod.drumkit

A kick, a snare and a hi-hat with no samples to download

Genereti / Modular audio
ꘇ mod.drumsequence

Drum patterns you type as 0s and 1s

Genereti / Modular audio
ꘇ mod.filter

The one node that makes a synth sound like a synth

Genereti / Modular audio
ꘇ mod.gain

A fader, a pan knob and a mute — and why you want one anyway

Genereti / Modular audio
ꘇ mod.lissajous

See your stereo image as an XY trace

Genereti / Modular audio
ꘇ mod.mixer

Four buses, solo buttons, one master

Genereti / Modular audio
ꘇ mod.output

Nothing makes sound until you press Start here

Genereti / Modular audio
ꘇ mod.scope

An oscilloscope for the patch you just built

Genereti / Modular audio
ꘇ mod.sequence

A 16-step melody you edit by typing digits

Genereti / Modular audio
ꘇ mod.spectrum

Frequency bins, not a waveform — and why that matters

Genereti / Modular audio
ꘇ mod.synth

A real polyphonic synth hiding inside a ComfyUI node

Genereti / Modular audio
ꘇ mod.transport

One clock to keep every sequencer honest

Genereti / Modular audio
ꘇ Webcam Capture

Get the camera in your laptop into the node graph

Genereti / Inputs
ꘇ chop.constant

One number, everywhere, changing never

Genereti / CHOP
ꘇ chop.expression

Sine waves, maths and a text box

Genereti / CHOP
ꘇ chop.gesture

Record a mouse drag once, replay it forever

Genereti / CHOP
ꘇ chop.lag

The one-knob fix for twitchy control signals

Genereti / CHOP
ꘇ chop.lfo

The oscillator that can count in bars instead of seconds

Genereti / CHOP
ꘇ chop.logic

Turn any signal into a hard yes or no

Genereti / CHOP
ꘇ chop.math

The CHOP you'll wire into half your numeric sockets

Genereti / CHOP
ꘇ chop.merge

Chop.merge doesn't mix signals — it stacks channels

Genereti / CHOP
ꘇ chop.midiin

Your MIDI controller as a ComfyUI control source

Genereti / CHOP
ꘇ chop.midiout

Send a signal back out to your synth or DAW

Genereti / CHOP
ꘇ chop.noise

Chop.noise is white noise, not the drifting fields you're picturing

Genereti / CHOP
ꘇ chop.oscillator

A waveform you can wire into any FLOAT socket

Genereti / CHOP
ꘇ chop.oscin

Get numbers in from TouchDesigner (same machine only)

Genereti / CHOP
ꘇ chop.oscout

Push your signal out to another app over UDP

Genereti / CHOP
ꘇ chop.select

Pick the one channel you actually meant

Genereti / CHOP
ꘇ chop.slope

How fast the value is changing, per second

Genereti / CHOP
ꘇ chop.speed

The integrator, and a free stopwatch

Genereti / CHOP
ꘇ chop.switch

Pick a source, or blend between two

Genereti / CHOP
ꘇ chop.totop

Look at your signals as an image

Genereti / CHOP
ꘇ dat.totop

A numeric table as a grayscale image

Genereti / DAT
ꘇ top.tochop

Read an image back as control data, on purpose

Genereti / TOP
ꘇ top.todat

Image pixels as a table you can point at

Genereti / TOP
ꘇ dat.cell

One number out of a table, wired to your parameter

Genereti / DAT
ꘇ dat.expression

Do maths across every cell in a table

Genereti / DAT
ꘇ chop.todat

Your signal, as a CSV you can actually read

Genereti / CHOP
ꘇ dat.inspect

ComfyUI has no print statement — ꘇ dat.inspect is the closest thing

Genereti / DAT
ꘇ dat.json

Turn a wall of JSON into something a graph can read

Genereti / DAT
ꘇ dat.lesson

Build a guided walkthrough of your own workflow

Genereti / DAT
ꘇ dat.merge

Stack two tables, and know that it's stacking, not joining

Genereti / DAT
ꘇ dat.replace

Bulk-rename cells, and mind the substring you didn't mean

Genereti / DAT
ꘇ dat.select

The row-and-column slice that makes tables useful

Genereti / DAT
ꘇ dat.switch

A/B your parameters, and blend them while you're at it

Genereti / DAT
ꘇ dat.table

Paste a CSV, get a table your graph can slice

Genereti / DAT
ꘇ dat.text

The one-line-per-row trick that makes text addressable

Genereti / DAT
ꘇ dat.tochop

Turn a CSV into control channels that drive your graph

Genereti / DAT
ꘇ dat.transpose

Flip your rows and columns without touching a spreadsheet

Genereti / DAT
ꘇ webview

A Markdown-and-math panel that lives inside your graph

Genereti / Interactive Sources
ꘇ drawing

Sketch a doodle in your graph and get image, mask and SVG out

Genereti / Interactive Sources
ꘇ image compare

Wipe two batches side by side without saving anything

Genereti / Streams
ꘇ Input Source

One image socket, three inputs, only one of them runs

Genereti / Inputs
ꘇ livecode

Write p5, GLSL or Three.js and get an IMAGE out of it

Genereti / Interactive Sources
ꘇ image preview

Look at your image without writing a preview file

Genereti / Streams
ꘇ 2D stream

Video, GIFs and images as a live source in the graph

Genereti / Streams
ꘇ chop.arpeggiator

An arp that follows whatever chord you feed it

Genereti / CHOP
ꘇ chop.drumkit

The end of the chain where your note signals become hits

Genereti / CHOP
ꘇ chop.note

One held note, as a wire you can plug into anything

Genereti / CHOP
ꘇ chop.sequencer

Type a melody as text, get control channels out

Genereti / CHOP
ꘇ chop.synth

The endpoint that makes the notes audible

Genereti / CHOP
ꘇ perception.events

Turn 'a person appears' into a trigger

Genereti / Perception
ꘇ perception.features

Pick the landmarks you actually want

Genereti / Perception
ꘇ perception.measures

Perception.measures

Genereti / Perception
ꘇ mediamime

Mediamime

Genereti / Perception
ꘇ mediapipe.stream

Pose, hands and face, running in your browser

Genereti / Perception
ꘇ perception.read

Turn one landmark into a number you can wire

Genereti / Perception
ꘇ perception.regions

Perception.regions

Genereti / Perception
ꘇ mediapipe.segments

A person mask and a cutout, straight from the browser

Genereti / Perception
ꘇ dat.monitor

Is it your graph or your browser that's slow?

Genereti / Performance
ꘇ performance probe

Find out what's actually on that wire

Genereti / Streams
ꘇ chop.quantize

Keep your notes in key without a music degree

Genereti / Performance
ꘇ mod.scale

Twelve numbers that keep a whole patch in key

Genereti / Performance
ꘇ chop.time

Every way you'll ever want to ask 'what time is it'

Genereti / Performance
ꘇ mod.timeline

The dock that turns a ComfyUI graph into a performance

Genereti / Performance
ꘇ poliplan

A drawing board that lives inside the graph

Genereti / Interactive Sources
ꘇ Projector

Get the picture off the ComfyUI canvas and onto a wall

Genereti / Output
ꘇ Window / Screen Capture

Share a window into ComfyUI, deliberately

Genereti / Inputs
ꘇ top.blobs

Give every bright blob an ID your visuals can follow

Genereti / TOP
ꘇ top.bloom

Glow in four passes, no diffusion model involved

Genereti / TOP
ꘇ top.channels

Build any mask from any image, in one node

Genereti / TOP
ꘇ top.cleanup

Resize and tidy pixels without touching a model

Genereti / TOP
ꘇ top.colormap

False-colour a mask in one node (yes, that viridis is a fake)

Genereti / TOP
ꘇ top.composite

Layer two images without a Photoshop round-trip (alpha intact)

Genereti / TOP
ꘇ top.convolve

Nine numbers, and every blur/sharpen/edge kernel you'll ever need

Genereti / TOP
ꘇ top.cornerpin

Stick a texture onto four points, perspective included

Genereti / TOP
ꘇ top.crop

Normalized crop that stretches back to full size — a zoom, not a trim

Genereti / TOP
ꘇ top.displace

Warp an image with a noise map (and why your map needs to hover near 0.5)

Genereti / TOP
ꘇ top.edge

Extract lines with Sobel, Scharr or Laplacian — no model involved

Genereti / TOP
ꘇ top.emboss

A directional relief effect, and it is not a depth map

Genereti / TOP
ꘇ top.expression

Write a tiny shader in a text box and get an image out

Genereti / TOP
ꘇ top.feedback

The smear trail node — and why Queue gives you nothing back

Genereti / TOP
ꘇ top.feedbackref

Reach back one frame from anywhere in the graph

Genereti / TOP
ꘇ top.filter

Seven quick effects in one node (watch the amount slider, though)

Genereti / TOP
ꘇ top.hsv

Rotate hue, push saturation, and the 0.5 trick that inverts a colour

Genereti / TOP
ꘇ top.key

Pull a green screen matte in ComfyUI, with despill built in

Genereti / TOP
ꘇ top.level

Eight knobs, one correct order, and why gamma isn't brightness

Genereti / TOP
ꘇ top.lookup

Gradient-map any image with your own ramp — LUTs without a LUT file

Genereti / TOP
ꘇ top.mask

Turn any ComfyUI MASK into real alpha (and keep it)

Genereti / TOP
ꘇ top.math

RGB arithmetic with a scalar or a second image — alpha survives

Genereti / TOP
ꘇ top.noise

1–4D Perlin/simplex/value noise with fBm, and it animates

Genereti / TOP
ꘇ top.opticalflow

It outputs a motion field, not a warped image

Genereti / TOP
ꘇ top.rgb

ꘇ top.rgb

Genereti / TOP
ꘇ top.switch

A Crossfade You Can Wire to a Signal

Genereti / TOP
ꘇ top.temporal

The Shimmer Killer That Does Nothing When You Hit Run

Genereti / TOP
ꘇ top.transform

Fractions, Not Pixels (and That's the Whole Trap)

Genereti / TOP
Readme

Genereti

Realtime creative coding and performance tools for ComfyUI. Build live visuals and sound with code, drawing, shaders, texture operators, signals, interactive lessons and timeline automation.

Super alpha — early classroom testing. Back up your workflows before updating. Expect bugs and changing interfaces.

Holistic demos share one provider across independent feature selections. The provider outputs a clean image and a separate diagnostic overlay; feature selection, named sets, box/paint picking and source underlays live in Features. All nodes appear under the Genereti catalog, and examples under Workflows → Genereti. See perception demos.

Student getting started

The standard classroom demos need no model downloads, separate model server, or extra node packs. The separately labeled optional MediaPipe demo downloads its browser runtime and selected task only when you request it. Use a recent ComfyUI installation and a modern browser; GPU texture demos require WebGPU support.

  1. Install ꘇ Genereti through Comfy's Extensions / Manager, then restart and refresh the browser. For a GitHub installation, stop Comfy and run this from your ComfyUI directory:

    git clone https://github.com/languel/genereti.git custom_nodes/genereti
    
  2. For GitHub installs, install the requirements using ComfyUI's Python. On a checkout with a .venv:

    ./.venv/bin/python -m pip install -r custom_nodes/genereti/requirements.txt
    

    See the installation guide for Windows, Portable, Desktop and existing installations.

  3. Restart ComfyUI and refresh its browser page.

  4. Open Workflows → Genereti or Templates → genereti. Start with ꘇ-Performance-Timeline; Alt+Shift+T opens the timeline. Audio starts explicitly on mod.output.

Continue with the student quickstart, shader, p5 and audiovisual tutorials, or demo list.

What is included

  • 2D stream and image compare: local files, video, animated GIFs and direct media URLs; live A/B wipe, side-by-side and difference viewing.
  • Webview: editable HTML, Markdown with local math/diagrams, plain text and embedded URL pages; unchanged text ports and interactive output controls.
  • Livecode: p5, GLSL/multibuffer shaders, Three.js, HTML and document rendering, with editable parameters.
  • Drawing and capture: interactive Excalidraw, explicitly started camera/screen sources, and image output views.
  • OpenTouch: top.* textures, chop.* signals and dat.* data/lessons.
  • Sound: mod.* browser instruments, effects, analysis and visualizers.
  • Performance: shared time, musical timing, scale, automation and a docked timeline.
  • Optional perception: globally named pose, hand, face and person-mask streams, numeric node readers and an interactive event-rule editor. See the browser perception guide.
  • Assistant: optional local/hosted provider connections; no assistant service is needed for the bundled demos.

See the node catalog, audio guide, performance guide and keyboard shortcuts.

AI inference is moving to GeneretiCore

Heavy model generation, conversion and model catalogs belong in the separate experimental GeneretiCore repository. It is not yet an installable replacement. Genereti's current classroom demos use the lightweight performance framework only.

Old standalone apps, inference packs, conversion scripts and model-dependent demos are preserved in the migration archive. They are unsupported here and excluded from the distributed package.

For contributors

  • integrations/: the supported Comfy node packs; the legacy archive is clearly separated.
  • example_workflows/: bundled templates shown by Comfy.
  • docs/: guides and design notes.
  • editor/ and web/vendor/: drawing editor source and its shared browser bundle.
  • scripts/, tests/ and distribution/: developer build, validation and packaging tools.

Canonical workflow sources remain in integrations/comfyui_genereti/workflows/; run python scripts/sync_comfy_templates.py after editing them. Students do not need npm or these build scripts.

Original Genereti code is MIT licensed. Dependencies retain their own licenses and notices; see licensing. Model weights, secrets and generated captures are not stored in this repository.