Switch to Gemini + update requirements
Browse files- app.py +7 -13
- requirements.txt +2 -1
app.py
CHANGED
|
@@ -3,7 +3,7 @@ from datetime import datetime
|
|
| 3 |
from PIL import Image
|
| 4 |
import gradio as gr
|
| 5 |
from rembg import remove
|
| 6 |
-
|
| 7 |
|
| 8 |
# ---------------------------
|
| 9 |
# CONFIG
|
|
@@ -17,8 +17,9 @@ LIFETIME = 24 * 60 * 60 # 24 hours
|
|
| 17 |
os.makedirs(UPLOAD_DIR, exist_ok=True)
|
| 18 |
os.makedirs(RESULTS_DIR, exist_ok=True)
|
| 19 |
|
| 20 |
-
#
|
| 21 |
-
|
|
|
|
| 22 |
|
| 23 |
# ---------------------------
|
| 24 |
# HELPERS
|
|
@@ -65,7 +66,7 @@ def process_image(input_img, bg_choice):
|
|
| 65 |
return [result_path]
|
| 66 |
|
| 67 |
# ---------------------------
|
| 68 |
-
# CAPTION GENERATOR
|
| 69 |
# ---------------------------
|
| 70 |
def generate_caption(prompt="Promote my product"):
|
| 71 |
try:
|
|
@@ -75,15 +76,8 @@ def generate_caption(prompt="Promote my product"):
|
|
| 75 |
"Format output clearly as:\nInstagram:\nFacebook:\nTikTok:\n"
|
| 76 |
)
|
| 77 |
|
| 78 |
-
response =
|
| 79 |
-
|
| 80 |
-
messages=[{"role": "user", "content": full_prompt}],
|
| 81 |
-
temperature=0.7,
|
| 82 |
-
max_tokens=300
|
| 83 |
-
)
|
| 84 |
-
|
| 85 |
-
captions = response.choices[0].message.content.strip()
|
| 86 |
-
return captions
|
| 87 |
|
| 88 |
except Exception as e:
|
| 89 |
return f"❌ Error generating captions: {str(e)}"
|
|
|
|
| 3 |
from PIL import Image
|
| 4 |
import gradio as gr
|
| 5 |
from rembg import remove
|
| 6 |
+
import google.generativeai as genai # Gemini SDK
|
| 7 |
|
| 8 |
# ---------------------------
|
| 9 |
# CONFIG
|
|
|
|
| 17 |
os.makedirs(UPLOAD_DIR, exist_ok=True)
|
| 18 |
os.makedirs(RESULTS_DIR, exist_ok=True)
|
| 19 |
|
| 20 |
+
# Gemini API key (must be added in Hugging Face Secrets as GEMINI_API_KEY)
|
| 21 |
+
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
|
| 22 |
+
model = genai.GenerativeModel("gemini-1.5-flash")
|
| 23 |
|
| 24 |
# ---------------------------
|
| 25 |
# HELPERS
|
|
|
|
| 66 |
return [result_path]
|
| 67 |
|
| 68 |
# ---------------------------
|
| 69 |
+
# CAPTION GENERATOR (Gemini)
|
| 70 |
# ---------------------------
|
| 71 |
def generate_caption(prompt="Promote my product"):
|
| 72 |
try:
|
|
|
|
| 76 |
"Format output clearly as:\nInstagram:\nFacebook:\nTikTok:\n"
|
| 77 |
)
|
| 78 |
|
| 79 |
+
response = model.generate_content(full_prompt)
|
| 80 |
+
return response.text.strip()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
|
| 82 |
except Exception as e:
|
| 83 |
return f"❌ Error generating captions: {str(e)}"
|
requirements.txt
CHANGED
|
@@ -5,4 +5,5 @@ Pillow
|
|
| 5 |
rembg
|
| 6 |
onnxruntime
|
| 7 |
requests
|
| 8 |
-
|
|
|
|
|
|
| 5 |
rembg
|
| 6 |
onnxruntime
|
| 7 |
requests
|
| 8 |
+
google-generativeai
|
| 9 |
+
|