Skip to main content

airadio — local AI radio with MiniMax Music 3

airadio is your personal radio station using your local install of ComfyUI and MiniMax Music 3.

It generates ~2-minute songs over ComfyUI’s normal HTTP API, plays them with tail fades, and fills gaps with interstitials or library tracks until the next song is ready.

pip install airadio
# start ComfyUI yourself (with MiniMax Music 3), then:
airadio

Each new song gets a random two-word title that primes generation and becomes the filename (velvet-garden4289.wav).

What you need

  1. ComfyUI running locally (default http://127.0.0.1:8188)
  2. MiniMax Music 3 installed into that ComfyUI (nodes + model files)
  3. Linux playback (pw-play or aplay), ffmpeg / ffprobe, Python 3.10+

airadio does not start ComfyUI for you and does not need comfy-cli or any side “Music 3” client. If it can’t talk to ComfyUI, it tells you to start or install it, then exit.

Install airadio

pip install airadio
# or from source:
git clone https://github.com/Decentricity/interdimensional-radio.git
cd interdimensional-radio
pip install -e .

Install ComfyUI + MiniMax Music 3

Follow the official guides (Music 3 lives inside ComfyUI):

  1. ComfyUI — https://github.com/comfyanonymous/ComfyUI
  2. MiniMax Music 3 — https://docs.comfy.org/tutorials/audio/minimax/minimax-music-3

That guide covers the model files. Use the low-VRAM INT8 set if you have ~12 GB VRAM (same set this project was tested with).

Start ComfyUI the normal way so it listens on port 8188, then run:

airadio

Optional: keep radio data (library, interstitials, staging) in a custom folder:

export AIRADIO_HOME="$PWD"   # auto-detected if ./library exists
airadio

CLI

Command Purpose
airadio Start the radio loop
airadio run Same as above
airadio title Print random two-word song titles

How it works

┌─────────┐     HTTP :8188      ┌─────────────────────────────┐
│ airadio │ ──────────────────▶ │ Your ComfyUI + Music 3      │
└────┬────┘                     └─────────────────────────────┘
     │
     ├── library/         saved songs
     ├── interstitials/   gap-fill clips
     └── .radio-staging/  in-flight generation
  1. Check — can airadio reach ComfyUI with Music 3 nodes? If not, print install/start help and exit.
  2. Pipeline — while a song plays, the next one generates in the background.
  3. Fill — if gen is not ready: interstitials, then a library track; repeat.
  4. Archive — finished songs land in library/ with catalog metadata.

Hardware

Tested on NVIDIA GeForce RTX 4070 Ti (12 GB VRAM) with the INT8 MiniMax Music 3 weights (~11 GB on disk; ~10–11 GB VRAM for a 120s generation).

Environment variables

Variable Default Meaning
AIRADIO_HOME ~/.local/share/airadio (or cwd if library/ exists) Radio data root
IDR_ROOT (alias for AIRADIO_HOME) Legacy name
AIRADIO_COMFY_HOST 127.0.0.1 ComfyUI host
AIRADIO_COMFY_PORT 8188 ComfyUI port
AIRADIO_PROMPTS bundled package prompts Override prompt directory

Prompts and titles

Bundled under the package:

  • Caption / lyrics templates for generation
  • Title word lists for two-word song names
  • Interstitial scripts and prompts

License

Application code: MIT (see LICENSE).

MiniMax Music 3 weights are distributed separately under their own terms by MiniMax / Comfy-Org.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

airadio-0.3.1.tar.gz (42.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

airadio-0.3.1-py3-none-any.whl (81.4 kB view details)

Uploaded Python 3

File details

Details for the file airadio-0.3.1.tar.gz.

File metadata

  • Download URL: airadio-0.3.1.tar.gz
  • Upload date:
  • Size: 42.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for airadio-0.3.1.tar.gz
Algorithm Hash digest
SHA256 19a1155911c49a52d6f65f5bc7877b9b1ef8331d6b5fb1bc3df42a9ea78b3224
MD5 ebe208095563485a722454329f1f1916
BLAKE2b-256 ebbccc8e1c9de52bcb8fd78099008678b18fbc76c8b0d50c7d0f68371bb4a2c4

See more details on using hashes here.

File details

Details for the file airadio-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: airadio-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 81.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for airadio-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be2625126fbd96ec7605b4fa804e3d161a0437d67228e3896419169e309c0e15
MD5 b6c99a1552c966095a60ff663edaa19d
BLAKE2b-256 79479c3b04efe6a2c274e2601a5aa0b76965ad409bc2267262eda25072781459

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.2

2 files

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page