Nodes/ComfyUI-ASSSSA/Save subtitle file
ComfyUI Node

Save subtitle file

Turn any text in your graph into a subtitle file

By HighDoping·Created about a year ago·Updated about a year ago· 1
Save subtitle file
    • filepath
    subtitle_text
    filename_prefixsubs/ComfyUI
    formatass
    encodingutf-8

    ASSSubtitleSave is the quiet back half of this pack's subtitle story: it takes whatever text you've got in your workflow and writes it to disk as a .ass or .srt file. On its own that sounds almost too simple to be a node, but it becomes genuinely useful the moment you're generating or editing subtitles programmatically - the output of an LLM that translated or rewrote your dialogue, for instance, or cleaned-up text from ASSSubtitleReader.

    It's the exact inverse of ASSSubtitleSave's sibling: Reader pulls subtitle text into the graph, this pushes text out into a real file, which you can then feed straight into SubtitleEmbedding for hard- or soft-embedding. Read → translate → save → embed is the whole workflow this pack was built around, and this is the node that closes the loop.

    What it does

    Three inputs, one output, no mystery:

    • subtitle_text - a multiline STRING, the actual subtitle content. You can paste it in by hand or wire it from any text-producing node.
    • filename_prefix (default subs/ComfyUI) - the node stamps a timestamp onto it and writes <prefix>_<YYYYMMDD_HHMMSS>.<ext> into ComfyUI's output/ folder. The timestamp means you never accidentally overwrite a previous run, which is a nice touch for batch work.
    • format - ass or srt.
    • encoding (optional) - same generous list as the reader (utf-8, utf-8-sig, latin-1, cp1252, shift-jis, euc-jp, gbk, big5), so you can write files that older players actually understand.

    The filepath (STRING) output tells you where the file landed, so you can pass it along to the next node or read it from the console.

    Worth noting: the node's own description says "cache directory," but the code writes to the standard ComfyUI output folder. Don't go hunting for a cache dir - it's in output/.

    One honest caveat: this node writes exactly what you give it. It won't reformat garbage into valid ASS or renumber SRT cue times. It's a file writer, not a subtitle linter - if your text doesn't have proper Dialogue: lines or [Events] headers, the file won't render correctly when embedded. For machine-generated subtitles, generate valid ASS syntax and you're fine.

    Installing

    Part of ComfyUI-ASSSSA: install from ComfyUI Manager (search "ComfyUI-ASSSSA") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/HighDoping/ComfyUI_ASSSSA
    

    Restart ComfyUI. No Python packages, no model downloads - and like the reader, this one is pure Python, so it works even if FFmpeg isn't on your system. (The embedding step after it still needs FFmpeg, though.)

    CategoryComfyUI_ASSSSA

    Inputs (4)

    NameTypeDefaultDescription
    subtitle_textSTRING
    filename_prefixSTRINGsubs/ComfyUI
    formatCOMBOassSubtitle format
    encodingoptCOMBOutf-8Character encoding for the subtitle file

    Outputs (1)

    NameTypeDescription
    filepathSTRING