Nodes/Comfyui-zhenzhen/Zhenzhen Suno Upload
ComfyUI Node

Zhenzhen Suno Upload

Feed your own audio into Suno, one signed S3 upload at a time

By T8mars·Created 12 months ago·Updated about 23 hours ago· 719
Zhenzhen Suno Upload
  • audio
  • clip_id
  • title
  • tags
  • lyrics
  • response
api_key
upload_filenameaudio.mp3
seed0
skip_errorfalse

The Suno nodes that remix or extend music need a starting point, and that starting point is a clip_id. Comfly_suno_upload is how you create one from audio you already have: it takes an AUDIO object from your ComfyUI graph, uploads it to Suno's storage through a presigned S3 flow, and returns a clip_id ready to feed into Comfly_suno_cover or Comfly_suno_upload_extend.

Under the hood it's a small dance: get an upload URL from the relay, encode your audio to MP3 with torchaudio, PUT it to a signed S3 bucket, then ping the status endpoint until the clip is initialized. It's the most mechanical node in the pack and it mostly just works - which is exactly what you want from an uploader.

Inputs and the one hard rule

  • audio - any AUDIO tensor from the canvas (a loaded track, a VHS output, whatever).
  • upload_filename - sets the extension; it drives what Suno thinks it's receiving, so leave it as audio.mp3 unless you know better.
  • seed - reproducibility (doesn't affect the upload itself).
  • api_key - optional, as always.

The rule that bites: the README says uploaded audio must be between 6 and 60 seconds. Too short and Suno refuses to initialize the clip; too long and it truncates or errors. Trim before you upload, not after. Anything you generated in this pack that's longer than a minute needs cutting down first.

Outputs

clip_id is the one you care about - pipe it into the cover_clip_id input of Comfly_suno_cover or the clip_id of Comfly_suno_upload_extend. It also returns title, tags, and lyrics read back from the clip's metadata (often empty for a fresh upload, don't panic), plus response for the JSON status and any error.

Install

Same pack, same dance:

cd ComfyUI/custom_nodes
git clone https://github.com/ainewsto/Comfyui_Comfly

or ComfyUI Manager → search "Comfyui_Comfly" → install → restart. API key from ai.comfly.chat in the optional api_key field, persisted to Comflyapi.json.

Where people get burned

Two things. First, the 6–60s window - the node does not validate it for you, and an out-of-range file fails deep in the pipeline with a generic error in response. Second, the cross-account problem the README calls out explicitly: a clip you upload yourself may not work as a cover source when the request runs under a different account token. If a cover comes back empty after a successful upload, that's almost certainly it. And since this is a relay pack, the whole upload path depends on the service being up - a failed presigned URL means retry the node, not your local stack. It's fiddly at the edges, but the flow is genuinely nice when it lines up: your audio in, clip_id out, remix heaven after.

Categoryzhenzhen/Suno

Inputs (5)

NameTypeDefaultDescription
audioAUDIO
api_keyoptSTRING
upload_filenameoptSTRINGaudio.mp3
seedoptINT00–2147483647
skip_erroroptBOOLEANfalse开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。

Outputs (5)

NameTypeDescription
clip_idSTRING
titleSTRING
tagsSTRING
lyricsSTRING
responseSTRING