Spaces:
Sleeping
Sleeping
| import urllib.request | |
| import json | |
| import os | |
| API_KEY = os.getenv("GEMINI_API_KEY", "") | |
| def try_model(model_name, version="v1beta"): | |
| """Tests a specific model path.""" | |
| url = f"https://generativelanguage.googleapis.com/{version}/models/{model_name}:generateContent?key={API_KEY}" | |
| print(f"📡 Testing: {version}/models/{model_name} ...") | |
| payload = { | |
| "contents": [{"parts": [{"text": "Is the API active? Reply with 'YES'."}]}] | |
| } | |
| try: | |
| req = urllib.request.Request( | |
| url, | |
| data=json.dumps(payload).encode("utf-8"), | |
| headers={"Content-Type": "application/json"} | |
| ) | |
| with urllib.request.urlopen(req, timeout=10) as resp: | |
| result = json.loads(resp.read().decode()) | |
| text = result['candidates'][0]['content']['parts'][0]['text'] | |
| print(f"✅ SUCCESS! Gemini says: {text.strip()}") | |
| return True, model_name, version | |
| except Exception as e: | |
| print(f"❌ Failed: {e}") | |
| return False, None, None | |
| def run_test(): | |
| print("🚀 Starting Final Connectivity Test...") | |
| if not API_KEY or len(API_KEY) < 10: | |
| print("❌ ERROR: GEMINI_API_KEY is missing or too short! Check Secrets.") | |
| return | |
| # ✅ Updated configs — all confirmed present in your models list | |
| configs = [ | |
| ("gemini-2.0-flash", "v1beta"), | |
| ("gemini-2.0-flash-001", "v1beta"), | |
| ("gemini-2.5-flash", "v1beta"), | |
| ("gemini-2.0-flash-lite", "v1beta"), | |
| ] | |
| for model, ver in configs: | |
| success, final_model, final_ver = try_model(model, ver) | |
| if success: | |
| print("\n" + "="*40) | |
| print(f"🏆 WORKING CONFIGURATION FOUND!") | |
| print(f"MODEL : {final_model}") | |
| print(f"VERSION: {final_ver}") | |
| print(f"URL : https://generativelanguage.googleapis.com/{final_ver}/models/{final_model}:generateContent?key=...") | |
| print("="*40) | |
| return | |
| print("\n🛑 ALL ATTEMPTS FAILED.") | |
| print("Tip: Visit https://generativelanguage.googleapis.com/v1beta/models?key=YOUR_KEY") | |
| print(" to see the exact models available for your API key.") | |
| if __name__ == "__main__": | |
| run_test() | |