APZmedia: Voice Library List
The little list node that spares you from typos
- voice_list
APZmedia: Voice Library List is the pack's utility node, and its entire job is to stop you from guessing. Voice Library Loader takes a voice name as a plain text field - no dropdown, no autocomplete - so the fastest way to hit a FileNotFoundError in this pack is to type narator when you meant narrator. This node prints the library contents so you don't have to.
One input, one output: give it library_path (the same folder you use elsewhere; empty defaults to ComfyUI/output/apzmedia_voice_library/), and it returns a formatted STRING listing every voice - name, description, and a preview of the saved transcript. Wire it into any text display node (ComfyUI's built-in ShowText or similar) and you get something like:
Library: /path/to/apzmedia_voice_library
3 voice(s):
narrator - Warm, friendly narration for tutorials
ref: "Hello, this is a short reference line for vo…"
nervous_teen - Anxious, rushing, apologetic
It reads straight from the same metadata.json files the save node writes, so descriptions only show up if you wired them at save time - another good reason to bother with that field.
When to reach for it
Use it as a discovery tool when you're setting up a workflow: list your voices, copy the exact name you want, paste it into Voice Library Loader. Use it as a debug tool when the loader throws "Voice folder not found" - you'll get the available list either way, but having it visible in the graph is easier to stare at than a console error. If the library is empty or the path doesn't exist, it returns a friendly "No voices found" message instead of crashing.
One small behavior worth knowing: the node hashes the library listing and re-runs when it changes, so after you save a new voice, give the list a re-run rather than assuming it's stale. It won't refresh itself in place.
That's the whole node. It's not the headline act of this pack - it doesn't generate anything - but it's the difference between a smooth library workflow and one spent squinting at folder names. Install is the pack-wide clone (git clone https://github.com/APZmedia/ComfyUI-APZmedia-qwen-TTS into custom_nodes, restart); no model download needed for this one, since it never touches the GPU.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| library_path | STRING | Folder containing voice subfolders. Empty uses ComfyUI output/apzmedia_voice_library. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| voice_list | STRING | — |