import os
import google.generativeai as genai
from dotenv import load_dotenv
def main():
load_dotenv()
api_key = os.getenv("GEMINI_API_KEY")
if not api_key:
print("❌ Error: GEMINI_API_KEY no encontrada en el archivo .env")
return
print("🔍 Conectando con Google AI...")
try:
genai.configure(api_key=api_key)
models = genai.list_models()
# Extraer y ordenar
model_list = []
for m in models:
if 'generateContent' in m.supported_generation_methods:
model_list.append(m)
# Ordenar por input_token_limit descendente
model_list.sort(key=lambda x: getattr(x, 'input_token_limit', 0), reverse=True)
print("\n✨ Modelos disponibles (Ordenados por Ventana de Contexto):")
print("Nota: La cuota de uso (RPM/TPM) se gestiona en Google Cloud Console.")
for m in model_list:
input_limit = getattr(m, 'input_token_limit', 0)
output_limit = getattr(m, 'output_token_limit', 0)
print(f" - {m.name:35} | Input: {input_limit:10,} | Output: {output_limit:8,}")
print(f"\n✅ Se encontraron {len(model_list)} modelos compatibles.")
except Exception as e:
print(f"❌ Error al listar modelos: {e}")
if __name__ == "__main__":
main()