From 524054f559554749b4e015cc9429856534669c08 Mon Sep 17 00:00:00 2001 From: IAMCCS Date: Mon, 2 Mar 2026 09:12:33 +0100 Subject: [PATCH] Update LICENSE and WAN SVI Pro motion node --- LICENSE | 53 +++++++++++++++++++++++++------------ iamccs_wan_svipro_motion.py | 28 +++++++++++++++++++- 2 files changed, 63 insertions(+), 18 deletions(-) diff --git a/LICENSE b/LICENSE index 0ed6a8b..d4666c6 100644 --- a/LICENSE +++ b/LICENSE @@ -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 . + +------------------------------------------------------------------------------- +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 +------------------------------------------------------------------------------- diff --git a/iamccs_wan_svipro_motion.py b/iamccs_wan_svipro_motion.py index 3d868e2..93aaacb 100644 --- a/iamccs_wan_svipro_motion.py +++ b/iamccs_wan_svipro_motion.py @@ -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 . # =============================================================== 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