from config import * from diffusers import AutoPipelineForText2Image from argparse import ArgumentParser import humanize import datetime as dt def generate_image(path_id, imgfile, prompt): pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo") image = pipe(prompt=prompt, num_inference_steps=4, guidance_scale=0.0).images[0] image.save(os.path.join("temp", path_id, imgfile)) def generate_images(path_id, imgfile, prompt, times=1): pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo") for i in range(times): image = pipe(prompt=prompt, num_inference_steps=1, guidance_scale=0.0).images[0] image.save(os.path.join("temp", path_id, str(i) + "_" + imgfile)) if __name__ == '__main__': path_id = str(int(time.time())) path = os.path.join("temp", "image", path_id) os.makedirs(path, exist_ok=True) parser = ArgumentParser() parser.add_argument("--prompt", default="Young woman with long, blonde hair, smiling slightly", help="avatar prompt") parser.add_argument("--times", type=int, default=1, help="number of avatars to generate") args = parser.parse_args() tstart = time.time() generate_images(os.path.join("image", path_id), "avatar.png", f"hyper-realistic digital avatar, centered, {args.prompt}, \ rim lighting, studio lighting, looking at the camera", args.times) print("total time:", humanize.naturaldelta(dt.timedelta(seconds=int(time.time() - tstart))))