Nodes/SunoComfyUI/Suno Delete Persona (Ace Data Cloud)
ComfyUI Node

Suno Delete Persona (Ace Data Cloud)

Read the confirm box before you click Run

By AceDataCloud·Created 3 days ago·Updated 2 days ago· 0
Suno Delete Persona (Ace Data Cloud)
    • status
    • task_id
    • media_urls_json
    • first_media_url
    • result_json
    • trace_id
    ◄parameters_json{}►
    ◄persona_id►
    ◄user_id►
    ◄confirmfalse►

    This is the pack's one genuinely dangerous node, and the only reason it's worth its own page is that people misuse it in exactly one way: they queue it while tidying up, and it deletes something they wanted.

    Suno Delete Persona (Ace Data Cloud) removes a persona from your account. It's a DELETE against /suno/persona, which means there is no dry run, no undo, and no recycle bin. When you're done reading this, the useful thing to remember is that the confirmation toggle isn't decoration - the API contract classes this as destructive, and the pack refuses to send the request without it.

    Inputs

    • persona_id - required by the contract. The ID of the persona you're removing, which you'll have from the result_json of the create call (or from whatever you stored it in).
    • user_id - optional here. It's accepted as a query parameter; in practice the API identifies the owner from your key, so this is a belt-and-braces field you can leave empty.
    • confirm - boolean, default false. It has to be true, either here or as "confirm": true in the JSON.
    • parameters_json - the escape hatch for anything the widgets don't cover, validated against the published contract before the request goes out. Non-empty named fields override it; empty ones are omitted.

    Since this is a DELETE with a query-string ID rather than a body, parameters_json is mostly irrelevant - a rare case where a tool node's JSON box is genuinely optional.

    Outputs

    The six strings every tool node in this pack shares: status, task_id, media_urls_json, first_media_url, result_json, trace_id. A delete has no media, so media_urls_json will be an empty array and first_media_url an empty string. status and trace_id are your receipt; keep the trace ID if you're auditing what disappeared and when.

    Why the safety rail matters

    The pack's transport has one rule that applies everywhere and matters most here: billable or destructive requests are sent exactly once. Read-only queries retry up to three times on a dropped connection; everything else doesn't. So if the connection dies mid-delete, the node surfaces an error rather than re-sending - and you have to decide, by checking the console, whether the deletion landed. It probably did. That's the honest state of an HTTP delete and it's better than blind retries.

    The confirm gate exists for the same reason: it forces a decision instead of an accident. If you're building a workflow that tidies up personas on a schedule, the confirmation is a real friction and you'll want the JSON flag; if you're a human with a mouse and a mess, tick the box and mean it.

    Install

    Included in the pack. Manager → Custom Nodes → search Suno → publisher acedatacloud, 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
    

    requests and jsonschema, no models. Key in the environment of the ComfyUI process, not a random terminal - Desktop launches its own process and won't see your exports:

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

    When it goes wrong

    Set confirm to true to perform this deletion or archive operation. The gate, doing its job. Tick confirm on the node or add "confirm": true to parameters_json.

    persona_id is required. An empty ID. If you're piping it in from another node, check that node actually returned something - a blank upstream output is the usual reason.

    A 404-ish failure from the service. Usually means the persona is already gone, or the ID belongs to a different account. A follow-up list call (Suno List Personas) is the quickest way to find out which.

    HTTP 401/403. Key, path restriction, or service access. Deleting is not the moment to discover your Ace application expired.

    Connection failed ... Preserve any accepted task ID and inspect request history before resubmitting. That's the no-auto-retry rule talking. Check the console before you run it again - with a delete, "run it twice to be sure" is how you learn there was only one thing to delete.

    CategoryAce Data Cloud/Suno

    Inputs (4)

    NameTypeDefaultDescription
    parameters_jsonSTRING{}—
    persona_idSTRING—
    user_idSTRING—
    confirmBOOLEANfalse—

    Outputs (6)

    NameTypeDescription
    statusSTRING—
    task_idSTRING—
    media_urls_jsonSTRING—
    first_media_urlSTRING—
    result_jsonSTRING—
    trace_idSTRING—