1
1
import requests
2
2
import json
3
3
import os
4
+ import openai
4
5
from dotenv import load_dotenv
5
6
load_dotenv ()
6
7
7
8
openai_api_key = os .getenv ("OPENAI_API_KEY" )
9
+ openai_org_id = os .getenv ("OPENAI_ORG_ID" )
10
+ openai_api_base = "https://api.openai.com/v1"
11
+ azure_openai_api_key = os .getenv ("AZURE_OPENAI_API_KEY" )
12
+ azure_openai_api_base = os .getenv ("AZURE_OPENAI_ENDPOINT" )
13
+ deployment_name = os .getenv ("AZURE_OPENAI_DEPLOYMENT_NAME" )
14
+ use_azure = False
8
15
9
16
def text_to_image (prompt : str ):
10
17
authorization = f"Bearer { openai_api_key } "
@@ -14,10 +21,29 @@ def text_to_image(prompt: str):
14
21
response = requests .post (url , data = json .dumps (data ), headers = headers )
15
22
return response .json ()['data' ][0 ]['url' ]
16
23
24
+ def create_image_from_prompt (prompt : str , imagesize : str = "256x256" , num_images : int = 1 ):
25
+ if use_azure :
26
+ openai .api_type = "azure"
27
+ openai .api_version = "2023-05-15"
28
+ openai .api_base = azure_openai_api_base
29
+ openai .deployment_name = deployment_name
30
+ openai .api_key = azure_openai_api_key
31
+ else :
32
+ openai .api_type = "openai"
33
+ openai .api_version = '2020-11-07'
34
+ openai .api_key = openai_api_key
35
+ if openai_org_id :
36
+ openai .organization = openai_org_id
37
+ response = openai .Image .create (
38
+ prompt = prompt ,
39
+ n = num_images ,
40
+ size = imagesize )
41
+ image_urls = [data ['url' ] for data in response ['data' ]]
42
+ return image_urls
17
43
18
44
def main ():
19
45
prompt = 'While traveling through a dense forest, you stumble upon an ancient, overgrown path veering off from the main trail. Do you dare to explore its mysteries?'
20
- image_url = text_to_image (prompt )
46
+ image_url = create_image_from_prompt (prompt )
21
47
print (image_url )
22
48
23
49
if __name__ == '__main__' :
0 commit comments