Update app.py
Browse files
app.py
CHANGED
@@ -14,8 +14,12 @@ def query(payload):
|
|
14 |
response = requests.post(API_URL, headers=headers, json=payload)
|
15 |
return response.content
|
16 |
|
|
|
|
|
|
|
|
|
17 |
def generate_image(prompt):
|
18 |
-
# Generate a random seed to
|
19 |
random_seed = random.randint(0, 999999)
|
20 |
payload = {
|
21 |
"inputs": prompt,
|
@@ -26,29 +30,22 @@ def generate_image(prompt):
|
|
26 |
image_bytes = query(payload)
|
27 |
return Image.open(io.BytesIO(image_bytes))
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
st.
|
48 |
-
label="Download",
|
49 |
-
data=img_buffer,
|
50 |
-
file_name="generated_image.png",
|
51 |
-
mime="image/png"
|
52 |
-
)
|
53 |
-
|
54 |
-
st.write("---")
|
|
|
14 |
response = requests.post(API_URL, headers=headers, json=payload)
|
15 |
return response.content
|
16 |
|
17 |
+
# Check for 'text' parameter in URL
|
18 |
+
query_params = st.query_params
|
19 |
+
prompt_from_url = query_params.get('text')
|
20 |
+
|
21 |
def generate_image(prompt):
|
22 |
+
# Generate a random seed to force a new image
|
23 |
random_seed = random.randint(0, 999999)
|
24 |
payload = {
|
25 |
"inputs": prompt,
|
|
|
30 |
image_bytes = query(payload)
|
31 |
return Image.open(io.BytesIO(image_bytes))
|
32 |
|
33 |
+
if prompt_from_url:
|
34 |
+
# Generate and display image when 'text' parameter exists
|
35 |
+
prompt = prompt_from_url
|
36 |
+
image = generate_image(prompt)
|
37 |
+
st.image(image, caption="Generated Image", use_container_width=True)
|
38 |
+
|
39 |
+
# Provide download link
|
40 |
+
img_buffer = io.BytesIO()
|
41 |
+
image.save(img_buffer, format="PNG")
|
42 |
+
img_buffer.seek(0)
|
43 |
+
st.download_button(
|
44 |
+
label="Download Image 📥",
|
45 |
+
data=img_buffer,
|
46 |
+
file_name="generated_image.png",
|
47 |
+
mime="image/png"
|
48 |
+
)
|
49 |
+
else:
|
50 |
+
# Show instructions when no parameter is provided
|
51 |
+
st.info("Add a 'text' parameter to the URL to generate an image. Example: ?text=astronaut+riding+a+horse")
|
|
|
|
|
|
|
|
|
|
|
|
|
|