@@ -616,8 +616,11 @@ def run_generation_loop(
616616 patched_clip .cond_stage_model .set_clip_options ({"layer" : clip_skip })
617617
618618 tokens = patched_clip .tokenize (prompt )
619- cond , pooled = patched_clip .encode_from_tokens (tokens , return_pooled = True )
620- conditioning_cache ["positive" ][prompt ] = [[cond , {"pooled_output" : pooled }]]
619+ # Use return_dict=True to preserve all extra conditioning keys
620+ # (e.g. t5xxl_ids/t5xxl_weights for Anima, attention_mask for Lumina, etc.)
621+ pooled_dict = patched_clip .encode_from_tokens (tokens , return_pooled = True , return_dict = True )
622+ cond = pooled_dict .pop ("cond" )
623+ conditioning_cache ["positive" ][prompt ] = [[cond , pooled_dict ]]
621624
622625 if original_layer is not None :
623626 patched_clip .cond_stage_model .set_clip_options ({"layer" : original_layer })
@@ -635,8 +638,10 @@ def run_generation_loop(
635638 patched_clip .cond_stage_model .set_clip_options ({"layer" : clip_skip })
636639
637640 tokens = patched_clip .tokenize (prompt )
638- cond , pooled = patched_clip .encode_from_tokens (tokens , return_pooled = True )
639- conditioning_cache ["negative" ][prompt ] = [[cond , {"pooled_output" : pooled }]]
641+ # Use return_dict=True to preserve all extra conditioning keys
642+ pooled_dict = patched_clip .encode_from_tokens (tokens , return_pooled = True , return_dict = True )
643+ cond = pooled_dict .pop ("cond" )
644+ conditioning_cache ["negative" ][prompt ] = [[cond , pooled_dict ]]
640645
641646 if original_layer is not None :
642647 patched_clip .cond_stage_model .set_clip_options ({"layer" : original_layer })
0 commit comments