Comfy-Org/ComfyUI · error · ValueError

Reference audio {i} is too short: {dur:.1f}s. Minimum durati

Error message

Reference audio {i} is too short: {dur:.1f}s. Minimum duration is 1.8 seconds.

What it means

Each reference audio on the Seedance 2.5 reference node must be at least 1.8 seconds. Duration is computed locally as waveform length / sample_rate from the ComfyUI AUDIO dict, and clips shorter than the provider minimum are rejected during pre-flight, enumerated by 1-based position.

Source

Thrown at comfy_api_nodes/nodes_bytedance.py:2813

                if dur < 1.8:
                    raise ValueError(f"Reference video {i} is too short: {dur:.1f}s. Minimum duration is 1.8 seconds.")
                total_video_duration += dur
            except ValueError:
                raise
            except Exception:
                pass
        if total_video_duration > limits["max_total_seconds"]:
            raise ValueError(
                f"Total reference video duration is {total_video_duration:.1f}s. "
                f"Maximum is {limits['max_total_seconds']} seconds."
            )

        total_audio_duration = 0.0
        for i, key in enumerate(reference_audios, 1):
            audio = reference_audios[key]
            dur = int(audio["waveform"].shape[-1]) / int(audio["sample_rate"])
            if dur < 1.8:
                raise ValueError(f"Reference audio {i} is too short: {dur:.1f}s. Minimum duration is 1.8 seconds.")
            total_audio_duration += dur
        if total_audio_duration > limits["max_total_seconds"]:
            raise ValueError(
                f"Total reference audio duration is {total_audio_duration:.1f}s. "
                f"Maximum is {limits['max_total_seconds']} seconds."
            )

        asset_labels = _build_asset_labels(
            reference_assets,
            reference_image_assets,
            reference_video_assets,
            reference_audio_assets,
            len(reference_images),
            len(reference_videos),
            len(reference_audios),
        )
        prompt_text = _rewrite_asset_refs(model["prompt"], asset_labels)

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Use a longer, cleaner voice sample of at least 2 seconds.
  2. Pad or re-slice the audio so the waveform spans at least 1.8s at the declared sample_rate.
Defensive patterns

Strategy: validation

Validate before calling

dur = int(audio["waveform"].shape[-1]) / int(audio["sample_rate"])
if dur < 1.8:
    raise ValueError("reference audio under 1.8s minimum")

Prevention

When it happens

Trigger: A reference_audios input whose waveform duration in seconds is under 1.8 (very short voice snippet, truncated load, or mis-typed sample_rate in a hand-built AUDIO dict).

Common situations: Slicing a syllable from a voice track as a timbre reference; upstream trim nodes producing sub-2s outputs; AUDIO dicts constructed manually with a wrong sample_rate.

Related errors


AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14). Data as JSON: /api/errors/722bf4002d99fc07. Report an issue: GitHub.