import torch
from torch import autocast
from diffusers import StableDiffusionXLPipeline, EulerAncestralDiscreteScheduler
import matplotlib.pyplot as plt
from PIL import Image
import time
from diffusers import DiffusionPipeline
import os
import sys


output_dir = "./output"
if not os.path.exists(output_dir):
    # ディレクトリが存在しない場合、ディレクトリを作成する
    os.makedirs(output_dir)



model ="cagliostrolab/animagine-xl-3.1"

prompt = "1girl, souryuu asuka langley, neon genesis evangelion, solo, upper body, v, smile, looking at viewer, outdoors, night"
negative_prompt = "nsfw, lowres, (bad), text, error, fewer, extra, missing, worst quality, jpeg artifacts, low quality, watermark, unfinished, displeasing, oldest, early, chromatic aberration, signature, extra digits, artistic error, username, scan, [abstract]"



pipe = DiffusionPipeline.from_pretrained(
    model,
    torch_dtype=torch.float16,
    use_safetensors=True
)


# pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe.to('cuda')



image = pipe(
    prompt,
    negative_prompt=negative_prompt,
    width=832,
    height=1216,
    guidance_scale=7,
    num_inference_steps=28
).images[0]

current_time = time.strftime("%Y%m%d%H%M%S")



image.save(output_dir+"/"+current_time+".png")
