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