Feishu Download Audio🐶
Pull a voice message out of Feishu and onto disk
- audio_path
- show_help
When someone sends a voice message to a Feishu bot, what your bot actually receives from Feishu's API is a reference to that audio, not the audio itself. This node is the step that turns that reference into a real local file you can hand to a speech-to-text node, an LLM with audio input, or anything else in your workflow that needs actual bytes to work with.
What it does
app_id and app_secret are the same Feishu app credentials this pack's other bot nodes use - this is an authenticated API pull, not a public URL fetch. message_id identifies which message the audio came in on, and file_key identifies the specific attachment within that message - Feishu addresses individual media assets by this key rather than assuming a message only ever carries one thing. Both of those typically come straight from this pack's FeishuGetHistory node upstream, which is what actually spots that a message contains audio in the first place (its output_is_audio output is the signal to route into this node).
Two outputs: audio_path, the local filesystem path to the downloaded file, and show_help, a usage-reference string this pack attaches to most of its Feishu and Gitee nodes.
Where it fits
This is one link in the standard Feishu-bot chain this pack's App Link nodes are built around: FeishuGetHistory polls and flags what kind of content just arrived, this node (or its image counterpart) fetches the actual attachment when needed, your LLM/agent logic does something with it, and FeishuSendMsg sends the response back. Skip this node entirely for text-only bot workflows - it only earns its place once you're handling voice input.
Installing it
Standard pack install, no extra step specific to this node:
- ComfyUI Manager: search "comfyui_LLM_party", install, restart.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/heshengtao/comfyui_LLM_party, thenpip install -r requirements.txtfrom inside the pack folder using ComfyUI's Python, then restart.
Separate from the node install: your Feishu app needs permission to read message resources/attachments in the target chat, granted through the Feishu Open Platform console, or every call here will fail on authorization regardless of how correctly the node is wired.
Common issues & troubleshooting
Download fails with an auth or permission error. Check the app's granted scopes in the Feishu developer console - sending and reading messages is a different permission from downloading message attachments, and it's easy to have set up one without the other when you're first wiring a bot together.
file_key looks right but the download still fails. file_key and message_id have to match - a file_key is only valid in the context of the specific message it came from, so pulling it from FeishuGetHistory's output for one message and pairing it with a different message's message_id won't resolve to anything.
Got a path back in audio_path, but the downstream node can't read the file. Confirm the format Feishu handed back is one your next node actually supports - voice messages from chat apps are often in a compressed codec that isn't universally supported by every audio-processing node, and a format mismatch downstream is easy to mistake for this node having failed when the download itself actually succeeded fine.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| app_id | STRING | — | |
| app_secret | STRING | — | |
| message_id | STRING | — | |
| file_key | STRING | — | |
| is_enable | BOOLEAN | true | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio_path | STRING | — |
| show_help | STRING | — |