@@ -3585,6 +3585,9 @@ def _SafetyAttributes_from_mldev(
3585
3585
to_object , ['scores' ], getv (from_object , ['safetyAttributes' , 'scores' ])
3586
3586
)
3587
3587
3588
+ if getv (from_object , ['contentType' ]) is not None :
3589
+ setv (to_object , ['content_type' ], getv (from_object , ['contentType' ]))
3590
+
3588
3591
return to_object
3589
3592
3590
3593
@@ -3606,6 +3609,9 @@ def _SafetyAttributes_from_vertex(
3606
3609
to_object , ['scores' ], getv (from_object , ['safetyAttributes' , 'scores' ])
3607
3610
)
3608
3611
3612
+ if getv (from_object , ['contentType' ]) is not None :
3613
+ setv (to_object , ['content_type' ], getv (from_object , ['contentType' ]))
3614
+
3609
3615
return to_object
3610
3616
3611
3617
@@ -3692,6 +3698,17 @@ def _GenerateImagesResponse_from_mldev(
3692
3698
],
3693
3699
)
3694
3700
3701
+ if getv (from_object , ['positivePromptSafetyAttributes' ]) is not None :
3702
+ setv (
3703
+ to_object ,
3704
+ ['positive_prompt_safety_attributes' ],
3705
+ _SafetyAttributes_from_mldev (
3706
+ api_client ,
3707
+ getv (from_object , ['positivePromptSafetyAttributes' ]),
3708
+ to_object ,
3709
+ ),
3710
+ )
3711
+
3695
3712
return to_object
3696
3713
3697
3714
@@ -3711,6 +3728,17 @@ def _GenerateImagesResponse_from_vertex(
3711
3728
],
3712
3729
)
3713
3730
3731
+ if getv (from_object , ['positivePromptSafetyAttributes' ]) is not None :
3732
+ setv (
3733
+ to_object ,
3734
+ ['positive_prompt_safety_attributes' ],
3735
+ _SafetyAttributes_from_vertex (
3736
+ api_client ,
3737
+ getv (from_object , ['positivePromptSafetyAttributes' ]),
3738
+ to_object ,
3739
+ ),
3740
+ )
3741
+
3714
3742
return to_object
3715
3743
3716
3744
@@ -4515,7 +4543,7 @@ def embed_content(
4515
4543
self ._api_client ._verify_response (return_value )
4516
4544
return return_value
4517
4545
4518
- def generate_images (
4546
+ def _generate_images (
4519
4547
self ,
4520
4548
* ,
4521
4549
model : str ,
@@ -4528,21 +4556,6 @@ def generate_images(
4528
4556
model (str): The model to use.
4529
4557
prompt (str): A text description of the images to generate.
4530
4558
config (GenerateImagesConfig): Configuration for generation.
4531
-
4532
- Usage:
4533
-
4534
- .. code-block:: python
4535
-
4536
- response = client.models.generate_images(
4537
- model='imagen-3.0-generate-002',
4538
- prompt='Man with a dog',
4539
- config=types.GenerateImagesConfig(
4540
- number_of_images= 1,
4541
- include_rai_reason= True,
4542
- )
4543
- )
4544
- response.generated_images[0].image.show()
4545
- # Shows a man with a dog.
4546
4559
"""
4547
4560
4548
4561
parameter_model = types ._GenerateImagesParameters (
@@ -5558,6 +5571,61 @@ def generate_content_stream(
5558
5571
automatic_function_calling_history .append (func_call_content )
5559
5572
automatic_function_calling_history .append (func_response_content )
5560
5573
5574
+ def generate_images (
5575
+ self ,
5576
+ * ,
5577
+ model : str ,
5578
+ prompt : str ,
5579
+ config : Optional [types .GenerateImagesConfigOrDict ] = None ,
5580
+ ) -> types .GenerateImagesResponse :
5581
+ """Generates images based on a text description and configuration.
5582
+
5583
+ Args:
5584
+ model (str): The model to use.
5585
+ prompt (str): A text description of the images to generate.
5586
+ config (GenerateImagesConfig): Configuration for generation.
5587
+
5588
+ Usage:
5589
+
5590
+ .. code-block:: python
5591
+
5592
+ response = client.models.generate_images(
5593
+ model='imagen-3.0-generate-002',
5594
+ prompt='Man with a dog',
5595
+ config=types.GenerateImagesConfig(
5596
+ number_of_images= 1,
5597
+ include_rai_reason= True,
5598
+ )
5599
+ )
5600
+ response.generated_images[0].image.show()
5601
+ # Shows a man with a dog.
5602
+ """
5603
+ api_response = self ._generate_images (
5604
+ model = model ,
5605
+ prompt = prompt ,
5606
+ config = config ,
5607
+ )
5608
+ positive_prompt_safety_attributes = None
5609
+ generated_images = []
5610
+ if not api_response or not api_response .generated_images :
5611
+ return api_response
5612
+
5613
+ for generated_image in api_response .generated_images :
5614
+ if (
5615
+ generated_image .safety_attributes
5616
+ and generated_image .safety_attributes .content_type
5617
+ == 'Positive Prompt'
5618
+ ):
5619
+ positive_prompt_safety_attributes = generated_image .safety_attributes
5620
+ else :
5621
+ generated_images .append (generated_image )
5622
+
5623
+ response = types .GenerateImagesResponse (
5624
+ generated_images = generated_images ,
5625
+ positive_prompt_safety_attributes = positive_prompt_safety_attributes ,
5626
+ )
5627
+ return response
5628
+
5561
5629
def edit_image (
5562
5630
self ,
5563
5631
* ,
@@ -5956,7 +6024,7 @@ async def embed_content(
5956
6024
self ._api_client ._verify_response (return_value )
5957
6025
return return_value
5958
6026
5959
- async def generate_images (
6027
+ async def _generate_images (
5960
6028
self ,
5961
6029
* ,
5962
6030
model : str ,
@@ -5969,21 +6037,6 @@ async def generate_images(
5969
6037
model (str): The model to use.
5970
6038
prompt (str): A text description of the images to generate.
5971
6039
config (GenerateImagesConfig): Configuration for generation.
5972
-
5973
- Usage:
5974
-
5975
- .. code-block:: python
5976
-
5977
- response = await client.aio.models.generate_images(
5978
- model='imagen-3.0-generate-002',
5979
- prompt='Man with a dog',
5980
- config=types.GenerateImagesConfig(
5981
- number_of_images= 1,
5982
- include_rai_reason= True,
5983
- )
5984
- )
5985
- response.generated_images[0].image.show()
5986
- # Shows a man with a dog.
5987
6040
"""
5988
6041
5989
6042
parameter_model = types ._GenerateImagesParameters (
@@ -7087,6 +7140,61 @@ async def list(
7087
7140
config ,
7088
7141
)
7089
7142
7143
+ async def generate_images (
7144
+ self ,
7145
+ * ,
7146
+ model : str ,
7147
+ prompt : str ,
7148
+ config : Optional [types .GenerateImagesConfigOrDict ] = None ,
7149
+ ) -> types .GenerateImagesResponse :
7150
+ """Generates images based on a text description and configuration.
7151
+
7152
+ Args:
7153
+ model (str): The model to use.
7154
+ prompt (str): A text description of the images to generate.
7155
+ config (GenerateImagesConfig): Configuration for generation.
7156
+
7157
+ Usage:
7158
+
7159
+ .. code-block:: python
7160
+
7161
+ response = await client.aio.models.generate_images(
7162
+ model='imagen-3.0-generate-002',
7163
+ prompt='Man with a dog',
7164
+ config=types.GenerateImagesConfig(
7165
+ number_of_images= 1,
7166
+ include_rai_reason= True,
7167
+ )
7168
+ )
7169
+ response.generated_images[0].image.show()
7170
+ # Shows a man with a dog.
7171
+ """
7172
+ api_response = await self ._generate_images (
7173
+ model = model ,
7174
+ prompt = prompt ,
7175
+ config = config ,
7176
+ )
7177
+ positive_prompt_safety_attributes = None
7178
+ generated_images = []
7179
+ if not api_response or not api_response .generated_images :
7180
+ return api_response
7181
+
7182
+ for generated_image in api_response .generated_images :
7183
+ if (
7184
+ generated_image .safety_attributes
7185
+ and generated_image .safety_attributes .content_type
7186
+ == 'Positive Prompt'
7187
+ ):
7188
+ positive_prompt_safety_attributes = generated_image .safety_attributes
7189
+ else :
7190
+ generated_images .append (generated_image )
7191
+
7192
+ response = types .GenerateImagesResponse (
7193
+ generated_images = generated_images ,
7194
+ positive_prompt_safety_attributes = positive_prompt_safety_attributes ,
7195
+ )
7196
+ return response
7197
+
7090
7198
async def upscale_image (
7091
7199
self ,
7092
7200
* ,
0 commit comments