Nodes/ComfyUI Seedance/Suno 音乐生成与处理(34 合 1)
ComfyUI Node

Suno 音乐生成与处理(34 合 1)

The 31-in-1 node that turns a whole music pipeline into one dropdown

By T8mars·Created 2 months ago·Updated 3 days ago· 31
Suno 音乐生成与处理(34 合 1)
  • audio1
  • audio2
  • audio3
  • audio4
  • api_config
  • audio5
  • audio6
  • audio7
  • audio8
  • audio9
  • audio10
  • audio11
  • audio12
  • audio13
  • audio14
  • audio15
  • audio16
  • audio17
  • audio18
  • audio19
  • audio20
  • audio21
  • audio22
  • audio23
  • audio24
  • audio1
  • audio2
  • video
  • text
  • primary_url
  • result_urls
  • primary_path
  • result_paths
  • task_id
  • response
  • model_id
operationsuno-generation
prompt
versionv6
customfalse
instrumentalfalse
title
style
vocal_genderunspecified
tags
name
task_id
task_id_2
audio_index1
continue_at30.0
start_s0.0
end_s30.0
duration_s5.0
speed1.00
audio_url1
audio_url2
audio_url3
audio_url4
skip_errorfalse
audio_url5
audio_url6
audio_url7
audio_url8
audio_url9
audio_url10
audio_url11
audio_url12
audio_url13
audio_url14
audio_url15
audio_url16
audio_url17
audio_url18
audio_url19
audio_url20
audio_url21
audio_url22
audio_url23
audio_url24
custom_model_id
gpt_description
negative_tags
style_weight0.50
weirdness0.50
audio_weight0.50
auto_lyricsfalse
persona_id
target_duration_s10
varietynormal
max_modefalse
audio_formatmp3
seed0

Suno doesn't have open weights - you will never download it, so the only way to get it into a ComfyUI graph is to call it. This node is that call, and then some: Suno_Music is a single node with an operation dropdown covering 31 documented Suno actions, from generation and lyrics to uploads, extend, cover, mashup, stems, sounds, voice creation, export, and analysis. The node's own test log claims all 31 reached their final success state, so the packaging is the real feature here: one node, one dropdown, a whole music API.

A note on what it actually is before you get excited. This is not Suno's official API wrapped by a ComfyUI partner node. Suno_Music lives in T8mars/ComfyUI_Seedance, a pack that talks to the author's own API aggregator (api.seedance.nz) - a Chinese reseller storefront that also proxies video, image, and audio models. That means you pay per call through that reseller, your audio and prompts leave your machine, and upstream moderation applies. Suno is closed and censored at the source; nothing the node does bypasses that. If your goal is local, controllable music, the community's actual answer is ACE-Step, which runs on a potato GPU and is where people go for instrumentals. Reach for this node when you specifically want Suno-quality vocals and lyrics inside a workflow.

How it works

Pick an operation and the node redraws itself to show only the fields that action uses. Generation (suno-generation) posts to /v1/music/generations; the rest hit /v1/music/generations/{action} and then poll the task until it finishes. Local AUDIO references get uploaded automatically - no image hosting or public URL needed on your end, though each audio_url slot accepts a public URL instead if you have one. The really useful bit is task chaining: the task_id output plugs straight into the next Suno node, so extend/cover/stems/export workflows are just nodes wired end to end.

Inputs and outputs that matter

  • operation - the whole node. suno-generation, suno-lyrics, suno-upload, suno-extend, suno-cover-song, suno-inspo, suno-mashup, suno-upsample-tags, suno-sounds, suno-create-voice, suno-stems, and 19 more.
  • prompt - the prompt, lyrics, or edit instruction for the current action.
  • version - v3.5 through v5.5; only sent when the action supports it.
  • task_id / task_id_2 - chain from a previous Suno node; the second one is for mashup.
  • audio1audio4 / audio_url1audio_url4 - reference audio for upload, create-voice, or inspo. Import sources need at least 6 seconds, and don't fill a local audio and a URL in the same slot.
  • custom (custom lyrics), instrumental, title, style, vocal_gender, tags, name, continue_at, start_s/end_s, duration_s, speed - all action-specific; the node hides the ones that don't apply.

