AliInamdar commited on
Commit
8651294
·
verified ·
1 Parent(s): d7103d7

Create openai_provider.py

Browse files
Files changed (1) hide show
  1. providers/openai_provider.py +25 -0
providers/openai_provider.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from typing import List
3
+
4
+ from openai import OpenAI
5
+ from .base import ImageProvider
6
+
7
+ _OPENAI_IMAGE_MODEL = os.getenv("OPENAI_IMAGE_MODEL", "gpt-image-1")
8
+
9
+ class OpenAIImageProvider(ImageProvider):
10
+ def __init__(self, api_key: str):
11
+ # The SDK reads key from env, but we allow explicit injection too.
12
+ os.environ["OPENAI_API_KEY"] = api_key
13
+ self.client = OpenAI()
14
+
15
+ def generate_image(self, prompt: str, size: str = "1024x1024", n: int = 1) -> List[str]:
16
+ # OpenAI returns base64 JSON for images
17
+ resp = self.client.images.generate(
18
+ model=_OPENAI_IMAGE_MODEL,
19
+ prompt=prompt,
20
+ size=size,
21
+ n=n
22
+ )
23
+ # Each item has .b64_json
24
+ images_b64 = [d.b64_json for d in resp.data]
25
+ return images_b64