66from threading import Event
77from collections .abc import Buffer
88from typing import Coroutine , Dict , Sequence , List , Tuple , Optional
9- from diffusers import QwenImagePipeline , QwenImageImg2ImgPipeline
10- from tensorstack .utils import MemoryStdout , create_scheduler , getDataType , createTensor
9+ from diffusers import QwenImagePipeline , QwenImageImg2ImgPipeline , QwenImageEditPipeline
10+ from tensorstack .utils import MemoryStdout , create_scheduler , getDataType , imageFromInput
1111sys .stderr = MemoryStdout ()
1212
1313# Globals
@@ -56,6 +56,14 @@ def load(
5656 token = secureToken ,
5757 variant = variant
5858 )
59+ elif _processType == "ImageEdit" :
60+ _pipeline = QwenImageEditPipeline .from_pretrained (
61+ modelName ,
62+ torch_dtype = torch_dtype ,
63+ cache_dir = cacheDir ,
64+ token = secureToken ,
65+ variant = variant
66+ )
5967
6068 #Lora Adapters
6169 if loraAdapters is not None :
@@ -151,7 +159,7 @@ def generate(
151159 )[0 ]
152160 elif _processType == "ImageToImage" :
153161 output = _pipeline (
154- image = createTensor (inputData , inputShape , device = _pipeline . device , dtype = _pipeline . dtype ),
162+ image = imageFromInput (inputData , inputShape ),
155163 strength = strength ,
156164 prompt = prompt ,
157165 negative_prompt = negativePrompt ,
@@ -165,6 +173,21 @@ def generate(
165173 callback_on_step_end = _progress_callback ,
166174 callback_on_step_end_tensor_inputs = ["latents" ]
167175 )[0 ]
176+ elif _processType == "ImageEdit" :
177+ output = _pipeline (
178+ image = imageFromInput (inputData , inputShape ),
179+ prompt = prompt ,
180+ negative_prompt = negativePrompt ,
181+ height = height ,
182+ width = width ,
183+ generator = _generator .manual_seed (seed ),
184+ true_cfg_scale = guidanceScale ,
185+ guidance_scale = guidanceScale2 ,
186+ num_inference_steps = steps ,
187+ output_type = "np" ,
188+ callback_on_step_end = _progress_callback ,
189+ callback_on_step_end_tensor_inputs = ["latents" ]
190+ )[0 ]
168191
169192 # (Batch, Channel, Height, Width)
170193 output = output .transpose (0 , 3 , 1 , 2 )
0 commit comments