ITDA ONE STUDIO (TJ)
ITDA ONE STUDIO (TJ) is a video editor with a ComfyUI node bolted to it
Where your clips go to become a video
ComfyUI is fine at making a clip and terrible at joining three of them. Your options are usually a VideoHelperSuite concat node, a shrug, and a trip to a real editor. "잇다" (itda) means "to join" - and this node is a proper multi-lane stitch timeline sitting inside the canvas: split, group, stitch, snap, box-select, copy/paste, waveforms, zoom and scrub, fullscreen, plus Auto Stitch, scene and beat detection, versions, pre-render, and a real ffmpeg export.
It's aimed at the rest of its pack's output - the media bin imports straight from the MiniMax H3 video gallery and the MusicMaker playlist, so you generate clips and cut them without leaving ComfyUI.
Why it has zero sockets
Open this node's Python class and you'll find INPUT_TYPES with nothing but a hidden id, and an empty RETURN_TYPES. That's not half-finished, it's the design: everything runs over the pack's own HTTP routes (/itda_studio_one/api/project, /media/upload, /waveform, /stitch_analyze, /scene_detect, /beat_detect, /export, /prerender, /send_to_comfy). The node is flagged as an output node and reports IS_CHANGED as NaN, so ComfyUI will queue it happily - but pressing RUN does nothing useful. Nothing to wire in, nothing out.
The editor is ITDA's real front-end mounted as plain DOM inside the node, its stylesheet wrapped in a CSS @scope block so it can't leak into the rest of ComfyUI. The standalone ITDA pack's code was absorbed verbatim rather than depended on, so you don't need both installed.
Your work lives in files, not the graph: projects are JSON in ComfyUI/input/ITDA_STUDIO/projects/, per-project media in input/ITDA_STUDIO/media/<project>/, exports in output/one_itda_studio/.
The parts worth understanding
Auto Stitch earns the name. Given clip A's out point and clip B's in point, it scans a window near each edge and scores candidate cuts - small grayscale frames for look, optical flow for whether the motion leaving A continues into B. A rightward pan cutting into a rightward pan reads as continuous even when the frames differ; the same cut into a static shot jerks. It needs OpenCV for the motion half and quietly drops motion from the score if OpenCV is missing. One honest detail in the source: audio-level continuity is measured but excluded from ranking, because on real footage it scored deliberately-wrong cuts higher than perfect ones.
Scene detect uses ffmpeg's own scene score in a single decode pass; beat detect decodes audio through ffmpeg and hands raw samples to librosa for beat frames and BPM.
Transitions fall out of the lane rules: two clips can't overlap in the same lane, so a clip on a higher lane overlapping another's tail gets a blended handoff instead of a hard cut. Send to ComfyUI renders the trimmed clip or a single frame into ComfyUI's input folder, so LoadImage or VHS LoadVideo can pick it up and your timeline work flows back into the graph.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/designloves2/ComfyUI-TJ_NODE_STUDIO_ONE.git
Or Manager → Install Custom Nodes → ComfyUI-TJ_NODE_STUDIO_ONE. Then run install_requirements.sh (install_requirements.bat on Windows) once and restart - Manager installs Python packages but never the node packs this family leans on. The pack is MIT-licensed; this node arrived in the October 2026 batch.
ffmpeg is not optional here. Export, scene detection, beat detection, thumbnails, waveforms and clip analysis all shell out to ffmpeg and ffprobe by name. Note the difference from the pack's H3 stitcher, which looks for imageio-ffmpeg's bundled binary first - the ITDA backend just calls ffmpeg, so it has to be on your PATH.
Where people get burned
Export or scene detect fails instantly. Check ffmpeg from the same shell (or service) that launches ComfyUI:
ffmpeg -version && ffprobe -version
Beat detection returns librosa unavailable. That's on the pack, not you: librosa is imported lazily and isn't in its requirements.txt. Install it into the same Python environment ComfyUI uses:
pip install librosa
A silent clip gets you "no usable audio stream for beat detection" instead - that's the clip, not the install.
Clip 'x' points outside ITDA's media folders means a project JSON was hand-edited to reference a file outside the project's media folder. Import through the editor's bin instead; it's a deliberate boundary.
Long exports take as long as they take - the timeline is composited in one ffmpeg pass, so keep the tab open and wait rather than clicking Export again. Text burn-in with Korean or CJK depends on a font ffmpeg can actually load; the backend converts and caches a usable one rather than letting drawtext fall back to a font with no CJK glyphs.
Two expectations to set: the media bin takes local video and audio only (no stills or text), and to reuse a result in a graph you go through Send to ComfyUI - there's no output socket to find.
Inputs (0)
No inputs
Outputs (0)
No outputs