Outputs: audio1/audio2 (decoded AUDIO), video (for the mp4-type actions), text (lyrics, tags, or analysis), primary_url/result_urls and primary_path/result_paths for every result, task_id for chaining, and response with the full JSON.

Install and setup

Same as every node in this pack - install once and you have all of them:

# ComfyUI Manager: search "ComfyUI Seedance" or "seedance", or:
comfy node install seedance

Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/ComfyUI_Seedance.git
cd ../.. && python -m pip install -r custom_nodes/ComfyUI_Seedance/requirements.txt

The only real dependency is requests. Then grab an API key from api.seedance.nz/console and wire it in - add a Seedance API Config node and connect its api_config output, or set SEEDANCE_API_KEY before launching ComfyUI.

Where people get burned

The two classic ones are forgetting the 6-second minimum on uploaded source audio, and assuming cover/mashup/sample/add-* actions run without a prompt - they don't. Mashup specifically needs two task_ids. And remember the economics: every run is a metered API call, so a 31-action music pipeline is a credit-burner by design. Keep skip_error handy for batch runs - on failure it hands back placeholder audio and an error response instead of killing the whole queue.

CategorySeedance

Inputs (81)

NameTypeDefaultDescription
operationCOMBOsuno-generationSelect one documented Suno action. | 选择 Suno 操作。
promptSTRINGPrompt, lyrics, or edit instruction for the selected action. | 当前操作使用的提示词、歌词或编辑说明。
versionCOMBOv6Sent only when the selected action supports this version. | 仅在当前操作支持时发送。
customBOOLEANfalseGeneration custom-lyrics mode. | 自定义歌词模式。
instrumentalBOOLEANfalseGeneration without vocals. | 生成纯伴奏。
titleSTRINGOptional generation title. | 可选曲名。
styleSTRINGOptional generation style. | 可选音乐风格。
vocal_genderCOMBOunspecifiedOptional generation vocal preference. | 可选人声偏好。
tagsSTRINGStyle tags for upsample-tags. | 需要扩写的风格标签。
nameSTRINGPersona name. | Persona 名称。
task_idSTRINGSource Suno task id; connect a previous Suno node. | 源任务 ID,可连接前一个 Suno 节点。
task_id_2STRINGSecond source task id for mashup. | 混合作品的第二个任务 ID。
audio_indexINT11–21474836471-based source track index. | 从 1 开始的音轨序号。
continue_atFLOAT30.0Extend from this second. | 从该秒数开始续写。
start_sFLOAT0.0Start second for range actions. | 时间范围起点。
end_sFLOAT30.0End second for range actions. | 时间范围终点。
duration_sFLOAT5.0Fade duration in seconds. | 淡入或淡出时长。
speedFLOAT1.00Speed multiplier for adjust-speed. | 速度倍率。
audio1optAUDIOLocal audio reference 1; used by upload, create-model, upload-cover, upload-extend, create-voice, or inspo. | 本地音频素材 1;可用于导入、模型创建、翻唱、续写、音色或参考生成。
audio_url1optSTRINGPublic audio URL 1; do not fill together with audio1. | 公网音频 URL 1,不能与同槽本地音频同时使用。
audio2optAUDIOLocal audio reference 2; used by upload, create-model, upload-cover, upload-extend, create-voice, or inspo. | 本地音频素材 2;可用于导入、模型创建、翻唱、续写、音色或参考生成。
audio_url2optSTRINGPublic audio URL 2; do not fill together with audio2. | 公网音频 URL 2,不能与同槽本地音频同时使用。
audio3optAUDIOLocal audio reference 3; used by upload, create-model, upload-cover, upload-extend, create-voice, or inspo. | 本地音频素材 3;可用于导入、模型创建、翻唱、续写、音色或参考生成。
audio_url3optSTRINGPublic audio URL 3; do not fill together with audio3. | 公网音频 URL 3,不能与同槽本地音频同时使用。
audio4optAUDIOLocal audio reference 4; used by upload, create-model, upload-cover, upload-extend, create-voice, or inspo. | 本地音频素材 4;可用于导入、模型创建、翻唱、续写、音色或参考生成。
audio_url4optSTRINGPublic audio URL 4; do not fill together with audio4. | 公网音频 URL 4,不能与同槽本地音频同时使用。
api_configoptSEEDANCE_CONFIGConnect Seedance API Config; otherwise SEEDANCE_API_KEY is used.
skip_erroroptBOOLEANfalseReturn placeholders and an error response instead of stopping. | 失败时返回占位结果和错误信息,不中断批处理。
audio5optAUDIOAdditional create-model audio reference 5. | 创建自定义模型的附加音频素材 5。
audio_url5optSTRINGAdditional public create-model audio URL 5; do not fill together with audio5. | 创建模型公网音频 URL 5,不能与同槽本地音频同时使用。
audio6optAUDIOAdditional create-model audio reference 6. | 创建自定义模型的附加音频素材 6。
audio_url6optSTRINGAdditional public create-model audio URL 6; do not fill together with audio6. | 创建模型公网音频 URL 6,不能与同槽本地音频同时使用。
audio7optAUDIOAdditional create-model audio reference 7. | 创建自定义模型的附加音频素材 7。
audio_url7optSTRINGAdditional public create-model audio URL 7; do not fill together with audio7. | 创建模型公网音频 URL 7,不能与同槽本地音频同时使用。
audio8optAUDIOAdditional create-model audio reference 8. | 创建自定义模型的附加音频素材 8。
audio_url8optSTRINGAdditional public create-model audio URL 8; do not fill together with audio8. | 创建模型公网音频 URL 8,不能与同槽本地音频同时使用。
audio9optAUDIOAdditional create-model audio reference 9. | 创建自定义模型的附加音频素材 9。
audio_url9optSTRINGAdditional public create-model audio URL 9; do not fill together with audio9. | 创建模型公网音频 URL 9,不能与同槽本地音频同时使用。
audio10optAUDIOAdditional create-model audio reference 10. | 创建自定义模型的附加音频素材 10。
audio_url10optSTRINGAdditional public create-model audio URL 10; do not fill together with audio10. | 创建模型公网音频 URL 10,不能与同槽本地音频同时使用。
audio11optAUDIOAdditional create-model audio reference 11. | 创建自定义模型的附加音频素材 11。
audio_url11optSTRINGAdditional public create-model audio URL 11; do not fill together with audio11. | 创建模型公网音频 URL 11,不能与同槽本地音频同时使用。
audio12optAUDIOAdditional create-model audio reference 12. | 创建自定义模型的附加音频素材 12。
audio_url12optSTRINGAdditional public create-model audio URL 12; do not fill together with audio12. | 创建模型公网音频 URL 12,不能与同槽本地音频同时使用。
audio13optAUDIOAdditional create-model audio reference 13. | 创建自定义模型的附加音频素材 13。
audio_url13optSTRINGAdditional public create-model audio URL 13; do not fill together with audio13. | 创建模型公网音频 URL 13,不能与同槽本地音频同时使用。
audio14optAUDIOAdditional create-model audio reference 14. | 创建自定义模型的附加音频素材 14。
audio_url14optSTRINGAdditional public create-model audio URL 14; do not fill together with audio14. | 创建模型公网音频 URL 14,不能与同槽本地音频同时使用。
audio15optAUDIOAdditional create-model audio reference 15. | 创建自定义模型的附加音频素材 15。
audio_url15optSTRINGAdditional public create-model audio URL 15; do not fill together with audio15. | 创建模型公网音频 URL 15,不能与同槽本地音频同时使用。
audio16optAUDIOAdditional create-model audio reference 16. | 创建自定义模型的附加音频素材 16。
audio_url16optSTRINGAdditional public create-model audio URL 16; do not fill together with audio16. | 创建模型公网音频 URL 16,不能与同槽本地音频同时使用。
audio17optAUDIOAdditional create-model audio reference 17. | 创建自定义模型的附加音频素材 17。
audio_url17optSTRINGAdditional public create-model audio URL 17; do not fill together with audio17. | 创建模型公网音频 URL 17,不能与同槽本地音频同时使用。
audio18optAUDIOAdditional create-model audio reference 18. | 创建自定义模型的附加音频素材 18。
audio_url18optSTRINGAdditional public create-model audio URL 18; do not fill together with audio18. | 创建模型公网音频 URL 18,不能与同槽本地音频同时使用。
audio19optAUDIOAdditional create-model audio reference 19. | 创建自定义模型的附加音频素材 19。
audio_url19optSTRINGAdditional public create-model audio URL 19; do not fill together with audio19. | 创建模型公网音频 URL 19,不能与同槽本地音频同时使用。
audio20optAUDIOAdditional create-model audio reference 20. | 创建自定义模型的附加音频素材 20。
audio_url20optSTRINGAdditional public create-model audio URL 20; do not fill together with audio20. | 创建模型公网音频 URL 20,不能与同槽本地音频同时使用。
audio21optAUDIOAdditional create-model audio reference 21. | 创建自定义模型的附加音频素材 21。
audio_url21optSTRINGAdditional public create-model audio URL 21; do not fill together with audio21. | 创建模型公网音频 URL 21,不能与同槽本地音频同时使用。
audio22optAUDIOAdditional create-model audio reference 22. | 创建自定义模型的附加音频素材 22。
audio_url22optSTRINGAdditional public create-model audio URL 22; do not fill together with audio22. | 创建模型公网音频 URL 22,不能与同槽本地音频同时使用。
audio23optAUDIOAdditional create-model audio reference 23. | 创建自定义模型的附加音频素材 23。
audio_url23optSTRINGAdditional public create-model audio URL 23; do not fill together with audio23. | 创建模型公网音频 URL 23,不能与同槽本地音频同时使用。
audio24optAUDIOAdditional create-model audio reference 24. | 创建自定义模型的附加音频素材 24。
audio_url24optSTRINGAdditional public create-model audio URL 24; do not fill together with audio24. | 创建模型公网音频 URL 24,不能与同槽本地音频同时使用。
custom_model_idoptSTRINGCustom model UUID returned by create-model; version and persona_id are omitted when used. | 创建模型返回的 UUID;使用时不发送 version 和 persona_id。
gpt_descriptionoptSTRINGRequired inspiration description for upload-cover when custom is false, up to 3000 characters. | upload-cover 非自定义模式的灵感描述,最多 3000 字符。
negative_tagsoptSTRINGStyles to avoid. | 不希望出现的风格。
style_weightoptFLOAT0.500–1Style weight from 0 to 1. | 风格权重,范围 0-1。
weirdnessoptFLOAT0.500–1Creativity weight from 0 to 1. | 创意度,范围 0-1。
audio_weightoptFLOAT0.500–1Audio weight from 0 to 1. | 音频权重,范围 0-1。
auto_lyricsoptBOOLEANfalseRewrite the supplied lyrics. | 对输入歌词进行二次创作。
persona_idoptSTRINGOptional Persona ID; mutually exclusive with custom_model_id. | 可选 Persona ID,不能与 custom_model_id 同时使用。
target_duration_soptINT1010–360Target duration from 10 to 360 seconds. | 目标时长 10-360 秒。
varietyoptCOMBOnormalV6 style variation level. | V6 风格变化程度。
max_modeoptBOOLEANfalseEnable Max mode where supported. | 在支持的操作中启用 Max 模式。
audio_formatoptCOMBOmp3Generated audio format. | 生成音频格式。
seedoptINT00–18446744073709550000ComfyUI cache seed. Fixed reuses the cached result while all other inputs stay unchanged; randomize/increment/decrement starts a new execution. This value is not sent to models without documented seed support. | ComfyUI 缓存种子;Fixed 在其他输入不变时复用缓存,随机、递增或递减会触发新任务。未声明支持 seed 的模型不会收到此参数。

Outputs (11)

NameTypeDescription
audio1AUDIO
audio2AUDIO
videoVIDEO
textSTRING
primary_urlSTRING
result_urlsSTRING
primary_pathSTRING
result_pathsSTRING
task_idSTRING
responseSTRING
model_idSTRING