MindCraft24729 commited on
Commit
4ea1b97
·
verified ·
1 Parent(s): ac0361e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -13
app.py CHANGED
@@ -5,17 +5,15 @@ from io import BytesIO
5
  from PIL import Image
6
  import os
7
 
8
- # Set base URL and watermark path
9
  BASE_URL = "https://image.pollinations.ai/prompt/"
10
- WATERMARK_PATH = "CodeHubb.png" # Ensure this is uploaded in the same directory
11
 
12
- # Load watermark logo
13
  watermark = Image.open(WATERMARK_PATH).convert("RGBA")
14
  watermark = watermark.resize((300, 100))
15
  watermark.putalpha(128) # 50% opacity
16
 
17
- # Function to generate image
18
- # Function to generate image
19
  def generate_image(prompt):
20
  if not prompt:
21
  raise gr.Error("Please enter a prompt.")
@@ -28,13 +26,13 @@ def generate_image(prompt):
28
  response.raise_for_status()
29
  img = Image.open(BytesIO(response.content)).convert("RGBA")
30
 
31
- # Paste watermark in top-left corner
32
  img.paste(watermark, (20, 20), watermark)
33
 
34
- # Prepare /mnt/data folder
35
  os.makedirs("/mnt/data", exist_ok=True)
36
 
37
- # Convert to JPG and save
38
  rgb_img = img.convert("RGB")
39
  download_path = "/mnt/data/generated_image.jpg"
40
  rgb_img.save(download_path, "JPEG", quality=95)
@@ -44,16 +42,16 @@ def generate_image(prompt):
44
  except Exception as e:
45
  raise gr.Error(f"❌ Unexpected error: {str(e)}")
46
 
47
- # UI Layout
48
  with gr.Blocks(css=".gr-button-lg {width: 100% !important;}") as demo:
49
  gr.Markdown("## 🚀 CodeHubb Image Generator\nYour Creative Partner – **Design. Develop. Dominate**")
50
 
51
- prompt = gr.Textbox(label="Enter your creative prompt:", placeholder="e.g. cinematic Pakistani village at sunset", lines=2)
52
-
53
  generate_btn = gr.Button("🎨 Generate Image", elem_classes="gr-button-lg")
54
  image_output = gr.Image(label="Generated Image", type="pil")
55
- download_button = gr.File(label="⬇️ Download as JPG", elem_classes="gr-button-lg")
56
 
57
  generate_btn.click(fn=generate_image, inputs=[prompt], outputs=[image_output, download_button])
58
 
59
- demo.launch()
 
 
5
  from PIL import Image
6
  import os
7
 
8
+ # Constants
9
  BASE_URL = "https://image.pollinations.ai/prompt/"
10
+ WATERMARK_PATH = "CodeHubb.png"
11
 
12
+ # Load and prepare watermark
13
  watermark = Image.open(WATERMARK_PATH).convert("RGBA")
14
  watermark = watermark.resize((300, 100))
15
  watermark.putalpha(128) # 50% opacity
16
 
 
 
17
  def generate_image(prompt):
18
  if not prompt:
19
  raise gr.Error("Please enter a prompt.")
 
26
  response.raise_for_status()
27
  img = Image.open(BytesIO(response.content)).convert("RGBA")
28
 
29
+ # Paste watermark in top-left
30
  img.paste(watermark, (20, 20), watermark)
31
 
32
+ # Ensure /mnt/data directory
33
  os.makedirs("/mnt/data", exist_ok=True)
34
 
35
+ # Save as JPG
36
  rgb_img = img.convert("RGB")
37
  download_path = "/mnt/data/generated_image.jpg"
38
  rgb_img.save(download_path, "JPEG", quality=95)
 
42
  except Exception as e:
43
  raise gr.Error(f"❌ Unexpected error: {str(e)}")
44
 
45
+ # Interface
46
  with gr.Blocks(css=".gr-button-lg {width: 100% !important;}") as demo:
47
  gr.Markdown("## 🚀 CodeHubb Image Generator\nYour Creative Partner – **Design. Develop. Dominate**")
48
 
49
+ prompt = gr.Textbox(label="Enter Prompt", placeholder="e.g. cinematic mountain road", lines=2)
 
50
  generate_btn = gr.Button("🎨 Generate Image", elem_classes="gr-button-lg")
51
  image_output = gr.Image(label="Generated Image", type="pil")
52
+ download_button = gr.File(label="⬇️ Download JPG", elem_classes="gr-button-lg")
53
 
54
  generate_btn.click(fn=generate_image, inputs=[prompt], outputs=[image_output, download_button])
55
 
56
+ # ✅ Fix: Allow /mnt/data for download
57
+ demo.launch(allowed_paths=["/mnt/data"])