nextchat / ai /tti.py
Nouman
Updated tti
7644a86
import os
from datetime import datetime
import boto3
import requests
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
s3 = boto3.resource(
service_name=os.environ["S3_SERVICE_NAME"],
region_name=os.environ["S3_REGION_NAME"],
aws_access_key_id=os.environ["AWS_ACCESS_KEY_ID"],
aws_secret_access_key=os.environ["AWS_SECRET_ACCESS_KEY"],
)
client = OpenAI()
def texttoimage(prompt):
try:
# Generate image from prompt
response = client.images.generate(
model="dall-e-3",
prompt=prompt,
size="1024x1024",
quality="standard",
n=1,
)
image_url = response.data[0].url
print("Image URL:", image_url)
# Download image
image_data = requests.get(image_url).content
# Generate unique image filename
now = datetime.now().strftime('%Y%m%d_%H%M%S')
image_key = f'images/{now}.png'
# Upload to S3
bucket_name = os.environ["S3_BUCKET_NAME"]
s3.Bucket(bucket_name).put_object(Key=image_key, Body=image_data, ContentType='image/png')
print("image_key:", image_key)
return os.environ["AWS_BUCKET_CF_URL"]+"/"+image_key
except Exception as e:
print('Error occurred!', str(e))
return False