Nodes/IAMCCS-nodes/IAMCCS Speech Length Calculator
ComfyUI Node

IAMCCS Speech Length Calculator

How long is that line of dialogue on screen? This node counts the words for you

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS Speech Length Calculator
    • slow_frame_count
    • average_frame_count
    • fast_frame_count
    • text
    textPut spoken words inside quotes, for example: "I am ready."
    fps24
    additional_time0.0
    text_input

    Dialogue pacing is a numbers problem wearing a creative disguise. You've got a line of voiceover and a video at 24fps, and you need the shot to last at least as long as the words take to say. IAMCCS_CineSpeechLength is the tiny calculator that does it: paste the spoken line, it counts the words, applies three speaking speeds, and gives you a frame count for each.

    How it works

    It reads your text, extracts the words inside quotes (so you can keep stage directions out of the count), counts them, and runs the count through three standard speech rates: 100 words per minute (slow), 130 (average), and 160 (fast). Each gets multiplied by your fps and rounded up, and you get:

    • slow_frame_count - how many frames a deliberate reading takes.
    • average_frame_count - the 130 WPM number you'll probably actually use.
    • fast_frame_count - the minimum viable length for a quick read.
    • text - the active text echoed back (the widget value, or the text_input wire if you connected one, which overrides the widget).

    There's also additional_time (seconds) added on top of every estimate - headroom for pauses, breaths, or a beat before the camera moves. The word-count logic ignores everything outside the quotes, so Put spoken words inside quotes, for example: "I am ready." counts only "I am ready."

    Why you'd bother

    This is a planning node for dialogue-driven video (the pack's Cine/Audio corner). Wire the average_frame_count into a duration or shot-length node in a shotboard/timeline workflow and your scene lengths stop being guesses. It's also honest about its limits: WPM is an average, and a dramatic pause isn't in the math - that's what additional_time is for. If your line is long, the slow number is the safe one to design against; trim to the fast number only if you're confident in the read.

    Install

    Part of IAMCCS-nodes:

    • ComfyUI Manager → search "IAMCCS" → install → restart.
    • Or:
    cd ComfyUI/custom_nodes
    git clone https://github.com/IAMCCS/IAMCCS-nodes.git
    

    Restart ComfyUI. Requirements: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. No models, no downloads - it's pure word-count math, so it runs anywhere the pack does.

    CategoryIAMCCS/Cine/Audio

    Inputs (4)

    NameTypeDefaultDescription
    textSTRINGPut spoken words inside quotes, for example: "I am ready."
    fpsINT241–120
    additional_timeFLOAT0.0
    text_inputoptSTRING

    Outputs (4)

    NameTypeDescription
    slow_frame_countINT
    average_frame_countINT
    fast_frame_countINT
    textSTRING