Nodes/ComfyUI_Prompt-All-In-One/API Qwen Audio2Text
ComfyUI Node

API Qwen Audio2Text

Make an LLM listen to your audio in ComfyUI

By billwuhao·Created about a year ago·Updated about a year ago· 56
API Qwen Audio2Text
  • audio
  • text
api_key
system_prompt
prompt
modelqwen-omni-turbo-latest
seed0

API Qwen Audio2Text is the pack's "make the AI listen" node: it takes an audio clip from your graph, sends it to Alibaba's Qwen Omni model, and returns text - a transcription, a description, or a music-analysis prompt, depending on what you ask. It's the audio cousin of the image-to-text nodes, and it's the cheapest way to get real audio understanding inside ComfyUI without running a local audio model.

Why would you want this? Two big jobs. The first is reverse-prompting audio for music/audio LoRA training - the pack's README is explicit that audio reverse-prompting and tagging is a headline feature, fast and effective for building training captions. The second is the practical day-to-day: feed it a clip of dialogue and ask for a transcript or a summary, and the output feeds a text node that can drive anything downstream. Since it's an API call, an 8-core CPU box handles it the same as a 4090.

How it works

Your AUDIO input (a waveform tensor plus sample_rate) is converted to an MP3 and sent as base64 input_audio content to DashScope's OpenAI-compatible endpoint, streaming with modalities=["text"]. The conversion goes through pydub - which means it needs ffmpeg on your PATH, a detail the requirements file won't tell you. The model dropdown has two choices: qwen-omni-turbo-latest (default, fast) and qwen2.5-omni-7b. Key resolution is the pack standard: DASHSCOPE_API_KEY env var, then the api_key field.

The inputs that matter

  • audio (AUDIO, required) - wire it from an audio loader or from any node that emits the AUDIO type. This is a single clip; batch work isn't what this node does.
  • prompt (multiline) - the instruction. "Transcribe this audio", "Describe the music and its genre", or "Write a caption for this audio clip for training".
  • system_prompt (multiline) - optional framing, e.g. "You are a music tagger. Output only tags."
  • model - the omni models are the ones that actually hear audio; the dropdown reflects the two current options.
  • api_key - env var or field.

Output is a single text STRING, ready for a text viewer or a prompt pipeline.

Installing it

Ships in ComfyUI_Prompt-All-In-One by billwuhao. ComfyUI Manager → search Prompt-All-In-One, or:

cd ComfyUI/custom_nodes
git clone https://github.com/billwuhao/ComfyUI_Prompt-All-In-One.git
cd ComfyUI_Prompt-All-In-One
pip install -r requirements.txt

Restart; it's under 🎤MW/MW-Prompt-All-In-One.

Where people get burned

The ffmpeg thing is the one nobody expects. The node's MP3 conversion runs through pydub, which shells out to ffmpeg; if the call dies with a pydub/ffmpeg-style error even though pip install -r requirements.txt succeeded, install ffmpeg on your system (Windows portable ComfyUI usually bundles it - check ffmpeg exists in your environment first). The other watch-item is audio length: very long clips make for large API payloads, so trim or split before sending. And keep the API reality in mind - this is audio leaving your machine, subject to vendor policy, which matters if you're analyzing something you'd rather not upload. For fully local audio understanding, the pack's Ke-Omni-R node is the no-upload alternative, at the cost of a ~3B model download and some VRAM.

Category🎤MW/MW-Prompt-All-In-One

Inputs (6)

NameTypeDefaultDescription
audioAUDIO
api_keySTRING
system_promptSTRING
promptSTRING
modelCOMBOqwen-omni-turbo-latest2 options: qwen-omni-turbo-latest, qwen2.5-omni-7b
seedINT00–18446744073709550000

Outputs (1)

NameTypeDescription
textSTRING