MCPcopy Index your code
hub / github.com/kijai/ComfyUI-WanVideoWrapper / process

Method process

nodes.py:222–282  ·  view source on GitHub ↗
(self, model_name, precision, positive_prompt, negative_prompt, quantization='disabled', use_disk_cache=True, device="gpu", extender_args=None)

Source from the content-addressed store, hash-verified

220
221
222 def process(self, model_name, precision, positive_prompt, negative_prompt, quantization='disabled', use_disk_cache=True, device="gpu", extender_args=None):
223 from .nodes_model_loading import LoadWanVideoT5TextEncoder
224 pbar = ProgressBar(3)
225
226 echoshot = True if "[1]" in positive_prompt else False
227
228 # Handle prompt extension with in-memory cache
229 orig_prompt = positive_prompt
230 if extender_args is not None:
231 extender_key = (orig_prompt, str(extender_args))
232 if extender_key in _extender_cache:
233 positive_prompt = _extender_cache[extender_key]
234 log.info(f"Loaded extended prompt from in-memory cache: {positive_prompt}")
235 else:
236 from .qwen.qwen import QwenLoader, WanVideoPromptExtender
237 log.info("Using WanVideoPromptExtender to process prompts")
238 qwen, = QwenLoader().load(
239 extender_args["model"],
240 load_device="main_device" if device == "gpu" else "cpu",
241 precision=precision)
242 positive_prompt, = WanVideoPromptExtender().generate(
243 qwen=qwen,
244 max_new_tokens=extender_args["max_new_tokens"],
245 prompt=orig_prompt,
246 device=device,
247 force_offload=False,
248 custom_system_prompt=extender_args["system_prompt"],
249 seed=extender_args["seed"]
250 )
251 log.info(f"Extended positive prompt: {positive_prompt}")
252 _extender_cache[extender_key] = positive_prompt
253 del qwen
254 pbar.update(1)
255
256 # Now check disk cache using the (possibly extended) prompt
257 if use_disk_cache:
258 context, context_null = get_cached_text_embeds(positive_prompt, negative_prompt)
259 if context is not None and context_null is not None:
260 return{
261 "prompt_embeds": context,
262 "negative_prompt_embeds": context_null,
263 "echoshot": echoshot,
264 },{"prompt_embeds": context_null}, positive_prompt
265
266 t5, = LoadWanVideoT5TextEncoder().loadmodel(model_name, precision, "main_device", quantization)
267 pbar.update(1)
268
269 prompt_embeds_dict, = WanVideoTextEncode().process(
270 positive_prompt=positive_prompt,
271 negative_prompt=negative_prompt,
272 t5=t5,
273 force_offload=False,
274 model_to_offload=None,
275 use_disk_cache=use_disk_cache,
276 device=device
277 )
278 pbar.update(1)
279 del t5

Callers

nothing calls this directly

Calls 10

QwenLoaderClass · 0.85
get_cached_text_embedsFunction · 0.85
WanVideoTextEncodeClass · 0.85
loadMethod · 0.80
generateMethod · 0.80
updateMethod · 0.45
loadmodelMethod · 0.45
processMethod · 0.45

Tested by

no test coverage detected