File size: 1,857 Bytes
1393f77
7338c67
9d65aa7
26139de
d5e5583
1393f77
68dc9bc
7338c67
 
1393f77
26139de
3474149
70187df
 
 
 
 
 
 
7338c67
1393f77
 
 
 
 
 
 
 
 
7338c67
1393f77
 
6af40e7
 
 
1393f77
 
4064994
1393f77
622021c
 
7338c67
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
import torch
from diffusers import DiffusionPipeline
import gradio as gr
import spaces

# Load the pre-trained diffusion model
pipe = DiffusionPipeline.from_pretrained('ptx0/terminus-xl-velocity-v2', torch_dtype=torch.bfloat16)
pipe.to('cuda')

# Define the image generation function with adjustable parameters and a progress bar
@spaces.GPU
def generate(prompt, guidance_scale, guidance_rescale, num_inference_steps, negative_prompt):
    return pipe(
        prompt,
        negative_prompt=negative_prompt,
        guidance_scale=guidance_scale,
        guidance_rescale=guidance_rescale,
        num_inference_steps=num_inference_steps
    ).images

# Example prompts to demonstrate the model's capabilities
example_prompts = [
    ["A futuristic cityscape at night under a starry sky", 7.5, 25, "blurry, overexposed"],
    ["A serene landscape with a flowing river and autumn trees", 8.0, 20, "crowded, noisy"],
    ["An abstract painting of joy and energy in bright colors", 9.0, 30, "dark, dull"]
]

# Create a Gradio interface
iface = gr.Interface(
    fn=generate,
    inputs=[
        gr.Text(label="Enter your prompt"),
        gr.Slider(1, 20, step=0.1, label="Guidance Scale", value=11.5),
        gr.Slider(0, 1, step=0.1, label="Rescale classifier-free guidance", value=0.7),
        gr.Slider(1, 50, step=1, label="Number of Inference Steps", value=25),
        gr.Text(value="underexposed, blurry, ugly, washed-out", label="Negative Prompt")
    ],
    outputs=gr.Gallery(height=1024, min_width=1024, columns=2),
    examples=example_prompts,
    title="Terminus XL Velocity v2.0 Demonstration",
    description="Terminus XL is a v-prediction model trained with a zero-terminal SNR noise schedule, allowing it to create very dark or very bright images. Occasionally, it will work pretty well for typography, eg. text in images."
).launch()