Nodes/comfyui-AGSoft/🎬🖼️AGSoft Images To Video From Dir
ComfyUI Node

🎬🖼️AGSoft Images To Video From Dir

🎬️🖼️ AGSoft Images To Video From Dir. Builds a video slideshow from images loaded directly from a folder (extension filter with support for multiple patterns, start/end indices, count limit, natural sort). Slides are joined with FFmpeg xfade transitions and an optional voiceover - either a direct audio file path (audio_path, priority) or the AUDIO input socket; the optional Ken Burns effect adds smooth zoom/pan (2x supersampled, jitter-free). When a voiceover is connected, the video is rendered first and the audio is aligned to its REAL length in a fast second pass (video copied, not re-encoded) - no desync, no trailing silence. --- 🎬🖼️ AGSoft Images To Video From Dir. Собирает видео-слайдшоу из изображений прямо из папки (фильтр расширений с поддержкой нескольких паттернов, индексы старт/конец, лимит количества, natural sort). Слайды склеиваются переходами FFmpeg xfade и опциональной озвучкой - либо прямой путь к аудиофайлу (audio_path, приоритет), либо сокет AUDIO; опциональный Ken Burns добавляет плавный zoom/pan (2x суперсэмплинг, без рывков). При подключённой озвучке сначала рендерится видео, затем аудио подгоняется под его РЕАЛЬНУЮ длительность быстрым вторым проходом (видео копируется) - без рассинхрона и тишины в конце.

By Art-xmaster·Created 12 months ago·Updated a day ago· 20
🎬🖼️AGSoft Images To Video From Dir
  • audio
  • video_path
  • duration_seconds
  • duration_timecode
  • file_size_mb
  • width
  • height
  • fps
  • frames_est
output_nameslideshow.mp4
output_path
folder_path
audio_path
filter_type*.png
custom_filter*.png, *.jpg
start_index0
end_index0
max_images0
image_duration3.0
output_fps30
resize_modefirst_image
fit_modeletterbox
custom_width0
custom_height0
transition_typefade
transition_duration0.8
ken_burnsoff
kb_motionin
kb_zoom_start1.00
kb_zoom_end1.30
audio_modefit
audio_volume1.00
audio_fade_in0.0
audio_fade_out0.0
encoder_modeauto
quality_presetbalanced
CategoryAGSoft/Video

Inputs (28)

