SNA-AI commited on
Commit
c16e68e
·
verified ·
1 Parent(s): 8b3da90

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -38
app.py CHANGED
@@ -1,55 +1,38 @@
1
- import torch
2
  import gradio as gr
3
- from diffusers import StableDiffusionPipeline
4
-
5
- model_id = "stabilityai/sd-turbo"
6
- device = "cuda" if torch.cuda.is_available() else "cpu"
7
-
8
- pipe = StableDiffusionPipeline.from_pretrained(
9
- model_id,
10
- torch_dtype=torch.float16 if device == "cuda" else torch.float32
11
- )
12
- pipe = pipe.to(device)
13
-
14
- styles = {
15
- "Realistic": "highly detailed, realistic, 4k",
16
- "Cartoon": "cartoon style, colorful",
17
- "Anime": "anime style",
18
- "Sketch": "pencil sketch"
19
  }
20
 
21
- def generate_image(prompt, style, steps, guidance, seed):
22
  if not prompt.strip():
23
- return None, "⚠️ Please enter a prompt."
24
 
25
- styled_prompt = prompt + ", " + styles.get(style, "")
26
- generator = torch.manual_seed(int(seed)) if seed != 0 else None
 
 
 
27
 
28
- image = pipe(
29
- styled_prompt,
30
- num_inference_steps=int(steps),
31
- guidance_scale=float(guidance),
32
- generator=generator
33
- ).images[0]
34
 
35
- return image, "✅ Done"
36
 
37
  with gr.Blocks() as app:
38
- gr.Markdown("# 🎨 Text-to-Image Generator")
39
- gr.Markdown("Powered by Stable Diffusion")
40
 
41
  prompt = gr.Textbox(label="Prompt")
42
- style = gr.Dropdown(["Realistic", "Cartoon", "Anime", "Sketch"], value="Realistic")
43
-
44
- steps = gr.Slider(10, 50, value=25)
45
- guidance = gr.Slider(5.0, 15.0, value=7.5)
46
- seed = gr.Number(value=0)
47
-
48
  btn = gr.Button("Generate")
49
 
50
- image = gr.Image()
51
  status = gr.Textbox()
52
 
53
- btn.click(generate_image, [prompt, style, steps, guidance, seed], [image, status])
54
 
55
  app.launch()
 
 
1
  import gradio as gr
2
+ import requests
3
+
4
+ HF_TOKEN = "images"
5
+
6
+ API_URL = "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0"
7
+
8
+ headers = {
9
+ "Authorization": f"Bearer {HF_TOKEN}"
 
 
 
 
 
 
 
 
10
  }
11
 
12
+ def generate_image(prompt):
13
  if not prompt.strip():
14
+ return None, "Enter prompt"
15
 
16
+ response = requests.post(
17
+ API_URL,
18
+ headers=headers,
19
+ json={"inputs": prompt}
20
+ )
21
 
22
+ if response.status_code != 200:
23
+ return None, response.text
 
 
 
 
24
 
25
+ return response.content, "Done"
26
 
27
  with gr.Blocks() as app:
28
+ gr.Markdown("# Text to Image AI")
 
29
 
30
  prompt = gr.Textbox(label="Prompt")
 
 
 
 
 
 
31
  btn = gr.Button("Generate")
32
 
33
+ img = gr.Image(type="pil")
34
  status = gr.Textbox()
35
 
36
+ btn.click(generate_image, prompt, [img, status])
37
 
38
  app.launch()