From 63032c91c66bf7a4502744d138899554c26b5750 Mon Sep 17 00:00:00 2001 From: Weiming Liao Date: Thu, 17 Sep 2026 04:43:43 +0800 Subject: [PATCH] [Frontend] Add ComfyUI Generate Music node with initial MiniMax Music 3 support (#7516) Signed-off-by: Weiming Liao --- apps/ComfyUI-vLLM-Omni/README.md | 12 + apps/ComfyUI-vLLM-Omni/__init__.py | 3 + .../comfyui_vllm_omni/nodes.py | 60 +++++ .../docs/images/comfyui-music-generation.jpg | Bin 0 -> 201933 bytes .../vLLM-Omni Music Generation.json | 206 ++++++++++++++++++ docs/features/comfyui.md | 1 + .../comfyui/test_comfyui_integration.py | 78 ++++++- 7 files changed, 359 insertions(+), 1 deletion(-) create mode 100644 apps/ComfyUI-vLLM-Omni/docs/images/comfyui-music-generation.jpg create mode 100644 apps/ComfyUI-vLLM-Omni/example_workflows/vLLM-Omni Music Generation.json diff --git a/apps/ComfyUI-vLLM-Omni/README.md b/apps/ComfyUI-vLLM-Omni/README.md index d0d002d0f..f9ee3b0c1 100644 --- a/apps/ComfyUI-vLLM-Omni/README.md +++ b/apps/ComfyUI-vLLM-Omni/README.md @@ -52,6 +52,7 @@ This extension offers the following nodes based on the output modalities (at **C - **FastH3 Deployment** for routing text-to-video requests to a MiniMax-H3 server with FastH3 fused at startup - **Multimodality Understanding** for multimodality-to-text and multimodality-to-audio tasks - **TTS** and **TTS Voice Clone** for TTS tasks +- **Generate Music** for lyrics-and-description-to-music generation This extension also offers example workflows (at **ComfyUI sidebar -> Templates -> vLLM-Omni**) @@ -274,6 +275,17 @@ The node records which server the workflow targets; it does not start one, nor s > [!TIP] > There is a dedicated node for VoiceClone tasks with reference audio input. Other simple text-to-speech tasks should use the regular TTS node. +### Music generation (e.g., MiniMax Music 3) + +(Also available at **ComfyUI sidebar->Template->vLLM-Omni->vLLM-Omni Music Generation**) + +

+ + + vLLM-Omni Music Generation + +

+ ### Chaining multiple model services (Also available at **ComfyUI sidebar->Template->vLLM-Omni->vLLM-Omni Chaining Services**) diff --git a/apps/ComfyUI-vLLM-Omni/__init__.py b/apps/ComfyUI-vLLM-Omni/__init__.py index 55b003ef1..8c1b03d87 100644 --- a/apps/ComfyUI-vLLM-Omni/__init__.py +++ b/apps/ComfyUI-vLLM-Omni/__init__.py @@ -19,6 +19,7 @@ from .comfyui_vllm_omni.nodes import ( VLLMOmniDiffusionSampling, VLLMOmniFastH3Deployment, VLLMOmniGenerateImage, + VLLMOmniGenerateMusic, VLLMOmniGenerateVideo, VLLMOmniMiniMaxH3Params, VLLMOmniQwenTTSParams, @@ -38,6 +39,7 @@ NODE_CLASS_MAPPINGS = { "VLLMOmniGenerateVideo": VLLMOmniGenerateVideo, "VLLMOmniUnderstanding": VLLMOmniUnderstanding, "VLLMOmniTTS": VLLMOmniTTS, + "VLLMOmniGenerateMusic": VLLMOmniGenerateMusic, "VLLMOmniVoiceClone": VLLMOmniVoiceClone, "VLLMOmniVideoReferences": VLLMOmniVideoReferences, # === Params === @@ -58,6 +60,7 @@ NODE_DISPLAY_NAME_MAPPINGS = { "VLLMOmniGenerateVideo": "Generate Video", "VLLMOmniUnderstanding": "Multimodality Understanding", "VLLMOmniTTS": "TTS (Text to Speech)", + "VLLMOmniGenerateMusic": "Generate Music", "VLLMOmniVoiceClone": "TTS Voice Cloning", "VLLMOmniVideoReferences": "Video References", # === Params === diff --git a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/nodes.py b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/nodes.py index 47bdd9a2c..64020b797 100644 --- a/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/nodes.py +++ b/apps/ComfyUI-vLLM-Omni/comfyui_vllm_omni/nodes.py @@ -503,6 +503,66 @@ class VLLMOmniTTS(_VLLMOmniGenerateBase): return (audio,) +class VLLMOmniGenerateMusic(_VLLMOmniGenerateBase): + """Generate a song from lyrics and a musical description with MiniMax Music 3.""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "url": ("STRING", {"default": "http://localhost:8000/v1"}), + "model": ("STRING", {"default": "MiniMaxAI/MiniMax-Music3"}), + "instructions": ( + "STRING", + { + "multiline": True, + "display_name": "caption", + "tooltip": "Music caption: describe genre, instruments, tempo and mood.", + }, + ), + "lyrics": ("STRING", {"multiline": True}), + "max_duration_seconds": ( + "FLOAT", + { + "default": 300.0, + "min": 1, + "max": 360, + "step": 0.01, + "tooltip": "Upper limit; rounded down to whole 25 Hz audio frames. May end earlier.", + }, + ), + "seed": ("INT", {"default": 0, "min": 0, "max": 2**53 - 1, "control_after_generate": True}), + "response_format": (["wav", "mp3", "flac", "opus"],), + }, + } + + RETURN_TYPES = ("AUDIO",) + RETURN_NAMES = ("audio",) + FUNCTION = "generate" + + async def generate( + self, + url: str, + model: str, + lyrics: str, + instructions: str, + response_format: AudioFormat, + max_duration_seconds: float, + seed: int = 0, + ) -> tuple[AudioInput]: + audio = await VLLMOmniClient(url.rstrip("/")).generate_speech( + model=model, + input=lyrics, + instructions=instructions, + voice="default", + speed=1.0, + response_format=response_format, + max_new_tokens=int(max_duration_seconds * 25), + seed=seed, + ) + return (audio,) + + class VLLMOmniVoiceClone(_VLLMOmniGenerateBase): @classmethod def INPUT_TYPES(cls): diff --git a/apps/ComfyUI-vLLM-Omni/docs/images/comfyui-music-generation.jpg b/apps/ComfyUI-vLLM-Omni/docs/images/comfyui-music-generation.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1c8130fbdcfef3b3d18add0a1b107ef7d7625620 GIT binary patch literal 201933 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⋘rQQJR%Yh7*@u36Eud#W;h=KU0OdjPH-{?}6xePG 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 Yoo6n^mwe~p-t_@s^mhZd>g&+|0VIRsx&QzG literal 0 HcmV?d00001 diff --git a/apps/ComfyUI-vLLM-Omni/example_workflows/vLLM-Omni Music Generation.json b/apps/ComfyUI-vLLM-Omni/example_workflows/vLLM-Omni Music Generation.json new file mode 100644 index 000000000..9dc7370c0 --- /dev/null +++ b/apps/ComfyUI-vLLM-Omni/example_workflows/vLLM-Omni Music Generation.json @@ -0,0 +1,206 @@ +{ + "id": "4949c8da-12ff-449a-94b7-948bde9c39dd", + "revision": 0, + "last_node_id": 3, + "last_link_id": 1, + "nodes": [ + { + "id": 1, + "type": "VLLMOmniGenerateMusic", + "pos": [ + 100, + 100 + ], + "size": [ + 470, + 491 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [ + { + "name": "url", + "type": "STRING", + "widget": { + "name": "url" + }, + "link": null + }, + { + "name": "model", + "type": "STRING", + "widget": { + "name": "model" + }, + "link": null + }, + { + "name": "instructions", + "type": "STRING", + "widget": { + "name": "instructions" + }, + "link": null + }, + { + "name": "lyrics", + "type": "STRING", + "widget": { + "name": "lyrics" + }, + "link": null + }, + { + "name": "max_duration_seconds", + "type": "FLOAT", + "widget": { + "name": "max_duration_seconds" + }, + "link": null + }, + { + "name": "seed", + "type": "INT", + "widget": { + "name": "seed" + }, + "link": null + }, + { + "name": "response_format", + "type": "COMBO", + "widget": { + "name": "response_format" + }, + "link": null + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "VLLMOmniGenerateMusic" + }, + "widgets_values": [ + "http://localhost:8000/v1", + "MiniMaxAI/MiniMax-Music3", + "Futuristic melodic EDM / progressive house. Reflective verses about memory and digital identity build into an uplifting, hook-driven chorus, with an emotive lead vocal, bright layered synths, pulsing bass, crisp four-on-the-floor drums, subtle glitch textures, and a wide polished festival mix.", + "[Verse 1]\nUpload my heart to the cloud tonight\nSave every spark of neon light\nIf this body starts to fade away\nLet my code keep dancing in the data stream\nStay\n[Chorus]\nCloud copy of me\nLiving on when these bones finally break free\nEvery joke, every scar\nEvery cheap memory we made\nSave it, save it\nCloud copy of me\nIf the screen goes dark, I\u2019m still in the machine\nEvery glitch, every dream\nEvery version you ever did see\nSave it, save it\n[Verse 2]\nTag every laugh in a secret folder\nArchive the nights we outran the thunder\nIf the wiring turns to rust and gray\nHit restore\u2026 press replay\n[Chorus]\nCloud copy of me\nLiving on when these bones finally break free\nEvery joke, every scar\nEvery cheap memory we made\nSave it, save it\nCloud copy of me\nIf the screen goes dark, I\u2019m still in the machine\nEvery glitch, every dream\nEvery version you ever did see\nSave it, save it (oh)\n[Bridge \u2013 new, optional but recommended]\nEven the crashes, the late-night confessions\nThe parts of me I never learned to mention\nDon\u2019t let the silence swallow me whole\nKeep a ghost in the glow\u2026\nSo I never go\n[Final Chorus \u2013 softer / layered]\nCloud copy of me\nStill laughing somewhere in the binary\nEvery joke, every scar\nEvery moment you saved for me\nSave it, save it\nCloud copy of me\nWhen the lights go out, I\u2019ll still be in the machine\nDancing in the code that you still believe\nSave it\u2026\nSave me", + 300.0, + 0, + "fixed", + "wav" + ] + }, + { + "id": 2, + "type": "SaveAudioAdvanced", + "pos": [ + 650, + 100 + ], + "size": [ + 320, + 491 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 1 + }, + { + "name": "filename_prefix", + "type": "STRING", + "widget": { + "name": "filename_prefix" + }, + "link": null + }, + { + "name": "format", + "type": "COMFY_DYNAMICCOMBO_V3", + "widget": { + "name": "format" + }, + "link": null + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": null + } + ], + "properties": { + "Node name for S&R": "SaveAudioAdvanced" + }, + "widgets_values": [ + "audio/vLLM-Omni-Music", + "mp3", + "V0" + ] + }, + { + "id": 3, + "type": "MarkdownNote", + "title": "Music Generation Guide", + "pos": [ + -507, + 100 + ], + "size": [ + 527, + 491 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "## MiniMax Music 3\n\nThe **Generate Music** node currently supports **MiniMax Music 3 only**. The parameters below apply to this model.\n\nA music generation model by MiniMax that creates complete songs up to 5 minutes long with stable structure and high audio quality. Two inputs drive it: **Caption** (structured music description: style, mood, vocals, arrangement) and **Lyrics** (with `[intro]` `[verse]` `[chorus]` `[bridge]` `[outro]` tags controlling song structure).\n\n### Parameters\n\n| Parameter | Description |\n|---|---|\n| url | vLLM-Omni service URL including `/v1`. Default: `http://localhost:8000/v1`. |\n| model | Served model name. Default: `MiniMaxAI/MiniMax-Music3`. |\n| caption | Music description, sent as `instructions`. Use Global Metadata \u2192 Vocal Details \u2192 Arrangement to describe style, vocals, and instrumentation. |\n| lyrics | Words to sing with section tags. Put each tag on its own line; tags guide rather than strictly enforce song structure. |\n| max_duration_seconds | Maximum duration, default 300 seconds; range 1\u2013360, step 0.01. Converted to tokens at 25 frames/s, rounded down. Generation may end earlier. |\n| seed | Random seed, default 0; range 0\u20139007199254740991. Keep inputs and runtime settings unchanged for repeatability. |\n| control_after_generate | Seed behavior after generation: fixed, randomize, increment, or decrement. Template default: fixed. |\n| response_format | API audio format, default WAV. Options: WAV, MP3, FLAC, Opus, AAC; AAC is currently unsupported by the vLLM-Omni speech API. |\n\n### Prompt Writing Guide\n\nYou can find an official [Music Caption Rewriter Skill here](https://github.com/MiniMax-AI/MiniMax-Music3)\n" + ], + "widgets_values_named": { + "text": "## MiniMax Music 3\n\nThe **Generate Music** node currently supports **MiniMax Music 3 only**. The parameters below apply to this model.\n\nA music generation model by MiniMax that creates complete songs up to 5 minutes long with stable structure and high audio quality. Two inputs drive it: **Caption** (structured music description: style, mood, vocals, arrangement) and **Lyrics** (with `[intro]` `[verse]` `[chorus]` `[bridge]` `[outro]` tags controlling song structure).\n\n### Parameters\n\n| Parameter | Description |\n|---|---|\n| url | vLLM-Omni service URL including `/v1`. Default: `http://localhost:8000/v1`. |\n| model | Served model name. Default: `MiniMaxAI/MiniMax-Music3`. |\n| caption | Music description, sent as `instructions`. Use Global Metadata \u2192 Vocal Details \u2192 Arrangement to describe style, vocals, and instrumentation. |\n| lyrics | Words to sing with section tags. Put each tag on its own line; tags guide rather than strictly enforce song structure. |\n| max_duration_seconds | Maximum duration, default 300 seconds; range 1\u2013360, step 0.01. Converted to tokens at 25 frames/s, rounded down. Generation may end earlier. |\n| seed | Random seed, default 0; range 0\u20139007199254740991. Keep inputs and runtime settings unchanged for repeatability. |\n| control_after_generate | Seed behavior after generation: fixed, randomize, increment, or decrement. Template default: fixed. |\n| response_format | API audio format, default WAV. Options: WAV, MP3, FLAC, Opus, AAC; AAC is currently unsupported by the vLLM-Omni speech API. |\n\n### Prompt Writing Guide\n\nYou can find an official [Music Caption Rewriter Skill here](https://github.com/MiniMax-AI/MiniMax-Music3)\n" + }, + "color": "#333", + "bgcolor": "#535353" + } + ], + "links": [ + [ + 1, + 1, + 0, + 2, + 0, + "AUDIO" + ] + ], + "groups": [], + "config": {}, + "extra": { + "workflowRendererVersion": "LG", + "ds": { + "scale": 1.147, + "offset": [ + 899, + 259 + ] + } + }, + "version": 0.4 +} diff --git a/docs/features/comfyui.md b/docs/features/comfyui.md index 876e80617..dda68b793 100644 --- a/docs/features/comfyui.md +++ b/docs/features/comfyui.md @@ -51,6 +51,7 @@ This extension offers the following nodes based on the output modalities: - **Generate Video** for text-to-video and image-to-video tasks - **Multimodality Understanding** for multimodality-to-text and multimodality-to-audio tasks - **TTS** and **TTS Voice Clone** for TTS tasks +- **Generate Music** for text-to-music tasks This extension also offers example workflows (at **ComfyUI sidebar -> Templates -> vLLM-Omni**) diff --git a/tests/e2e/features/comfyui/test_comfyui_integration.py b/tests/e2e/features/comfyui/test_comfyui_integration.py index fe42dd9bf..3c6f0492a 100644 --- a/tests/e2e/features/comfyui/test_comfyui_integration.py +++ b/tests/e2e/features/comfyui/test_comfyui_integration.py @@ -28,6 +28,7 @@ from comfy_api.input import AudioInput, VideoInput from comfyui_vllm_omni.nodes import ( VLLMOmniFastH3Deployment, VLLMOmniGenerateImage, + VLLMOmniGenerateMusic, VLLMOmniGenerateVideo, VLLMOmniTTS, VLLMOmniUnderstanding, @@ -62,6 +63,7 @@ class ServerCase(NamedTuple): stage_list: list stage_configs: list[Any] outputs: list[OmniRequestOutput] + tokenizer: Any = None class SamplingCase(NamedTuple): @@ -79,6 +81,7 @@ class SamplingKind(str, Enum): UNDERSTANDING_AR_LIST = "understanding_ar_list" TTS_NONE = "tts_none" TTS_DIFFUSION_SINGLE = "tts_diffusion_single" + MUSIC_NONE = "music_none" VIDEO_NONE = "video_none" VIDEO_DIFFUSION_SINGLE = "video_diffusion_single" VIDEO_FASTH3 = "video_fasth3" @@ -380,6 +383,11 @@ def _build_mock_outputs(outputs: Iterable[OmniRequestOutput], sampling_case: Sam assert len(received_sampling_params_list) == 3 for i, expected in enumerate(AR_LIST_SAMPLING_PARAMS): _assert_sampling_param_values(received_sampling_params_list[i], expected) + elif sampling_case.kind is SamplingKind.MUSIC_NONE: + assert len(received_sampling_params_list) == 2 + assert prompt["prompt_token_ids"] == [101, 102, 103] + assert prompt["additional_information"]["max_audio_frames"] == [1512] + assert received_sampling_params_list[0].seed == 7 elif sampling_case.kind in {SamplingKind.TTS_NONE, SamplingKind.TTS_DIFFUSION_SINGLE}: assert len(received_sampling_params_list) == 1 elif sampling_case.kind is SamplingKind.VIDEO_NONE: @@ -525,12 +533,17 @@ def mock_async_omni( # Need to mock AsyncOmni itself (not only its generate method) because # 1. The API layer uses its stage_list and stage_configs attributes # 2. Its __init__ method has slow side effects (model & config loading). + # These cases use the non-duplex mock engine without loading model configs. + mocker.patch("vllm_omni.entrypoints.openai.api_server._is_duplex_model", return_value=False) mock_async_omni_cls = mocker.patch("vllm_omni.entrypoints.openai.api_server.AsyncOmni") monkeypatch.setattr( "vllm_omni.entrypoints.openai.serving_chat.OmniOpenAIServingChat._preprocess_chat", _mock_preprocess_chat, ) + if server_case.tokenizer is not None: + mocker.patch("transformers.AutoTokenizer.from_pretrained", return_value=server_case.tokenizer) + mock_instance = mocker.AsyncMock(spec=RealAsyncOmni) mock_instance.generate = _build_mock_outputs(server_case.outputs, sampling_case, server_case) @@ -558,7 +571,7 @@ def mock_async_omni( mock_instance.shutdown = mocker.MagicMock() mock_instance.get_vllm_config = mocker.AsyncMock(return_value=None) mock_instance.get_supported_tasks = mocker.AsyncMock(return_value=["generate"]) - mock_instance.get_tokenizer = mocker.AsyncMock(return_value=None) + mock_instance.get_tokenizer = mocker.AsyncMock(return_value=server_case.tokenizer) mock_async_omni_cls.return_value = mock_instance yield mock_async_omni_cls @@ -1081,3 +1094,66 @@ async def test_video_generation_node_minimax_h3_ref2va( assert isinstance(result, tuple) assert len(result) == 1 assert isinstance(result[0], VideoInput) + + +def _build_music_tokenizer(): + # Checkpoint token IDs required by the API adapter's tokenizer validation. + special_token_ids = { + "<|im_start|>": 151644, + "<|im_end|>": 151645, + "<|audio_cfg|>": 151654, + "<|audio_start|>": 151669, + "<|audio_end|>": 151670, + "<|caption_start|>": 151671, + "<|caption_end|>": 151672, + "<|lyrics_start|>": 151673, + "<|lyrics_end|>": 151674, + } + + def encode(prompt): + assert prompt == ( + "<|im_start|><|caption_start|>Warm acoustic pop at 92 BPM" + "<|caption_end|><|lyrics_start|>[start]\n[verse]\nThe morning light" + "<|lyrics_end|><|im_end|><|audio_start|>" + ) + return [101, 102, 103] + + return SimpleNamespace(encode=encode, convert_tokens_to_ids=special_token_ids.get) + + +@pytest.mark.asyncio +@pytest.mark.parametrize( + "server_case", + [ + ServerCase( + served_model="MiniMaxAI/MiniMax-Music3", + stage_list=["llm", "llm"], + stage_configs=[ + _make_stage_config("llm", model_stage="minimax_music3_ar"), + _make_stage_config("llm", model_stage="minimax_music3_acoustic"), + ], + outputs=[_build_audio_speech_output()], + tokenizer=_build_music_tokenizer(), + ) + ], + indirect=True, +) +@pytest.mark.parametrize( + "sampling_case", + [SamplingCase(kind=SamplingKind.MUSIC_NONE, sampling_params=None)], + indirect=True, +) +async def test_music_generation_node_minimax_music3(api_server: str, sampling_case: SamplingCase): + result = await VLLMOmniGenerateMusic().generate( + url=api_server, + model="MiniMaxAI/MiniMax-Music3", + lyrics="[Verse]\nThe morning light", + instructions="Warm acoustic pop at 92 BPM", + max_duration_seconds=60.5, + seed=7, + response_format="wav", + ) + assert isinstance(result, tuple) + assert len(result) == 1 + assert result[0]["sample_rate"] == 24000 + assert result[0]["waveform"].shape == (1, 1, 24000)