@@ -122,6 +122,7 @@ def generate(
122122 guidance_strength : float = 0.0 ,
123123 preset : Optional [str ] = None ,
124124 return_request : bool = False ,
125+ sign_with_cai : bool = False ,
125126 ) -> Dict [int , List [Any ]]:
126127 """
127128 Generate an image from a set of weighted prompts.
@@ -164,7 +165,7 @@ def generate(
164165 start_schedule = 1.0 - init_strength
165166 image_params = self ._build_image_params (width , height , sampler , steps , seed , samples , cfg_scale ,
166167 start_schedule , init_noise_scale , masked_area_init ,
167- guidance_preset , guidance_cuts , guidance_strength )
168+ guidance_preset , guidance_cuts , guidance_strength , sign_with_cai )
168169
169170 extras = Struct ()
170171 if preset and preset .lower () != 'none' :
@@ -235,7 +236,7 @@ def inpaint(
235236 start_schedule = 1.0 - init_strength
236237 image_params = self ._build_image_params (width , height , sampler , steps , seed , samples , cfg_scale ,
237238 start_schedule , init_noise_scale , masked_area_init ,
238- guidance_preset , guidance_cuts , guidance_strength )
239+ guidance_preset , guidance_cuts , guidance_strength , sign_with_cai = False )
239240
240241 extras = Struct ()
241242 if preset and preset .lower () != 'none' :
@@ -538,7 +539,7 @@ def _adjust_request_for_retry(self, request: generation.Request, attempt: int):
538539
539540 def _build_image_params (self , width , height , sampler , steps , seed , samples , cfg_scale ,
540541 schedule_start , init_noise_scale , masked_area_init ,
541- guidance_preset , guidance_cuts , guidance_strength ):
542+ guidance_preset , guidance_cuts , guidance_strength , sign_with_cai ):
542543
543544 if not seed :
544545 seed = [random .randrange (0 , 4294967295 )]
@@ -568,6 +569,12 @@ def _build_image_params(self, width, height, sampler, steps, seed, samples, cfg_
568569 )
569570 ]
570571 )
572+ # empty CAI Parameters will result in images not being signed by the CAI server
573+ caip = generation .CAIParameters ()
574+ if sign_with_cai :
575+ caip = generation .CAIParameters (
576+ model_metadata = generation ._CAIPARAMETERS_MODELMETADATA .values_by_name [
577+ 'SIGN_WITH_ENGINE_ID' ].number )
571578
572579 return generation .ImageParameters (
573580 transform = None if sampler is None else generation .TransformType (diffusion = sampler ),
@@ -578,6 +585,7 @@ def _build_image_params(self, width, height, sampler, steps, seed, samples, cfg_
578585 samples = samples ,
579586 masked_area_init = masked_area_init ,
580587 parameters = [generation .StepParameter (** step_parameters )],
588+ cai_parameters = caip
581589 )
582590
583591 def _process_response (self , response ) -> Dict [int , List [Any ]]:
0 commit comments