13ze commited on
Commit
fc1d904
·
verified ·
1 Parent(s): f3a08ab

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -10
app.py CHANGED
@@ -1,15 +1,28 @@
1
- import prodiapy.aio
2
- import gradio as gr
3
  import asyncio
4
 
5
- async def generate(prompt):
6
- prodia = prodiapy.aio.Prodia(api_key="your_api_key")
7
- job = await prodia.sd.generate(prompt=prompt)
8
- result = await prodia.wait(job)
 
 
 
 
 
 
9
  return result.image_url
10
 
11
- def wrapper(prompt):
12
- return asyncio.run(generate(prompt))
 
 
 
 
 
 
 
 
13
 
14
- demo = gr.Interface(fn=wrapper, inputs="text", outputs="image", title="Async Stable Diffusion", description="Generate images using a prompt asynchronously.")
15
- demo.launch()
 
1
+ import os
 
2
  import asyncio
3
 
4
+ import prodiapy
5
+ import gradio as gr
6
+
7
+ # Load API key from Hugging Face Secrets
8
+ api_key = os.getenv("PRODIA_AI_API")
9
+ prodia = prodiapy.Prodia(api_key=api_key)
10
+
11
+ async def generate_image(prompt):
12
+ job = await prodia.sd.async_generate(prompt=prompt)
13
+ result = await prodia.async_wait(job)
14
  return result.image_url
15
 
16
+ async def process_image(prompt):
17
+ return await asyncio.to_thread(generate_image, prompt) # Run in a thread
18
+
19
+ demo = gr.Interface(
20
+ fn=process_image,
21
+ inputs="text",
22
+ outputs="image",
23
+ title="Async Prodia Image Generation",
24
+ description="Generate images asynchronously using Prodia API.",
25
+ )
26
 
27
+ demo.queue() # Enable queuing to handle multiple requests
28
+ demo.launch()