Update LICENSE and WAN SVI Pro motion node

This commit is contained in:
IAMCCS
2026-03-02 09:12:33 +01:00
parent 33a538455e
commit 524054f559
2 changed files with 63 additions and 18 deletions
+36 -17
View File
@@ -1,21 +1,40 @@
MIT License
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (c) 2025 Carmine Cristallo Scalzi
Copyright (C) 2025 Carmine Cristallo Scalzi (IAMCCS)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-------------------------------------------------------------------------------
ATTRIBUTION NOTICE (GPL-3.0, Section 5a)
-------------------------------------------------------------------------------
This project incorporates code derived from the following upstream projects,
all distributed under the GNU General Public License v3.0:
- ComfyUI-Wan-SVI2Pro-FLF (https://github.com/IAMCCS/ComfyUI-Wan-SVI2Pro-FLF)
Copyright (C) original contributors — GPL-3.0
- ComfyUI-KJNodes (https://github.com/kijai/ComfyUI-KJNodes)
Copyright (C) Kijai — GPL-3.0
- ComfyUI (https://github.com/comfyanonymous/ComfyUI)
Copyright (C) comfyanonymous and contributors — GPL-3.0
In particular, iamccs_wan_svipro_motion.py contains logic adapted from
ComfyUI-Wan-SVI2Pro-FLF and ComfyUI-KJNodes. All modifications are by
Carmine Cristallo Scalzi (IAMCCS) and are released under the same GPL-3.0
license in compliance with the copyleft requirements of the upstream projects.
-------------------------------------------------------------------------------
Full license text: https://www.gnu.org/licenses/gpl-3.0.txt
-------------------------------------------------------------------------------
+27 -1
View File
@@ -2,6 +2,19 @@
# ===============================================================
# IAMCCS WanImageMotion
# Drop-in replacement for KJNodes WanImageToVideoSVIPro with motion control
#
# Copyright (C) 2025-2026 Carmine Cristallo Scalzi (IAMCCS)
#
# This file is part of IAMCCS-nodes and is distributed under the
# GNU General Public License v3.0 (GPL-3.0).
#
# This file contains logic derived from the following GPL-3.0 projects:
# - ComfyUI-Wan-SVI2Pro-FLF (https://github.com/IAMCCS/ComfyUI-Wan-SVI2Pro-FLF)
# - ComfyUI-KJNodes (https://github.com/kijai/ComfyUI-KJNodes)
# - ComfyUI (https://github.com/comfyanonymous/ComfyUI)
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# ===============================================================
import torch
@@ -724,7 +737,10 @@ class WanImageMotionPro:
"converges toward the end frame without hard-freezing on it. "
"Use the trim_slots output to cut the overshoot frames after sampling. "
"0 = disabled, original behavior. 1 = +4 video frames (recommended). "
"2 = +8 video frames (looser convergence)."
"2 = +8 video frames (looser convergence). "
"NOTE: If you have KJNodes WAN attention optimizations (FETA / wrapped_attention) enabled, "
"some versions may crash with an einops shape mismatch when overshoot > 0. "
"Workaround: set end_overshoot_slots=0 or disable/update that KJNodes optimization."
),
},
),
@@ -922,6 +938,16 @@ class WanImageMotionPro:
)
total_latents_gen = total_latents + _overshoot
if _overshoot > 0:
self._log.warning(
"[WanImageMotionPro] end_overshoot_slots=%s enabled (total_latents=%s -> gen=%s). "
"If you use KJNodes WAN attention optimizations (FETA / wrapped_attention) and hit an einops shape mismatch, "
"set end_overshoot_slots=0 or disable/update that optimization.",
int(end_overshoot_slots),
total_latents,
total_latents_gen,
)
device = anchor_latent.device
dtype = anchor_latent.dtype