Spaces:
Sleeping
Sleeping
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 | |