gsavin commited on
Commit
c665bd4
·
1 Parent(s): a277e33

fix: make image generation async

Browse files
src/audio/audio_generator.py CHANGED
@@ -5,7 +5,6 @@ from config import settings
5
  import wave
6
  import queue
7
  import logging
8
- import gradio as gr
9
  import io
10
  import time
11
 
 
5
  import wave
6
  import queue
7
  import logging
 
8
  import io
9
  import time
10
 
src/images/image_generator.py CHANGED
@@ -9,7 +9,7 @@ import logging
9
 
10
  logger = logging.getLogger(__name__)
11
 
12
- client = genai.Client(api_key=settings.gemini_api_key.get_secret_value())
13
 
14
  async def generate_image(prompt: str) -> tuple[str, str] | None:
15
  """
@@ -26,11 +26,11 @@ async def generate_image(prompt: str) -> tuple[str, str] | None:
26
  os.makedirs(output_dir, exist_ok=True)
27
 
28
  try:
29
- response = client.models.generate_content(
30
  model="gemini-2.0-flash-preview-image-generation",
31
  contents=prompt,
32
  config=types.GenerateContentConfig(
33
- response_modalities=['TEXT', 'IMAGE']
34
  )
35
  )
36
 
@@ -62,7 +62,7 @@ async def generate_image(prompt: str) -> tuple[str, str] | None:
62
  return None, None
63
 
64
 
65
- def modify_image(image_path: str, modification_prompt: str) -> str | None:
66
  """
67
  Modify an existing image using Google's Gemini model based on a text prompt.
68
 
@@ -84,14 +84,14 @@ def modify_image(image_path: str, modification_prompt: str) -> str | None:
84
 
85
  key = settings.gemini_api_key.get_secret_value()
86
 
87
- client = genai.Client(api_key=key)
88
 
89
  try:
90
  # Load the input image
91
  input_image = Image.open(image_path)
92
 
93
  # Make the API call with both text and image
94
- response = client.models.generate_content(
95
  model="gemini-2.0-flash-preview-image-generation",
96
  contents=[modification_prompt, input_image],
97
  config=types.GenerateContentConfig(
 
9
 
10
  logger = logging.getLogger(__name__)
11
 
12
+ client = genai.Client(api_key=settings.gemini_api_key.get_secret_value()).aio
13
 
14
  async def generate_image(prompt: str) -> tuple[str, str] | None:
15
  """
 
26
  os.makedirs(output_dir, exist_ok=True)
27
 
28
  try:
29
+ response = await client.models.generate_content(
30
  model="gemini-2.0-flash-preview-image-generation",
31
  contents=prompt,
32
  config=types.GenerateContentConfig(
33
+ response_modalities=['TEXT', 'IMAGE'],
34
  )
35
  )
36
 
 
62
  return None, None
63
 
64
 
65
+ async def modify_image(image_path: str, modification_prompt: str) -> str | None:
66
  """
67
  Modify an existing image using Google's Gemini model based on a text prompt.
68
 
 
84
 
85
  key = settings.gemini_api_key.get_secret_value()
86
 
87
+ client = genai.Client(api_key=key).aio
88
 
89
  try:
90
  # Load the input image
91
  input_image = Image.open(image_path)
92
 
93
  # Make the API call with both text and image
94
+ response = await client.models.generate_content(
95
  model="gemini-2.0-flash-preview-image-generation",
96
  contents=[modification_prompt, input_image],
97
  config=types.GenerateContentConfig(