Nodes/Nova Audio Player/Nova Console ๐Ÿ–ฅ๏ธ
ComfyUI Node

Nova Console ๐Ÿ–ฅ๏ธ

The debugging node you'll end up using in every graph

By NovaFemmeยทCreated 20 days agoยทUpdated 2 days agoยท 0
Nova Console ๐Ÿ–ฅ๏ธ
  • value
  • text
โ—„labelโ–บ
โ—„print_to_server_logtrueโ–บ
โ—„max_lines0โ–บ

Every node in this pack that has something to say - a tag listing, a mastering report, a dataset review, a training log - says it by returning a console string. Somebody had to render that string somewhere. Nova Console ๐Ÿ–ฅ๏ธ is the somewhere, and it's the least glamorous node in the pack and the one you'll place most often.

It shows whatever you wire into it on the node face, and also writes it to the terminal ComfyUI is running in. That's it. That's the node.

Why it's more useful than it sounds

Two implementation details make it work where a generic text-preview node wouldn't.

The input is a wildcard type. Any output in ComfyUI can connect to it - strings, numbers, NOVA_FILES, NOVA_TABLE, JSON blobs. You don't need to know the type before you wire it.

INPUT_IS_LIST is on. Nova Batch Load Audio's filenames and Nova SQLite Reader's column_headers are list outputs. Without this flag ComfyUI would run the display node once per item, and you'd get twenty separate little boxes instead of one listing. With it, the whole list arrives at once and gets rendered as a single numbered block - which is actually how you want to read a folder listing.

Under the hood it renders supported structured types properly rather than dumping Python reprs at you: dicts and JSON come out as indented JSON, batch and table types get their own formatting.

Inputs and output

  • value - the thing. Anything.
  • label (optional) - printed above the value. Two consoles side by side in a graph with no labels is a special kind of confusion; use it.
  • print_to_server_log - on by default. Turn it off when you're debugging something in the browser and don't want the terminal scrolling.
  • max_lines - trim the display. 0 shows everything, which is fine until you point it at a dataset review with hundreds of warnings.

Output: text - the rendered string, so you can chain consoles, or feed a save node. It's a passthrough in spirit even though it's typed as STRING.

Install

ComfyUI Manager โ†’ Nova Audio Player โ†’ install โ†’ restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/NovaFemme/ComfyUI-NovaAudioPlayer.git

Then look under โ–ถ๏ธ Nova Audio โ†’ ๐Ÿ› ๏ธ Utility & IO. Zero dependencies, no models, no downloads. It's pure display.

Where it goes in a workflow

The pack's example workflows all use it the same way, and it's worth copying the habit:

Nova ACE Setup Check ๐Ÿฉบ โ”€โ”€ console โ”€โ”€โ–ถ Nova Console ๐Ÿ–ฅ๏ธ
Nova ACE Dataset Builder ๐Ÿงฑ โ”€โ”€ console โ”€โ”€โ–ถ Nova Console ๐Ÿ–ฅ๏ธ
Nova ACE LoRA Trainer ๐ŸŽ“ โ”€โ”€ console โ”€โ”€โ–ถ Nova Console ๐Ÿ–ฅ๏ธ
Nova Batch Load Audio ๐ŸŽผ โ”€โ”€ metadata โ”€โ”€โ–ถ Nova Console ๐Ÿ–ฅ๏ธ   (read the warnings)
Nova Tag Reader ๐Ÿ”– โ”€โ”€ console โ”€โ”€โ–ถ Nova Console ๐Ÿ–ฅ๏ธ

This is the plumbing layer doing what it's for: the interesting nodes emit text, and one dumb node renders it without making you leave the canvas to read a log file. If a node in this pack did something you didn't expect - a truncated dataset, a set of tensors that got skipped, a tag that didn't land - the console output is where the answer is, and this is how you read it.

The one genuinely opinionated tip: put a label on it. When you've got four of these on a training graph and one of them is complaining, you'll thank yourself.

Categoryโ–ถ๏ธ Nova Audio/๐Ÿ› ๏ธ Utility & IO

Inputs (4)

NameTypeDefaultDescription
value*Anything. Strings, numbers, NOVA_TABLE, NOVA_FILES, list outputs.
labeloptSTRINGPrinted above the value, to tell two consoles apart.
print_to_server_logoptBOOLEANtrueAlso write the text to the terminal ComfyUI is running in.
max_linesoptINT00โ€“100000Trim the display to this many lines. 0 = show everything.

Outputs (1)

NameTypeDescription
textSTRINGThe rendered text, so you can chain another console or a save node.