Nodes/comfyui-AGSoft/🎬⏱️AGSoft Video Freeze Frame
ComfyUI Node

🎬⏱️AGSoft Video Freeze Frame

Hold a frame so the viewer actually sees it

By Art-xmaster·Created about a year ago·Updated a day ago· 24
🎬⏱️AGSoft Video Freeze Frame
  • video
  • video_path
  • duration_seconds
  • duration_timecode
  • file_size_mb
  • width
  • height
  • fps
  • frames_est
output_namefreeze_frame.mp4
output_path
video_path
freeze_time1.0
freeze_duration1.0
encoder_modeauto
quality_presetbalanced

🎬⏱️AGSoft Video Freeze Frame does one thing: plays a video up to a chosen moment, holds that frame for a while, then carries on. It's the classic emphasis edit - the "let's pause so the viewer registers what just happened" beat - and while it sounds trivial, doing it cleanly in a node graph is usually more annoying than it should be. This node is one widget.

It re-encodes the video to insert the hold (you can't stream-copy a pause), so it's not the fastest node in the pack, but for a single freeze it's plenty quick.

The two numbers that matter

  • freeze_time - the moment in the source video (seconds) where the frame freezes.
  • freeze_duration - how many seconds the frozen frame is held before the clip resumes.

That's essentially the whole job. The source is the optional video input (priority) or video_path. output_name sets the filename, output_path the folder (empty = ComfyUI/output).

The only knobs beyond that are the encoding controls shared across the pack: encoder_mode (auto prefers NVENC, else CPU; force cpu if NVENC misbehaves) and quality_preset (fast / balanced / quality).

Outputs

The standard pack video set: video_path (STRING), duration_seconds, duration_timecode, file_size_mb, width, height, fps, frames_est - note the duration outputs will show the source length plus the freeze, which is a handy sanity check that the hold landed.

Install

Part of the comfyui-AGSoft pack. ComfyUI Manager → search "comfyui-AGSoft" → Install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Art-xmaster/comfyui-AGSoft

Restart. No models, no extra deps - it drives the FFmpeg binary ComfyUI bundles (or a system ffmpeg on PATH).

Two small cautions. First, freeze_time beyond the end of the clip is a no-op or an error depending on how the source is cut, so keep it inside the footage. Second, if you want a longer hold on a still that's already static (a slide, a title card), you're usually better off setting the slide duration in the slideshow nodes - the freeze node is for video that's actually moving.

CategoryAGSoft/Video

Inputs (8)

NameTypeDefaultDescription
output_nameSTRINGfreeze_frame.mp4Output filename. The extension is kept as entered (.mp4 by default). --- Имя итогового файла. Расширение сохраняется как введено (по умолчанию .mp4).
output_pathSTRINGOutput directory. If empty, ComfyUI/output is used. --- Папка сохранения. Если пусто, используется ComfyUI/output.
video_pathSTRINGPath to the source video. Used only if video input is not connected. --- Путь к исходному видео. Используется, только если вход video не подключен.
freeze_timeFLOAT1.00–86400The moment (seconds) where the frame freezes. --- Момент (в секундах), где кадр замирает.
freeze_durationFLOAT1.00.1–60How long (seconds) the freeze frame is held. --- Сколько секунд держать стоп-кадр.
encoder_modeCOMBOautoauto = NVENC if available, otherwise CPU. nvenc = force NVENC. cpu = force libx264. --- auto = NVENC, если доступен, иначе CPU. nvenc = принудительно NVENC. cpu = принудительно libx264.
quality_presetCOMBObalancedEncoding quality preset. / Пресет качества кодирования.
videooptVIDEOOptional source video from ComfyUI. Has priority over video_path. --- Опциональное исходное видео из ComfyUI. Имеет приоритет над video_path.

Outputs (8)

NameTypeDescription
video_pathSTRING
duration_secondsFLOAT
duration_timecodeSTRING
file_size_mbFLOAT
widthINT
heightINT
fpsFLOAT
frames_estINT