Nodes/Symbiotica/NS Submagic Captions
ComfyUI Node

NS Submagic Captions

Submagic-Style Captions, Inside ComfyUI

By symbiotica-ai·Created 6 months ago·Updated about 13 hours ago· 2
NS Submagic Captions
  • video
  • video
languageen
templateHormozi 2
api_key
magic_zoomsfalse
magic_brollsfalse

If you make short-form video, you know the look: big animated word-by-word captions with highlight colors, the style that took over TikTok and YouTube Shorts. Submagic is the tool that owns that look. NS Submagic Captions drags it into ComfyUI: you feed it a video, it uploads it to Submagic's API, applies the caption style you pick, and hands you the rendered result back.

Straight up: this is a paid cloud render, not a local node. You need a Submagic account and API key, and each render goes through their servers and takes a while. If you're already paying for Submagic, this is huge - it means the captions step lives in the same graph as your generation, so you can rebuild a whole video in one queue. If you wanted free local captions, this isn't it.

How it works

The node uploads your video to Submagic (api.submagic.co), polls until the render finishes, and downloads the captioned result. Every request is bounded with timeouts (uploads and downloads up to five minutes each), and pressing Cancel in ComfyUI actually stops the wait - the node checks ComfyUI's interrupt flag, which is more than most of these cloud nodes bother with.

The interesting choices:

  • template - 30 styles, and they're named like the creators they copy: Sara, Dan, Devin, Tayo, Ella, Luke, plus the Hormozi series (Hormozi 1–5) that are the current default for business reels. Pick with the dropdown and you can preview the result without knowing what "that one style" is called.
  • language - 14 languages including en, es, fr, de, ja, ko, zh, ar, hi. Transcription happens on Submagic's side.
  • magic_zooms and magic_brolls - Submagic's auto effects. Magic zooms punches in on key moments; magic brolls inserts B-roll. Both off by default; they're the difference between "captioned" and "edited."

Inputs are video, language, template, and api_key (leave empty for the SUBMAGIC_API_KEY env var or Settings → Symbiotica). Output is the captioned video.

Install and setup

This is part of the Symbiotica pack. ComfyUI Manager → search "Symbiotica" → install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt

Then get a Submagic API key and set it via Settings → Symbiotica (or the SUBMAGIC_API_KEY env var). Avoid typing it into the node widget - like the other key fields in this pack, a key typed there gets baked into the workflow JSON you might share.

Troubleshooting

  • It's slow - is it stuck? Probably not. Upload, render, download is a multi-minute pipeline. The node polls for minutes before timing out.
  • The render fails partway - this is a paid API; check your Submagic account for the failed job and your billing. The node surfaces the API error, so read the message.
  • Captions in the wrong language - you picked the language in the node, but if your source has no clean dialogue track, transcription quality drops. A whisper-transcribed source isn't fed in here; Submagic does its own transcription from the video's audio.
  • Cancel doesn't kill it instantly - the interrupt check happens between poll cycles, so it stops at the next checkpoint, not mid-upload.
Categoryneuralsins/Video

Inputs (6)

NameTypeDefaultDescription
videoVIDEO
languageCOMBOen14 options: en, el, es, fr, de, it, +8
templateCOMBOHormozi 230 options: Sara, Daniel, Dan 2, Hormozi 4, Dan, Devin, +24
api_keyoptSTRINGSubmagic API key (or set in config.ini / SUBMAGIC_API_KEY env var)
magic_zoomsoptBOOLEANfalseAuto zoom effects on key moments
magic_brollsoptBOOLEANfalseAuto B-roll insertion

Outputs (1)

NameTypeDescription
videoVIDEO