Nodes/SunoComfyUI/Suno Submit Music (Ace Data Cloud)
ComfyUI Node

Suno Submit Music (Ace Data Cloud)

Suno Submit Music is a checkout counter, not a generator

By AceDataCloud·Created 3 days ago·Updated 2 days ago· 0
Suno Submit Music (Ace Data Cloud)
    • task_id
    • trace_id
    ◄promptA gentle instrumental piano melody for a sunrise.►
    ◄modelchirp-v6►
    ◄instrumentaltrue►

    Nothing is generated on your machine here. There's no model, no checkpoint, no VRAM, no CUDA version to argue about. Suno Submit Music (Ace Data Cloud) packs your prompt into an HTTP POST, charges your Ace Data Cloud account, and hands you back a string that is the only handle you have on a song that doesn't exist yet.

    That's the whole node. It's a checkout counter, and the receipt is the task_id output.

    Why you'd reach for it

    The KB's audio-generation.md lands on an uncomfortable split: the local music story is real - ACE-Step (open weights, co-built by ACE Studio and StepFun) generates music on a 4GB card, and people train LoRAs on it like checkpoint LoRAs - but instrumentals are its strength and vocals are its weak spot. The recurring complaint aimed at open and hosted song generators alike is the words. Meanwhile suno sits at roughly 1,177 threads in the community corpus through July 2026 and it's rising (88 in January, 99 in February), while the pack's own vendor name returns literally zero. Nearly everyone makes the song in a browser tab and drags the file back into their project by hand.

    This node deletes the tab-switching. That's the honest pitch: not better songs than ACE-Step, just a song with clean vocals, generated inside the graph, with the task ID flowing to the next node instead of through your clipboard.

    How it works

    The node calls Ace Data Cloud's fixed host, api.acedata.cloud, at /suno/audios, with action: generate and async: true. Your key is read from the process environment at call time and sent as a Bearer token; it is never written into the workflow JSON. Because a submission is billable, the client deliberately makes exactly one attempt - no retry loop. Read-only lookups elsewhere in the pack retry up to three times on a connection failure; this one doesn't, and that asymmetry is intentional.

    Async means what you'd expect: the API accepts the job and returns an ID. It is not a song.

    The inputs that matter

    • prompt - multiline, defaulting to A gentle instrumental piano melody for a sunrise. Treat it as a brief, not a wish. It is validated at 1–500 characters, and the limit bites before anything is sent. If you need a long style paragraph plus production notes, that's your cue to use Suno Generate Audios instead, which has no such cap.
    • model - a 10-item enum of chirp IDs: chirp-v6, chirp-v6-wild, chirp-v6-mini, chirp-v5-5, chirp-v5, chirp-v4-5-plus, chirp-v4-5, chirp-v4, chirp-v3-5, chirp-v3-0. Newer isn't automatically the right pick, but availability and price vary by account and by model, so check the console before you fall in love with a legacy ID. Default is chirp-v6.
    • instrumental - boolean, default true. Flip it off when you want vocals. This is the single most common "why is nobody singing" cause.

    Two outputs, both strings: task_id and trace_id. Wire task_id straight into Suno Retrieve Task. There is no audio output on this node at all - that's the pack's two-step design, and it's why a green queue entry proves nothing.

    Install

    Manager is the normal path: open Manager → Custom Nodes, search Suno, confirm publisher acedatacloud and package Suno by Ace Data Cloud (Registry ID ace-suno), install, restart. From source:

    cd /path/to/ComfyUI/custom_nodes
    git clone https://github.com/AceDataCloud/SunoComfyUI.git
    cd SunoComfyUI
    python -m pip install -r requirements.txt
    

    That requirements file is requests and jsonschema. That's it - no model downloads, no PyTorch build, no PyAV install (ComfyUI already ships PyAV for MP3 decoding). Set the key in the environment of the actual ComfyUI process and restart:

    export ACEDATACLOUD_API_KEY='paste-your-key-here'
    python main.py
    

    ComfyUI Desktop is its own process; an export in some unrelated terminal will not reach it. If your Ace application restricts API paths, allow /suno/audios, /suno/lyrics, /suno/tasks, and the specific /suno/... path of any other tool node you plan to use.

    When it goes wrong

    "Set ACEDATACLOUD_API_KEY in the ComfyUI process environment and restart." That's the exact error, and it means exactly that - the key is missing or blank in the process, not in your shell history.

    HTTP 401/403 from Ace Data Cloud covers several things at once: dead key, an application without Suno service access, a path restriction, or a content-policy refusal. Check the console rather than re-running.

    Submit timed out, or no task ID came back. This is the one to be careful with. A timeout does not mean the task wasn't accepted and billed. Go look at Ace's request history using the trace, and only submit again if there's nothing there. The node won't retry for you - that's a feature, but it means the judgement call is yours.

    429. Wait out the service limit. If a submission was accepted, keep polling that same task ID; don't re-submit to "refresh" it.

    The one habit that keeps this cheap: submit once, then poll with the retrieve node. Rerunning this node to check on a song is how people pay for four copies of the same track.

    CategoryAce Data Cloud/Suno

    Inputs (3)

    NameTypeDefaultDescription
    promptSTRINGA gentle instrumental piano melody for a sunrise.—
    modelCOMBOchirp-v610 options: chirp-v6, chirp-v6-wild, chirp-v6-mini, chirp-v5-5, chirp-v5, chirp-v4-5-plus, +4
    instrumentalBOOLEANtrue—

    Outputs (2)

    NameTypeDescription
    task_idSTRING—
    trace_idSTRING—