Extensions/ADB Music Tools
ComfyUI Extension

ADB Music Tools

A ComfyUI extension with 1 custom node.

By mmalexandre·Created about a month ago·Updated 15 days ago· 0
mmalexandre/comfyui-adb-music
Nodes1
On cloudLocal install
Categoryaudio
Stars0
Updated15 days ago
Readme

ComfyUI ADB Music Player

A small ComfyUI custom node named ADB Music Player.

The node accepts an AUDIO input and saves it using ComfyUI's output naming convention. The directory defaults to audio and the file name prefix defaults to ComfyUI, producing files such as ComfyUI/output/audio/ComfyUI_00001.flac. The file name prefix cannot be empty or contain /. Choose flac, mp3, or opus; the quality dropdown supports the MP3 V0/bitrate and Opus bitrate options. The audio is also passed through as the node output. When ComfyUI provides the workflow, it is saved next to each audio file as <audio-file>.workflow.json, such as myaudio.opus.workflow.json.

The editor lists audio files recursively under the selected directory. The filter is initialized from and follows the file name prefix while it is edited. Use the refresh control after saving a new file, then use a row's play button to listen to it. Each row has a 16-color control, and clicking a filename downloads it and records that it was downloaded.

Adb Studio can upload an editable workflow to POST /adb-music-player/workflow. The plugin stores it as output/audio/adbstudio-temp-workflow.json. Opening ComfyUI with ?adb-music-player=open-workflow loads that file into the editor; the user can then use ComfyUI's Save workflow action to choose a permanent filename.

Every API endpoint requires a Bearer token. Set ADB_MUSIC_PLAYER_API_TOKEN in ComfyUI's environment before starting it, then send Authorization: Bearer <token> with every request. The editor reads the token from the URL hash when opened by Adb Studio and applies it to its list, playback, download, and color requests as well as workflow reads. When the editor is opened directly, it creates an HttpOnly same-origin session from the configured server environment, so no token needs to be placed in the URL. Existing Bearer-token URLs remain supported for Adb Studio workflows. Audio paths accepted by the plugin are restricted to ComfyUI's output/ directory.

RunPod

For a RunPod ComfyUI template, open the Pod's Edit Pod settings and add this environment variable:

ADB_MUSIC_PLAYER_API_TOKEN=your-long-random-token

You can generate a token in the Pod terminal with:

openssl rand -hex 32

Save the Pod configuration and restart it so the ComfyUI process receives the variable. You can verify it from the Pod terminal with:

echo "$ADB_MUSIC_PLAYER_API_TOKEN"

To open an Adb Studio workflow, append the token in the URL hash:

https://YOUR-RUNPOD-COMFYUI-URL/?adb-music-player=open-workflow#adb-music-player-token=YOUR_TOKEN

The token may be in the URL hash or query string. The browser sends it to ComfyUI as Authorization: Bearer YOUR_TOKEN; it is not sent as a URL parameter to the API.

Audio colors and download state are persisted in a sidecar file next to each audio file, named <audio-file>.adb-music-player.json. These metadata files are ignored by the audio list. Each sidecar also stores the audio file's modification time and size; metadata is discarded automatically when the audio file changes.

Install

Copy or clone this directory into ComfyUI's custom_nodes directory:

ComfyUI/custom_nodes/AdbComfyUiPlayer/

Restart ComfyUI. The node is available in the ADB category as ADB Music Player.

Files

  • adb_music_player.py - ComfyUI node implementation.
  • __init__.py - Node registration.
  • web/adb_music_player.js - Frontend audio-file list and playback controls.