Nodes/KIE.ai Nodes Next/Get WAV Conversion Details
ComfyUI Node

Get WAV Conversion Details

Suno Gives You an MP3. Get WAV Conversion Details Gives You a File You Can Mix.

By felipederosilva·Created about a month ago·Updated a day ago· 3
Get WAV Conversion Details
    • audio
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄timeout_seconds1200►
    ◄expert_override_json{}►

    What it's for

    Here's the unglamorous truth about the Suno pipeline: you don't get a WAV out of it by default, and if you're going to take the track anywhere near a mixer, a master chain, or a video editor, you want one. Lossy source material gets worse every time you touch it - you cut it, normalise it, fold it against other audio, and the artefacts compound. Converting to WAV first is the boring step that saves you from all of that.

    WAV conversion is an API task on Suno's side, and this node reads the record of one: is the conversion done, and where's the file? Same shape as the rest of the family - a read, no charge, no generation, no upload.

    It earns its place in a real chain. Generate the song, separate the vocals, transcribe to MIDI, convert the master to WAV, export. Each of those is a task with a record, and this node is the one that gets the last piece out.

    How it works

    The node queries the conversion task record through the pack's authenticated client, using the key from Connection Settings. The pack's status reader follows Suno's reporting convention: it looks for a status field on the response data, treats SUCCESS as complete, and raises a KIE API error on terminal failures (CREATE_TASK_FAILED, GENERATE_AUDIO_FAILED, CALLBACK_EXCEPTION, SENSITIVE_WORD_ERROR, FAILED) with the provider's own message attached. Failures are readable, not mysterious.

    The input situation is the pack's familiar one. KIE's docs page for this endpoint had no machine-readable request schema when the pack built its node catalog from KIE's documentation index, so the node was generated from the fallback template. The pack re-fetches unresolved pages on demand - including when an operation is opened or executed - so a UI reload can replace the placeholder fields with the real documented ones. Use them if they appear.

    Inputs and outputs

    No required inputs. Optional:

    • timeout_seconds - INT, default 1200, minimum 30, maximum 7200, step 30. A conversion is quicker than a render, but queues are queues; the default is roomy.
    • expert_override_json - STRING, default {}, described by the pack as "expert-only payload overrides for APIs whose documentation has no request schema yet." Because this is a GET-shaped node, the keys you put in that object are sent as query parameters - that's where the task ID goes. Leaving it empty means the node queries nothing in particular.

    Outputs: audio (AUDIO), url, all_urls_json, task_id, raw_json (STRING), credits_consumed, credits_left (FLOAT). The one you want for a conversion is the link - url for the first, all_urls_json for the full list, raw_json for the whole response. The audio socket comes from the API family's media kind; for a record read, treat the JSON as the payload.

    Installing

    cd ComfyUI/custom_nodes
    git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
    pip install -r ComfyUI-KIE-Nodes-Next/requirements.txt
    

    Restart ComfyUI, then paste your KIE key at Settings → KIE.ai Nodes Next → Connection. The pack validates it against KIE before it replaces a previously working key, then shows a masked fingerprint and a CONNECTED status. The full key is backend-only: it doesn't go into workflow JSON and doesn't sit in the frontend settings field. Servers can skip the panel with KIE_API_KEY, which takes priority.

    No models, no GPU, no heavy dependencies - requirements.txt is requests, Pillow, numpy, PyYAML. If you're on Windows, the README's one-click installer under dist/ places the pack and uses ComfyUI's own Python environment for dependency setup.

    Where people get burned

    Expecting a WAV to be the default. It isn't - you have to run the conversion as its own task, which means it's another metered call and another thing that can fail or queue behind other work. Budget for it rather than assuming your download is already lossless.

    Then the family-wide one: an empty expert_override_json produces a valid query for nothing, which looks like a broken node and is actually a missing argument.

    And the follow-through trap - a converted file that expires. KIE hands back temp URLs across the board, so if the WAV link is going to matter tomorrow, download it now or run it through one of the pack's URL-conversion utility nodes in the same graph. People lose an evening to "the file was there yesterday" more often than to anything mechanical here.

    CategoryKIE Next/Audio/Suno/WAV Conversion

    Inputs (2)

    NameTypeDefaultDescription
    timeout_secondsoptINT120030–7200—
    expert_override_jsonoptSTRING{}Expert-only payload overrides for APIs whose documentation has no request schema yet.

    Outputs (7)

    NameTypeDescription
    audioAUDIO—
    urlSTRING—
    all_urls_jsonSTRING—
    task_idSTRING—
    raw_jsonSTRING—
    credits_consumedFLOAT—
    credits_leftFLOAT—