From bb06956b2dee5a1050af7fbde2b05959d2e5aa64 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Sat, 4 Oct 2025 11:25:46 +0800 Subject: [PATCH] allow wan to use img2img via init image --- otherarch/sdcpp/sdtype_adapter.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/otherarch/sdcpp/sdtype_adapter.cpp b/otherarch/sdcpp/sdtype_adapter.cpp index fbe7e0933..6aa738a29 100644 --- a/otherarch/sdcpp/sdtype_adapter.cpp +++ b/otherarch/sdcpp/sdtype_adapter.cpp @@ -682,9 +682,12 @@ sd_generation_outputs sdtype_generate(const sd_generation_inputs inputs) sd_params->clip_skip = inputs.clip_skip; sd_params->sample_method = sampler_from_name(inputs.sample_method); - bool is_img2img = img2img_data != ""; - auto loadedsdver = get_loaded_sd_version(sd_ctx); + bool is_img2img = img2img_data != ""; + bool is_wan = (loadedsdver == SDVersion::VERSION_WAN2 || loadedsdver == SDVersion::VERSION_WAN2_2_I2V || loadedsdver == SDVersion::VERSION_WAN2_2_TI2V); + bool is_qwenimg = (loadedsdver == SDVersion::VERSION_QWEN_IMAGE); + bool is_kontext = (loadedsdver==SDVersion::VERSION_FLUX && !loaded_model_is_chroma(sd_ctx)); + if (loadedsdver == SDVersion::VERSION_FLUX) { if (!loaded_model_is_chroma(sd_ctx) && sd_params->cfg_scale != 1.0f) { @@ -703,6 +706,11 @@ sd_generation_outputs sdtype_generate(const sd_generation_inputs inputs) } } + if(is_wan && extra_image_data.size()==0 && is_img2img) + { + extra_image_data.push_back(img2img_data); + } + const int default_res_limit = 8192; // arbitrary, just to simplify the code // avoid crashes due to bugs/limitations on certain models // although it can be possible for a single side to exceed 1024, the total resolution of the image @@ -739,9 +747,6 @@ sd_generation_outputs sdtype_generate(const sd_generation_inputs inputs) std::vector kontext_imgs; std::vector wan_imgs; std::vector photomaker_imgs; - bool is_wan = (loadedsdver == SDVersion::VERSION_WAN2 || loadedsdver == SDVersion::VERSION_WAN2_2_I2V || loadedsdver == SDVersion::VERSION_WAN2_2_TI2V); - bool is_qwenimg = (loadedsdver == SDVersion::VERSION_QWEN_IMAGE); - bool is_kontext = (loadedsdver==SDVersion::VERSION_FLUX && !loaded_model_is_chroma(sd_ctx)); if(is_qwenimg) {