Nodes/SunoComfyUI/Suno List Personas (Ace Data Cloud)
ComfyUI Node

Suno List Personas (Ace Data Cloud)

The quiet read-only call that keeps you out of the console

By AceDataCloud·Created 3 days ago·Updated 2 days ago· 0
Suno List Personas (Ace Data Cloud)
    • status
    • task_id
    • media_urls_json
    • first_media_url
    • result_json
    • trace_id
    ◄parameters_json{}►
    ◄user_id►
    ◄limit►
    ◄offset►

    Somewhere along the way you'll have made six personas, three of them test cases with names like untitled-2, and no idea which ID belongs to the voice you actually liked. Suno List Personas (Ace Data Cloud) is the node that answers that. It's the pack's only pure listing node, it's read-only, and it's the one you run when you're debugging rather than creating.

    Why a listing node at all

    Because the IDs matter and nothing else in the pack will find them for you. The flow that most people end up in is: generate a track → build a persona from it or from an extracted vocal → then re-use that persona on future generations via a persona_id field. That field wants an exact ID, and the ID only appears in the result_json of the create call. Save it, or come back here and look it up.

    The alternatives are keeping a note, or opening Ace's console in a browser. Neither is terrible. This node is the one that keeps the whole loop inside the graph - which is the actual pitch of the pack, when you get past the individual nodes: you're trying to stop tab-switching between a canvas and a web console mid-project.

    Inputs

    Unusual for this pack, this one is a GET with query parameters rather than a POST with a body, and the published contract marks user_id required:

    • user_id - the account identifier the list is scoped to. Required, even though your API key already identifies you. Find it in the Ace console; it's not something the pack can infer.
    • limit - a string widget that gets coerced to an integer, controlling page size.
    • offset - same treatment, for paging past the first batch. If you have more than a handful of personas, this is how you get to the second page.
    • parameters_json - default {}, validated against the contract. There's very little here that the three widgets don't already cover.

    The pack's coercion is worth a line because it saves time: number-typed contract fields accept strings from the widgets and are converted before validation. limit of 20 works; twenty does not.

    Outputs

    The same six strings as every tool node here: status, task_id, media_urls_json, first_media_url, result_json, trace_id.

    A list request has no task and no media, so the first five boil down to one useful thing: result_json, which contains the listing as JSON with internal fields scrubbed. That's your source for persona IDs. Pipe it into a text preview to read it, or into a JSON node if you're extracting IDs programmatically.

    There's also a small ergonomic point that's easy to miss: because this call is read-only, it retries up to three times on a connection failure and costs nothing to repeat. That's the opposite of the pack's creation nodes, and it makes listing a safe thing to wire into a workflow that runs often.

    Install

    Included in SunoComfyUI. 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, no GPU, no extra downloads. Key in the environment of the ComfyUI process (Desktop included, since it launches its own):

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

    Personas live at /suno/persona, so allow that path if your Ace application restricts endpoints.

    When it goes wrong

    user_id is required. The contract requires it as a query parameter. A key alone isn't enough - find your user ID in the console.

    An empty list when you know you have personas. Check the account you're authenticated as. It's a common failure when someone has two Ace applications, or a test key and a real one.

    does not meet the API's additionalProperties constraint. A leftover value in one of the fields isn't valid for this call, so the payload was rejected before it left your machine. Clear the widgets.

    Ace Data Cloud HTTP 401/403. Key, path restriction, or no Suno service access on the application. Same three suspects as everywhere else in this pack, and the same two places to check: the process environment and the console.

    CategoryAce Data Cloud/Suno

    Inputs (4)

    NameTypeDefaultDescription
    parameters_jsonSTRING{}—
    user_idSTRING—
    limitSTRING—
    offsetSTRING—

    Outputs (6)

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