Zhenzhen Suno Description
Describe a song in a sentence, get two versions of it
- audio1
- audio2
- audio_url1
- audio_url2
- prompt
- task_id
- response
- clip_id1
- clip_id2
- tags
- title
Suno's description mode is the laziest way to make a song that actually sounds like what you meant. You write a vibe instead of a spec - "a wistful synthwave track about a road trip that never happened" - and Suno's LLM fills in lyrics, structure, and arrangement from that one sentence. Comfly_suno_description is that feature as a ComfyUI node: description_prompt in, two finished AUDIO takes out, ready to save.
Like the rest of the Comfyui_Comfly pack it's a paid relay call to ai.comfly.chat - no local model, API key required, billed per generation.
What you set
description_prompt- the whole trick. Vague descriptions produce generic music; specific ones - genre, mood, tempo, instruments, lyrical theme - produce something you'd actually show a friend. This is the one input that determines whether the node feels magical or useless.title- your song title (can be empty, but a good one influences Suno's lyrics).version- v3.0 through v5 (default v4.5). Each maps to a different Suno backend under the hood (chirp-auk,chirp-bluejay,chirp-crowfor the modern ones).make_instrumental- flip this for a pure instrumental, no vocals.seed- set it to reproduce a take, since Suno otherwise rolls the dice every run.
What comes out
The classic Suno two-fer: audio1 and audio2 are both AUDIO objects (save via a core audio node or VHS), audio_url1/audio_url2 the hosted links, clip_id1/clip_id2 ready to feed into Comfly_suno_cover or Comfly_suno_upload_extend. Uniquely, this node also echoes back the prompt it actually used, plus the tags and title Suno settled on - handy if you want to see how the description mode interpreted your sentence. task_id and response for tracking and errors.
Install
ComfyUI Manager → search "Comfyui_Comfly" → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ainewsto/Comfyui_Comfly
API key from ai.comfly.chat into the optional apikey field; it's stored in the pack's Comflyapi.json and reused by the other nodes.
Where people get burned
The failure mode is all upstream of the node: a thin description_prompt gets you a thin song, and you'll re-run it four times chasing a good one (each run costs a little). Write the prompt like a director's note, not a haiku. Also remember both takes are generated together - if the first one slaps and the second is trash, don't re-run the whole node; just use audio1. And because the whole thing rides the relay, a refund-on-failure is the extent of the safety net if the service hiccups mid-generation. Treat it as a jukebox with opinions: describe, generate, keep the good take.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| title | STRING | — | |
| description_prompt | STRING | Suno V6 系列最多 5000 字符。 | |
| version | COMBO | v5.5 | 10 options: v3.0, v3.5, v4, v4.5, v4.5+, v5, +4 |
| seed | INT | 00–2147483647 | — |
| make_instrumental | BOOLEAN | false | — |
| apikeyopt | STRING | — | |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| audio1 | AUDIO | — |
| audio2 | AUDIO | — |
| audio_url1 | STRING | — |
| audio_url2 | STRING | — |
| prompt | STRING | — |
| task_id | STRING | — |
| response | STRING | — |
| clip_id1 | STRING | — |
| clip_id2 | STRING | — |
| tags | STRING | — |
| title | STRING | — |