A video model only follows a guide inside the clip length it was trained on, so long sources are split into shots that fit and run once per shot. - BFS Shot Planner: interactive Vue timeline (thumbnails, cut-detector curve, draggable boundaries, split/merge, per-shot reference gallery with upload, per-shot prompt). Splits at camera cuts via PySceneDetect (adaptive/content, built-in fallback), fixed length, or by hand; lengths snap to the model grid (H3 17n+5, LTX/Wan 8n+1, 4n+1). Outputs the shots as a ComfyUI list so everything downstream runs once per shot. - BFS Shot Unpack: guide frames, references, prompt, length, audio of one shot. - BFS Shot H3 Conditioning: native MiniMax H3 conditioning per shot (aligned guide, native reference video, or both). - BFS Shot Join: concatenates in order, trims each shot to its true length, cross-fades soft joins with the real overlap frames, returns the soundtrack. - Queue loop mode: one shot per run stored on disk, auto re-queue, nodes after the join blocked until the last shot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
50 lines
2.6 KiB
TOML
50 lines
2.6 KiB
TOML
[project]
|
|
name = "bfsnodes"
|
|
description = "Custom ComfyUI nodes for reference-guided video: the BFS Sampler (guide-driven IC-LoRAs with auto-configured crop, mask inpainting and temporal chunking in one node), LTX Multiple Controls and Identity Transfer (IPT2V reference + source-phase RoPE), LTXV Edit Anything, Head-Swap/Anime2Real Bernini conditioning, the AMV Guide Builder, MiniMax-H3 aligned downscaled latent guides with training-matched posterior encoding and spatial coordinates, experimental overlap/sidecar source-phase RoPE and caption-only identity references, true single-frame/video targets, single-frame VAE loaders with tile control, LoRA Surgery (read any LoRA's layers and blocks, then scale or drop them live to find which modules carry a defect, and save the result as a new LoRA), and the Shot Planner / Shot Loop (split long videos into model-sized shots at camera cuts with PySceneDetect on an interactive timeline, set a reference and prompt per shot, run any workflow once per shot in one run or as a queue loop, and join the results with the original timing and audio)."
|
|
version = "1.48.0"
|
|
license = {file = "LICENSE"}
|
|
dependencies = [
|
|
"torch",
|
|
"numpy",
|
|
"Pillow",
|
|
"safetensors",
|
|
"librosa",
|
|
"opencv-python",
|
|
"scenedetect",
|
|
"insightface==0.7.3",
|
|
"onnxruntime",
|
|
"transformers>=4.55.0",
|
|
"scipy",
|
|
]
|
|
# classifiers = [
|
|
# # For OS-independent nodes (works on all operating systems)
|
|
# "Operating System :: OS Independent",
|
|
#
|
|
# # OR for OS-specific nodes, specify the supported systems:
|
|
# "Operating System :: Microsoft :: Windows", # Windows specific
|
|
# "Operating System :: POSIX :: Linux", # Linux specific
|
|
# "Operating System :: MacOS", # macOS specific
|
|
#
|
|
# # GPU Accelerator support. Pick the ones that are supported by your extension.
|
|
# "Environment :: GPU :: NVIDIA CUDA", # NVIDIA CUDA support
|
|
# "Environment :: GPU :: AMD ROCm", # AMD ROCm support
|
|
# "Environment :: GPU :: Intel Arc", # Intel Arc support
|
|
# "Environment :: NPU :: Huawei Ascend", # Huawei Ascend support
|
|
# "Environment :: GPU :: Apple Metal", # Apple Metal support
|
|
# ]
|
|
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/alisson-anjos/ComfyUI-BFSNodes"
|
|
# Used by Comfy Registry https://registry.comfy.org
|
|
Documentation = "https://github.com/alisson-anjos/ComfyUI-BFSNodes/wiki"
|
|
"Bug Tracker" = "https://github.com/alisson-anjos/ComfyUI-BFSNodes/issues"
|
|
|
|
[tool.comfy]
|
|
web = "web"
|
|
PublisherId = "alisson-anjos"
|
|
DisplayName = "ComfyUI-BFSNodes"
|
|
Icon = ""
|
|
includes = []
|
|
# "requires-comfyui" = ">=1.0.0" # ComfyUI version compatibility
|