svjack's picture
Upload folder using huggingface_hub
f35a9ed verified
# Copyright 2024-2025 The Alibaba Wan Team Authors. All rights reserved.
import copy
import os
import torch
os.environ["TOKENIZERS_PARALLELISM"] = "false"
from .wan_i2v_14B import i2v_14B
from .wan_t2v_1_3B import t2v_1_3B
from .wan_t2v_14B import t2v_14B
# the config of t2i_14B is the same as t2v_14B
t2i_14B = copy.deepcopy(t2v_14B)
t2i_14B.__name__ = "Config: Wan T2I 14B"
# support Fun models: deepcopy and change some configs. FC denotes Fun Control
t2v_1_3B_FC = copy.deepcopy(t2v_1_3B)
t2v_1_3B_FC.__name__ = "Config: Wan-Fun-Control T2V 1.3B"
t2v_1_3B_FC.i2v = True # this is strange, but Fun-Control model needs this because it has img cross-attention
t2v_1_3B_FC.in_dim = 48
t2v_1_3B_FC.is_fun_control = True
t2v_14B_FC = copy.deepcopy(t2v_14B)
t2v_14B_FC.__name__ = "Config: Wan-Fun-Control T2V 14B"
t2v_14B_FC.i2v = True # this is strange, but Fun-Control model needs this because it has img cross-attention
t2v_14B_FC.in_dim = 48 # same as i2v_14B, use zeros for image latents
t2v_14B_FC.is_fun_control = True
i2v_14B_FC = copy.deepcopy(i2v_14B)
i2v_14B_FC.__name__ = "Config: Wan-Fun-Control I2V 14B"
i2v_14B_FC.in_dim = 48
i2v_14B_FC.is_fun_control = True
WAN_CONFIGS = {
"t2v-14B": t2v_14B,
"t2v-1.3B": t2v_1_3B,
"i2v-14B": i2v_14B,
"t2i-14B": t2i_14B,
# Fun Control models
"t2v-1.3B-FC": t2v_1_3B_FC,
"t2v-14B-FC": t2v_14B_FC,
"i2v-14B-FC": i2v_14B_FC,
}
SIZE_CONFIGS = {
"720*1280": (720, 1280),
"1280*720": (1280, 720),
"480*832": (480, 832),
"832*480": (832, 480),
"1024*1024": (1024, 1024),
}
MAX_AREA_CONFIGS = {
"720*1280": 720 * 1280,
"1280*720": 1280 * 720,
"480*832": 480 * 832,
"832*480": 832 * 480,
}
SUPPORTED_SIZES = {
"t2v-14B": ("720*1280", "1280*720", "480*832", "832*480"),
"t2v-1.3B": ("480*832", "832*480"),
"i2v-14B": ("720*1280", "1280*720", "480*832", "832*480"),
"t2i-14B": tuple(SIZE_CONFIGS.keys()),
# Fun Control models
"t2v-1.3B-FC": ("480*832", "832*480"),
"t2v-14B-FC": ("720*1280", "1280*720", "480*832", "832*480"),
"i2v-14B-FC": ("720*1280", "1280*720", "480*832", "832*480"),
}