BowoZZZ commited on
Commit
0f5ffee
·
verified ·
1 Parent(s): 2414776

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -27
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 ensure a new image each time
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
- # Default prompt (used since we're not using a query parameter anymore)
30
- default_prompt = "Astronaut riding a horse"
31
-
32
- # Use session_state to avoid regenerating the image on every rerun
33
- if "image" not in st.session_state:
34
- st.session_state.image = generate_image(default_prompt)
35
-
36
- if st.button("Generate"):
37
- st.session_state.image = generate_image(default_prompt)
38
-
39
- # Display the image using the updated parameter
40
- image = st.session_state.image
41
- st.image(image, caption="Result", use_container_width=True)
42
-
43
- # Prepare image for download
44
- img_buffer = io.BytesIO()
45
- image.save(img_buffer, format="PNG")
46
- img_buffer.seek(0)
47
- st.download_button(
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")