From 4222fe00949ae8b83744b0be5c6bdf14e886a7a6 Mon Sep 17 00:00:00 2001 From: sauravniraula Date: Thu, 10 Jul 2025 20:25:40 +0545 Subject: [PATCH] fix(fastapi): makes google image gen async --- .../api/routers/presentation/handlers/generate_stream.py | 5 +++++ servers/fastapi/image_processor/images_finder.py | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/servers/fastapi/api/routers/presentation/handlers/generate_stream.py b/servers/fastapi/api/routers/presentation/handlers/generate_stream.py index fd2d2762..f2ad7d99 100644 --- a/servers/fastapi/api/routers/presentation/handlers/generate_stream.py +++ b/servers/fastapi/api/routers/presentation/handlers/generate_stream.py @@ -149,7 +149,12 @@ class PresentationGenerateStreamHandler(FetchAssetsOnPresentationGenerationMixin ) ): chunk = event.choices[0].delta.content + + if chunk is None: + continue + presentation_text += chunk + yield SSEResponse( event="response", data=json.dumps({"type": "chunk", "chunk": chunk}), diff --git a/servers/fastapi/image_processor/images_finder.py b/servers/fastapi/image_processor/images_finder.py index 867442fc..0e9c1c6e 100644 --- a/servers/fastapi/image_processor/images_finder.py +++ b/servers/fastapi/image_processor/images_finder.py @@ -52,8 +52,7 @@ async def generate_image( async def generate_image_openai(prompt: str, output_directory: str) -> str: client = get_llm_client() - result = await asyncio.to_thread( - client.images.generate, + result = await client.images.generate( model="dall-e-3", prompt=prompt, n=1, @@ -72,7 +71,8 @@ async def generate_image_openai(prompt: str, output_directory: str) -> str: async def generate_image_google(prompt: str, output_directory: str) -> str: client = genai.Client() - response = client.models.generate_content( + response = await asyncio.to_thread( + client.models.generate_content, model="gemini-2.0-flash-preview-image-generation", contents=[prompt], config=GenerateContentConfig(response_modalities=["TEXT", "IMAGE"]),