Spaces:
Running
on
Zero
Running
on
Zero
File size: 3,136 Bytes
c6c0d90 a170066 ec7fc1c af4ca05 c6c0d90 a170066 af4ca05 c6c0d90 af4ca05 a170066 1d422fe af4ca05 a170066 af4ca05 7dac684 c6c0d90 a170066 af4ca05 c6c0d90 af4ca05 ec7fc1c af4ca05 98412a8 a170066 98e9086 a170066 af4ca05 a170066 af4ca05 a170066 af4ca05 a170066 af4ca05 04b8216 a170066 af4ca05 a170066 af4ca05 c6c0d90 a170066 af4ca05 7dac684 af4ca05 c6c0d90 af4ca05 98412a8 a170066 af4ca05 a170066 af4ca05 0bd8968 af4ca05 7dac684 a170066 7dac684 deffb42 a170066 af4ca05 a170066 af4ca05 a170066 04b8216 a170066 0d28f6f f7a4cfb 7348be4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
import os
print("🚀 Starting AI Headshot Generator...")
import gradio as gr
import numpy as np
# Simple license system
ADMIN_KEYS = {"HEADSHOT-TEST123456", "HEADSHOT-OWNERACCESS"}
MAX_TRIALS = 3
def verify_license(key):
if not key:
return False
return key.strip().upper() in ADMIN_KEYS
def generate_headshot(image, license_key):
"""Simple demo function"""
# Check license
if not verify_license(license_key):
return np.zeros((512, 512, 3), dtype=np.uint8), "❌ Invalid license. Use: HEADSHOT-TEST123456"
# Create placeholder image
if image is not None:
h, w = image.shape[:2]
result = np.ones((h, w, 3), dtype=np.uint8) * 240
else:
result = np.ones((512, 512, 3), dtype=np.uint8) * 240
# Add simple text (no PIL to avoid extra dependencies)
# Just return the placeholder
return result, "✅ Generated successfully! Test key worked."
# Build interface
with gr.Blocks(title="AI Headshot Generator") as demo:
gr.Markdown("""
# 🎯 AI Headshot Generator
*Transform selfies into professional headshots*
""")
with gr.Row():
with gr.Column():
gr.Markdown("### 📸 Upload Your Photo")
image_input = gr.Image(
label="",
type="numpy",
height=250
)
gr.Markdown("### 🔑 License Key")
license_input = gr.Textbox(
label="",
value="HEADSHOT-TEST123456",
placeholder="Enter HEADSHOT-TEST123456"
)
gr.Markdown(f"""
### 🎯 How It Works
1. Upload a photo
2. Use test key: **HEADSHOT-TEST123456**
3. Get {MAX_TRIALS} free generations
4. Purchase license for HD downloads
[🔗 Purchase License](https://canadianheadshotpro.carrd.co)
""")
generate_btn = gr.Button(
"✨ Generate Headshot",
variant="primary",
size="lg"
)
status_output = gr.Textbox(
label="Status",
interactive=False
)
with gr.Column():
gr.Markdown("### 🖼️ Your Headshot")
result_image = gr.Image(
label="",
height=400
)
gr.Markdown("""
### 📥 Download Options
- **Free Trial**: Basic preview
- **Premium**: HD quality
- **Professional**: Multiple styles
⏱️ *AI models loading in next update*
""")
# Connect button
generate_btn.click(
generate_headshot,
[image_input, license_input],
[result_image, status_output]
)
# Footer
gr.Markdown("---")
gr.Markdown("""
<div style="text-align: center; color: #666;">
<p>Powered by AI | © 2024 Headshot Generator</p>
</div>
""")
if __name__ == "__main__":
demo.launch() |