receptionist-app / scripts /list_gemini_live_models.py
mukul-chauhan-methdai's picture
Initial release: MethdAI Receptionist v1.0
06a1901
"""List all Gemini models on this API key that support bidiGenerateContent.
These are the models you can put in GEMINI_LIVE_MODEL. Anything not listed
here will 1008 at connect time.
Use:
GEMINI_API_KEY=... /venvs/apps_venv/bin/python scripts/list_gemini_live_models.py
"""
from __future__ import annotations
import os
import sys
import httpx
def main() -> int:
key = os.environ.get("GEMINI_API_KEY", "").strip()
if not key:
print("ERROR: GEMINI_API_KEY not set", file=sys.stderr)
return 1
url = f"https://generativelanguage.googleapis.com/v1beta/models?key={key}&pageSize=200"
try:
resp = httpx.get(url, timeout=15.0)
resp.raise_for_status()
except Exception as e:
print(f"ERROR: {e}", file=sys.stderr)
return 1
data = resp.json()
models = data.get("models", [])
live_models = []
for m in models:
methods = m.get("supportedGenerationMethods") or []
if "bidiGenerateContent" in methods:
live_models.append(m.get("name", "?").replace("models/", ""))
if not live_models:
print("(no Live-capable models on this key)")
return 0
print(f"Live-capable models on this key ({len(live_models)}):\n")
for name in sorted(live_models):
print(f" {name}")
return 0
if __name__ == "__main__":
raise SystemExit(main())