Spaces:
Running
on
Zero
Running
on
Zero
File size: 4,947 Bytes
9857f35 a6fce5e 9857f35 4e9e36c 9857f35 a6fce5e 9857f35 9f739e2 a1a01e0 9f739e2 325dc62 9f739e2 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e bda227c a6fce5e 9857f35 a6fce5e 9857f35 5057d1e 12c4956 7af0278 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 325dc62 09c04a7 a6fce5e 9857f35 a6fce5e 9857f35 a0d7fba 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 158f6fa 9857f35 a6fce5e 9857f35 158f6fa 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 09c04a7 9857f35 a6fce5e f588de8 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
import gradio as gr
import numpy as np
import random
import spaces
import torch
from diffusers import DiffusionPipeline, AutoencoderTiny
dtype = torch.bfloat16
device = "cuda" if torch.cuda.is_available() else "cpu"
taef1 = AutoencoderTiny.from_pretrained("aifeifei798/taef1", torch_dtype=dtype).to(
device
)
pipe = DiffusionPipeline.from_pretrained(
"aifeifei798/DarkIdol-flux-v1.1", torch_dtype=dtype, vae=taef1
).to(device)
MAX_SEED = np.iinfo(np.int32).max
MAX_IMAGE_SIZE = 2048
@spaces.GPU()
def infer(prompt, seed=42, randomize_seed=False, width=1024, height=1024, num_inference_steps=4, progress=gr.Progress(track_tqdm=True)):
if randomize_seed:
seed = random.randint(0, MAX_SEED)
generator = torch.Generator().manual_seed(seed)
image = pipe(
prompt = prompt,
width = width,
height = height,
num_inference_steps = num_inference_steps,
generator = generator,
guidance_scale=3.5
).images[0]
return image, seed
examples = [
"Capture a serene Japanese model in a snow-covered street, clad in a sensual Balenciaga winter outfit, evoking a sense of intimacy and luxury, with a harmonious blend of warm and cool tones, subtle shadows, and meticulous details, conveying a narrative of elegance and poise.",
"A high-resolution photograph of a female model posing for a Louis Vuitton brand advertisement, featuring natural lighting effects, a consistent style, balanced composition, rich details, harmonious colors, no visible flaws, emotional expression, creativity, and uniqueness, with optimized technical parameters, master-level lighting, master-level color, and master-level styling.",
"A high-resolution photograph of a female model in a serene, natural setting, with soft, warm lighting, and a minimalist aesthetic, showcasing a elegant fragrance bottle and the model's effortless, emotive expression, with impeccable styling, and a muted color palette, evoking a sense of understated luxury and refinement.",
"A high-resolution photograph of a female model posing beside a sleek, red Ferrari, bathed in warm, golden light, with subtle shadows accentuating her curves and the car's contours, set against a blurred, gradient blue background, with the model's elegant, flowing gown and the Ferrari's metallic sheen perfectly complementing each other in a masterful display of color, texture, and composition.",
]
css="""
#col-container {
margin: 0 auto;
max-width: 520px;
}
"""
with gr.Blocks(css=css) as demo:
with gr.Column(elem_id="col-container"):
gr.Markdown(f"""# DarkIdol-flux-v1.1
DarkIdol-flux-v1.1 is a text-to-image AI model designed to create aesthetic, detailed and diverse images from textual prompts in just 6-8 steps. It offers enhanced performance in image quality, typography, understanding complex prompts, and resource efficiency.
""")
with gr.Row():
prompt = gr.Text(
label="Prompt",
show_label=False,
max_lines=12,
placeholder="Enter your prompt",
container=False,
)
run_button = gr.Button("Run", scale=0)
result = gr.Image(label="Result", show_label=False)
with gr.Accordion("Advanced Settings", open=False):
seed = gr.Slider(
label="Seed",
minimum=0,
maximum=MAX_SEED,
step=1,
value=0,
)
randomize_seed = gr.Checkbox(label="Randomize seed", value=True)
with gr.Row():
width = gr.Slider(
label="Width",
minimum=256,
maximum=MAX_IMAGE_SIZE,
step=32,
value=1088,
)
height = gr.Slider(
label="Height",
minimum=256,
maximum=MAX_IMAGE_SIZE,
step=32,
value=1920,
)
with gr.Row():
num_inference_steps = gr.Slider(
label="Number of inference steps",
minimum=1,
maximum=50,
step=1,
value=6,
)
gr.Examples(
examples = examples,
fn = infer,
inputs = [prompt],
outputs = [result, seed],
cache_examples=False
)
gr.on(
triggers=[run_button.click, prompt.submit],
fn = infer,
inputs = [prompt, seed, randomize_seed, width, height, num_inference_steps],
outputs = [result, seed]
)
demo.launch() |