import sys
import PIL
import requests
import torch
from diffusers import StableDiffusionPipeline
from PIL import Image
from diffusers.utils import load_image

def download_image(url):
    image = PIL.Image.open(requests.get(url, stream=True).raw)
    image = PIL.ImageOps.exif_transpose(image)
    image = image.convert("RGB")
    return image



def generate_image(prompt, output_image_path):  
    model_id = "runwayml/stable-diffusion-v1-5"
    pipe = StableDiffusionPipeline.from_pretrained(
        model_id, torch_dtype=torch.float16, variant="fp16"
    )
    pipe = pipe.to("cpu")

    result_image = pipe(prompt).images[0]
    result_image.save(output_image_path)

if __name__ == "__main__":
    prompt = sys.argv[1]
    output_image_path = sys.argv[2]
    generate_image(prompt, output_image_path)
