Nodes/dots.tts · T8star-Aix/dots.tts 字幕时间轴标准化 · T8star-Aix
ComfyUI Node

dots.tts 字幕时间轴标准化 · T8star-Aix

Timeline — one node to validate and standardize any SRT, WebVTT, or dots.tts timeline

By T8mars·Created 23 days ago·Updated 14 days ago· 5
dots.tts 字幕时间轴标准化 · T8star-Aix
    • 标准 SRT
    • 标准时间轴 JSON
    timeline
    input_formatsrt

    Subtitle files are the messy middle of any dubbing pipeline, and everyone who's edited one by hand knows the pain: a mangled timestamp, a malformed cue, an SRT that some tool wrote in a slightly-wrong dialect. T8_DotsTTS_Timeline is the pack's cleanup node - it takes a timeline in SRT, WebVTT, or the pack's own timeline JSON, validates it, and outputs a canonical SRT plus a standardized timeline JSON. It's the "make sure the subtitles aren't garbage before we hand them to the renderer" step, and it doubles as a queue endpoint so you can preview subtitle text directly in the UI.

    Mechanically it's straightforward. timeline is the raw text you paste in, and input_format (srt default) tells it what dialect to parse. It's strict in the way subtitle tooling should be strict: invalid cues or unparseable timestamps come back as errors rather than being silently "fixed," because a dubbing render that proceeds on a subtly wrong timeline produces audio that's silently out of sync - the worst kind of bug. The two outputs are srt (the normalized SRT, rewritten consistently so every cue uses the same timestamp format and ordering) and timeline_json (the pack's standardized schema, with schema_version and a cues array).

    Since it's marked as an output node, you can use it as the end of a chain: run T8_DotsTTS_Transcribe (which emits an SRT and timeline JSON) into this node, and the subtitle text appears in the UI preview for a quick read before you commit it to a project. That round-trip - transcribe → validate → render - is the intended position in a workflow.

    When you'll actually reach for it

    • You pulled an SRT from a caption tool and want to normalize it before feeding T8_DotsTTS_Project or T8_DotsTTS_BatchQueue.
    • You're converting between WebVTT and SRT without hand-editing.
    • You want to check whether a timeline is even valid before you burn GPU time rendering against it.

    The node is pure text processing - no model, no GPU, runs instantly. The one trap is subtle: input_format must match what you actually pasted. Feed WebVTT while it's set to srt and you'll get parse errors that look like the node is broken. It isn't; the format selector is the dial to check first.

    No install extras beyond the pack itself - ComfyUI Manager search dots-tts-t8, or git clone https://github.com/T8mars/comfyui-dots-tts-T8 into custom_nodes and pip install -r requirements.txt.

    CategoryT8star-Aix/Audio/dots.tts

    Inputs (2)

    NameTypeDefaultDescription
    timelineSTRING
    input_formatCOMBOsrt3 options: srt, vtt, json

    Outputs (2)

    NameTypeDescription
    标准 SRTSTRING
    标准时间轴 JSONSTRING