1- """Image Content Agent - Generates marketing images via DALL-E 3 or gpt-image-1.
1+ """Image Content Agent - Generates marketing images via DALL-E 3, gpt-image-1, or gpt-image-1.5 .
22
33Provides the generate_image function used by the orchestrator
4- to create marketing images using either DALL-E 3 or gpt-image-1.
4+ to create marketing images using either DALL-E 3, gpt-image-1, or gpt-image-1.5 .
55"""
66
77import logging
@@ -74,7 +74,7 @@ async def generate_dalle_image(
7474 quality : str = None
7575) -> dict :
7676 """
77- Generate a marketing image using DALL-E 3 or gpt-image-1.
77+ Generate a marketing image using DALL-E 3, gpt-image-1, or gpt-image-1.5 .
7878
7979 The model used is determined by AZURE_OPENAI_IMAGE_MODEL setting.
8080
@@ -84,10 +84,10 @@ async def generate_dalle_image(
8484 scene_description: Scene/setting description from creative brief
8585 size: Image size (model-specific, uses settings default if not provided)
8686 - dall-e-3: 1024x1024, 1024x1792, 1792x1024
87- - gpt-image-1: 1024x1024, 1536x1024, 1024x1536, auto
87+ - gpt-image-1/1.5 : 1024x1024, 1536x1024, 1024x1536, auto
8888 quality: Image quality (model-specific, uses settings default if not provided)
8989 - dall-e-3: standard, hd
90- - gpt-image-1: low, medium, high, auto
90+ - gpt-image-1/1.5 : low, medium, high, auto
9191
9292 Returns:
9393 Dictionary containing generated image data and metadata
@@ -97,7 +97,7 @@ async def generate_dalle_image(
9797 logger .info (f"Using image generation model: { image_model } " )
9898
9999 # Use appropriate generator based on model
100- if image_model == "gpt-image-1" :
100+ if image_model in [ "gpt-image-1" , "gpt-image-1.5" ] :
101101 return await _generate_gpt_image (prompt , product_description , scene_description , size , quality )
102102 else :
103103 return await _generate_dalle_image (prompt , product_description , scene_description , size , quality )
@@ -236,9 +236,9 @@ async def _generate_gpt_image(
236236 quality : str = None
237237) -> dict :
238238 """
239- Generate a marketing image using gpt-image-1.
239+ Generate a marketing image using gpt-image-1 or gpt-image-1.5 .
240240
241- gpt-image-1 has different capabilities than DALL-E 3:
241+ gpt-image models have different capabilities than DALL-E 3:
242242 - Supports larger prompt sizes
243243 - Different size options: 1024x1024, 1536x1024, 1024x1536, auto
244244 - Different quality options: low, medium, high, auto
@@ -257,18 +257,18 @@ async def _generate_gpt_image(
257257 brand = app_settings .brand_guidelines
258258
259259 # Use defaults from settings if not provided
260- # Map DALL-E quality settings to gpt-image-1 equivalents if needed
260+ # Map DALL-E quality settings to gpt-image-1 or gpt-image-1.5 equivalents if needed
261261 size = size or app_settings .azure_openai .image_size
262262 quality = quality or app_settings .azure_openai .image_quality
263263
264- # Map DALL-E quality values to gpt-image-1 equivalents
264+ # Map DALL-E quality values to gpt-image-1 or gpt-image-1.5 equivalents
265265 quality_mapping = {
266266 "standard" : "medium" ,
267267 "hd" : "high" ,
268268 }
269269 quality = quality_mapping .get (quality , quality )
270270
271- # Map DALL-E sizes to gpt-image-1 equivalents if needed
271+ # Map DALL-E sizes to gpt-image-1 or gpt-image-1.5 equivalents if needed
272272 size_mapping = {
273273 "1024x1792" : "1024x1536" , # Closest equivalent
274274 "1792x1024" : "1536x1024" , # Closest equivalent
@@ -332,10 +332,10 @@ async def _generate_gpt_image(
332332 )
333333
334334 try :
335- # gpt-image-1 API call - note: gpt-image-1 doesn't support response_format parameter
335+ # gpt-image-1/1.5 API call - note: gpt-image doesn't support response_format parameter
336336 # It returns base64 data directly in the response
337337 response = await client .images .generate (
338- model = "gpt-image-1" ,
338+ model = app_settings . azure_openai . effective_image_model ,
339339 prompt = full_prompt ,
340340 size = size ,
341341 quality = quality ,
0 commit comments