NameTypeDefaultDescription
output_nameSTRINGslideshow.mp4Output filename. The extension is kept as entered (.mp4 by default). --- Имя итогового файла. Расширение сохраняется как введено (по умолчанию .mp4).
output_pathSTRINGOutput directory. If empty, ComfyUI/output is used. --- Папка сохранения. Если пусто, используется ComfyUI/output.
folder_pathSTRINGPath to the folder with images. --- Путь к папке с изображениями.
audio_pathSTRINGOptional direct path to an audio file (e.g. C:/temp/sample.mp3). If set and the file exists, it is used as the voiceover and takes priority over the AUDIO socket. Leave empty to ignore (then the AUDIO socket is used if connected). --- Опционально: прямой путь к аудиофайлу (например C:/temp/sample.mp3). Если задан и файл существует, он используется как озвучка и имеет приоритет над сокетом AUDIO. Оставьте пустым, чтобы игнорировать (тогда используется сокет AUDIO, если подключён).
filter_typeCOMBO*.pngFile extension filter. *.* = all files. custom = use custom_filter. --- Фильтр по расширению. *.* = все файлы. custom = использовать custom_filter.
custom_filterSTRING*.png, *.jpgUsed when filter_type='custom'. One or more patterns separated by comma/semicolon/space. Examples: '*.png, *.jpg' or 'png jpg' or '*.webp'. A bare extension (png) becomes *.png. --- Используется при filter_type='custom'. Один или несколько паттернов через запятую/точку с запятой/пробел. Примеры: '*.png, *.jpg' или 'png jpg' или '*.webp'. Расширение без точки (png) превращается в *.png.
start_indexINT00–999999First file index (0-based, inclusive) in the sorted list. --- Индекс первого файла (с 0, включительно) в отсортированном списке.
end_indexINT00–999999Last file index (inclusive). 0 = to the end of the list. --- Индекс последнего файла (включительно). 0 = до конца списка.
max_imagesINT00–999999Maximum number of images to use (from the selected range). 0 = all. --- Максимум изображений для видео (из выбранного диапазона). 0 = все.
image_durationFLOAT3.00.1–60Display duration of each slide in seconds (global for all slides). --- Длительность показа каждого слайда в секундах (глобально для всех слайдов).
output_fpsCOMBO30Output frame rate. --- Частота кадров результата.
resize_modeCOMBOfirst_imageHow to choose the output resolution. first_image = first image size. max_size/min_size = extremes. custom = custom_width/height. --- Как выбирать разрешение результата. first_image = по первому изображению. max_size/min_size = экстремумы. custom = вручную.
fit_modeCOMBOletterboxletterbox = fit with black bars. crop = fill and crop center. stretch = stretch. --- letterbox = вписать с чёрными полосами. crop = заполнить и обрезать центр. stretch = растянуть.
custom_widthINT00–8192Custom width for resize_mode=custom. 0 = fallback.
custom_heightINT00–8192Custom height for resize_mode=custom. 0 = fallback.
transition_typeCOMBOfadeTransition type between slides. cut = hard cut. random = random per junction. --- Тип перехода между слайдами. cut = жёсткая склейка. random = случайный на каждом стыке.
transition_durationFLOAT0.80–10Transition duration in seconds. 0 = cut mode. Clamped if longer than a slide. --- Длительность перехода в секундах. 0 = режим cut. Ограничивается, если длиннее слайда.
ken_burnsCOMBOoffEnable Ken Burns (smooth zoom/pan) on the static slides. --- Включить Ken Burns (плавный zoom/pan) на статичных слайдах.
kb_motionCOMBOinKen Burns motion. in/out = zoom in/out; pan_* = panning; random = random per slide. --- Движение Ken Burns. in/out = наезд/отъезд; pan_* = панорама; random = случайно на каждый слайд.
kb_zoom_startFLOAT1.001–3Ken Burns start zoom (1.0 = no zoom). For pan modes a minimum of 1.2 is enforced. --- Начальный зум Ken Burns (1.0 = без зума). Для pan принудительно не меньше 1.2.
kb_zoom_endFLOAT1.301–3Ken Burns end zoom (used by in/out motions). --- Конечный зум Ken Burns (для движений in/out).
audio_modeCOMBOfitfit = trim audio or pad with silence to match the video length. loop = repeat the audio track across the whole video length. --- fit = обрезать аудио или добить тишиной под длину видео. loop = зациклить трек на всю длину видео.
audio_volumeFLOAT1.000–2Voiceover volume multiplier. 1.0 = original. --- Множитель громкости озвучки. 1.0 = оригинал.
audio_fade_inFLOAT0.00–60Voiceover fade-in in seconds. / Появление озвучки в секундах.
audio_fade_outFLOAT0.00–60Voiceover fade-out in seconds. / Затухание озвучки в секундах.
encoder_modeCOMBOautoauto = NVENC if available, otherwise CPU. nvenc = force NVENC. cpu = force libx264. --- auto = NVENC, если доступен, иначе CPU. nvenc = принудительно NVENC. cpu = принудительно libx264.
quality_presetCOMBObalancedEncoding quality preset. / Пресет качества кодирования.
audiooptAUDIOOptional voiceover from Load Audio. Used only if audio_path is empty/invalid. If neither is provided, the output has no audio. --- Опциональная озвучка из Load Audio. Используется, только если audio_path пуст/неверен. Если не задано ни то, ни другое — выход без звука.

Outputs (8)

NameTypeDescription
video_pathSTRING
duration_secondsFLOAT
duration_timecodeSTRING
file_size_mbFLOAT
widthINT
heightINT
fpsFLOAT
frames_estINT