Record Audio
A microphone, built into the graph
- audio
- AUDIO
RecordAudio is the built-in answer to the most human problem in audio workflows: getting your voice into the graph. It puts a microphone recording widget right on the canvas - hit record, talk, stop, and out comes a standard AUDIO tensor. It landed in ComfyUI core in August 2025, and it's the only node in the audio family that doesn't consume audio so much as capture it.
Why does this matter in ComfyUI? Because the most interesting audio workflows aren't purely generative. You record a voiceover, load a music bed with LoadAudio, drop the bed under the voice with AudioMerge, maybe EQ the voice with AudioEqualizer3Band, and render a finished track - all inside the graph, no external recorder, no file juggling. Or you record a reference clip to feed a model that conditions on audio. For that, RecordAudio is the front door, in the same way LoadAudio is the front door for files.
How it works
The node's input is a custom AUDIO_RECORD type - that's not a file, it's a frontend widget. You click Start Recording, the browser asks for microphone permission, and you record directly from the page (there's even a live waveform and timer in the widget so you can see what you're capturing). Stop, audition it, and when the workflow runs, the recording is saved and decoded into the same float32 PCM AUDIO tensor format that LoadAudio produces.
The key detail: this uses your browser's mic access via the frontend, not a system audio device in the backend. So it works over a remote ComfyUI setup as long as the browser you're viewing it in has a mic - which is a genuinely useful property if you're running ComfyUI on a box without a microphone but controlling it from a laptop that has one.
Inputs and output
audio(AUDIO_RECORD) - the mic recording widget. Click to record; this is a UI element, not a file picker.AUDIO(output) - the recorded clip as a standard audio tensor, ready for PreviewAudio, a save node, or any processing node.
Getting it
Ships with ComfyUI core since August 2025. No install, no models.
Common issues
The usual failure is browser permission: if the node can't record, your browser has mic access blocked - check the site's permission settings rather than the node. The output is mono or stereo depending on your browser's capture, and it inherits your mic's sample rate, but that's fine: every downstream processing node resamples and channel-matches automatically. And since the recording happens in the browser, a long take ties up the tab while you're recording - keep clips short and do any trimming downstream with TrimAudioDuration. If you want a repeatable take, record, audition, and only then run the workflow.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO_RECORD | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |