Video Tile Audio Present
Does this clip actually have audio? A boolean you can branch a graph on
- audio
- has_audio
If you're working with LTX-2.3 or MiniMax H3 clips, audio is not optional - it's part of the generation. LTX-2's whole bet was synchronized audio-video in one pass, and H3 treats audio as a first-class modality too. But not every clip you load has audio, and in a big tiled upscale workflow you want to know before you wire an encoder to attach it. Video Tile Audio Present answers one question - "is there actually sound in this thing?" - with a clean boolean you can branch on.
The name sounds intimidating (FFprobe? LTX?), but the mechanism is friendly. The node looks at the AUDIO bundle you pass it and makes a two-layer decision:
- If a file path is known, it runs
ffprobeand counts audio streams. Zero streams →has_audio = false. This is the authoritative check. - If ffprobe is missing, errors, or there's no path, it falls back to the waveform: it checks peak and RMS energy against a silence floor. Crucially, a probe failure doesn't auto-fail - it degrades to the waveform check instead of lying to you.
The inputs
audio- theAUDIOoutput from a Load Video / Load Audio node. That bundle carries both the optional path (used for the ffprobe check) and the waveform tensor (used for the energy check).min_peak- optional silence floor on |sample|, 0–1. Default 0 means auto (~1e-12 effective through the RMS branch). You generally won't touch this; it exists for genuinely noisy or oddly-scaled audio.
Output is a single has_audio boolean.
What you'd do with it
Wire it into a switch or a conditional branch: attach audio to the encoder only when it's true, skip a silent-file export path, or log which clips in a batch came back without audio. In a disk-backed workflow it pairs nicely with the pack's audio handling - the Disk Job node can store audio with the job, and Folder Merge hands it back out - so this node is how you decide whether that stored audio is worth trusting.
Install and the one real dependency
cd ComfyUI/custom_nodes
git clone https://github.com/maDcaDDie2000/comfyui-video-tiler
The pack itself needs no Python deps beyond what ComfyUI ships. The caveat is ffprobe: to use the stream-count path, you need FFmpeg installed and ffprobe on your PATH. On Windows that usually means adding the FFmpeg bin folder to PATH after installing; on Linux it's your distro's ffmpeg package. If it's missing, the node still works - it just falls back to waveform-only detection, which is honestly fine for most "is there audio or not" questions. Apache 2.0, vibe-coded for personal use, not actively maintained, but the fallback logic means this one keeps working even when the environment around it degrades.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | Load Video / Load Audio output. Optional path in dict → ffprobe stream count; always checks waveform energy. | |
| min_peakopt | FLOAT | 00–1 | Silence floor on |sample|. Use 0 for auto (~1e-12 effective via RMS branch). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| has_audio | BOOLEAN | True if audio stream exists when probed and waveform is not silent. |