PoYo Generate Audio
Cloud audio generation with a real AUDIO socket on the far side
- audio
- audio
- task_id
- response_json
Most of the pack's generation nodes hand you back a string or a file path. This one is different: type a prompt, and a real AUDIO socket comes out the far side, ready to wire into playback, a video node, or whatever ComfyUI frontend you're using. The audio itself is made on PoYo's servers - the node is the remote control, not the sound card.
You'd reach for it for the usual API-node reasons: the audio model you want isn't something you can run locally, or you just don't want to babysit an audio pipeline for a one-off voiceover, sound effect, or music cue. The same honest tradeoffs apply as the pack's image node - per-call cost, your prompt and any input audio leaving the machine, and the hosted model's content policy applied with no local bypass.
How it works. Pick a model from the dropdown (populated from PoYo's catalog, cached 15 minutes), type your prompt. If you connect an audio source to the optional AUDIO socket, the node converts it to WAV and uploads it before submitting - that's what turns the node from text-to-audio into audio-editing or style-transfer, and it's the "generation/editing" the pack advertises. Then it submits, polls until the task is finished, downloads the first audio URL from the result, and decodes the bytes back into a ComfyUI AUDIO structure (waveform plus sample rate). You get a progress bar while you wait, courtesy of the poll.
Inputs that matter. model and prompt are the ones you'll set. media_field defaults to audio_url - for audio that's the right key, so leave it unless a catalog model uses a different one. poll_interval (default 3s) and timeout (default 3600s, max 86400) govern the wait. The advanced model_id_override is there for when PoYo is unreachable at ComfyUI startup and the dropdown is stuck on (enter model ID below) - type the model ID directly instead. input_json takes any model-specific parameters that don't have widgets.
Outputs: audio (AUDIO), plus task_id and response_json (STRING) if you want to keep the job handle or inspect the raw reply.
Install. Needs ComfyUI 0.32.0+ (native node system). ComfyUI Manager (search "PoYo"), comfy node install poyo-nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/PoyoAPI/poyo-comfyui.git
then restart. Nothing to download - no models, and the pack declares no runtime dependencies beyond what ComfyUI already ships.
Where people get burned. The API key, first: set POYO_API_KEY (optionally POYO_BASE_URL) in your environment, or python -m poyo_nodes.configure writes it to ~/.poyo/comfyui.json. It's deliberately excluded from workflow JSON - don't paste it into a field. Second, a subtle one specific to audio: decoding the result uses ComfyUI's bundled media stack (PyAV), which ships with ComfyUI but can be missing or broken in odd custom installs - if the node fails right after finished with a decode error, that's the first thing to check. And since this is an early pack with no real community track record, give the source a skim before handing it a key; a node that carries a credential and calls the network by design is the exact shape the ecosystem has seen abused.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 1 options: (enter model ID below) | |
| prompt | STRING | — | |
| input_json | STRING | {} | — |
| media_field | STRING | audio_url | — |
| poll_interval | FLOAT | 31–60 | — |
| timeout | INT | 36001–86400 | — |
| audioopt | AUDIO | — | |
| model_id_overrideopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| task_id | STRING | — |
| response_json | STRING | — |