APIs Gratuitas para IA
APIs Gratuitas para IA
La mejor forma de aprender IA es programar con ella. Estas APIs ofrecen tiers gratuitos generosos.
Comparativa de APIs gratuitas
| API | Tier Gratis | Rate Limit | Capacidad | Registro |
|---|---|---|---|---|
| Google AI Studio | Gratis | 15 RPM / 1500 RPD | Gemini 2.0 Flash | aistudio.google.com |
| OpenRouter | Modelos free | 20 RPM | 50+ modelos free | openrouter.ai |
| Groq | Gratis | 30 RPM | Llama, Mixtral | console.groq.com |
| Cerebras | Gratis | 30 RPM | Llama 3.3 | cerebras.ai |
| Hugging Face | Gratis | Limitado | Miles de modelos | huggingface.co |
| Together AI | $5 crédito | Variable | 200+ modelos | together.ai |
| DeepSeek | Créditos iniciales | Variable | V3, R1 | platform.deepseek.com |
| Cohere | Gratis | 20 RPM | Command R+ | dashboard.cohere.com |
| Mistral | Gratis | 4 RPM | Mistral Large | console.mistral.ai |
| Fireworks | Free tier | Variable | Open source models | fireworks.ai |
Google AI Studio (La mejor API gratuita)
El tier más generoso para desarrollo:
import google.generativeai as genai
# 1. Obtén tu API key en aistudio.google.comgenai.configure(api_key="TU_API_KEY")
# 2. Crea el modelomodel = genai.GenerativeModel('gemini-2.0-flash-exp')
# 3. Genera contenidoresponse = model.generate_content( "Explica la fotosíntesis en español, en 3 bullets")print(response.text)
# 4. Chat multi-turnochat = model.start_chat(history=[])chat.send_message("Hola, ¿qué sabes sobre Python?")chat.send_message("¿Y sobre FastAPI?")print(chat.last.text)Rate limits
| Modelo | Requests/min | Requests/día | Tokens/min |
|---|---|---|---|
| Gemini 2.0 Flash | 15 | 1,500 | 1M |
| Gemini 2.5 Pro | 5 | 50 | 250K |
OpenRouter (El agregador)
from openai import OpenAI
client = OpenAI( base_url="https://openrouter.ai/api/v1", api_key="TU_OPENROUTER_API_KEY")
# Usar modelo gratuitoresponse = client.chat.completions.create( model="google/gemini-2.0-flash-exp:free", messages=[{"role": "user", "content": "Hola"}])
# Usar modelo de pago (más potente)response = client.chat.completions.create( model="openai/gpt-4o-mini", messages=[{"role": "user", "content": "Hola"}])Groq (La más rápida)
from openai import OpenAI
client = OpenAI( base_url="https://api.groq.com/openai/v1", api_key="TU_GROQ_API_KEY")
# Inferencia ultra-rápida (800+ tokens/segundo)response = client.chat.completions.create( model="llama-3.3-70b-versatile", messages=[{"role": "user", "content": "Hola"}])Hugging Face Inference API
from huggingface_hub import InferenceClient
client = InferenceClient(token="TU_HF_TOKEN")
# Text generationresponse = client.chat_completion( model="meta-llama/Llama-3.3-70B-Instruct", messages=[{"role": "user", "content": "Hola"}])
# Image classificationresult = client.image_classification("photo.jpg")
# Speech to texttranscript = client.automatic_speech_recognition("audio.mp3")Proyecto: API rapide
Crea un proyecto que use múltiples APIs gratuitas como fallback:
import osfrom openai import OpenAI
# Configuración con fallbacksPROVIDERS = [ { "name": "Google AI Studio", "base_url": "https://generativelanguage.googleapis.com/v1beta/openai", "api_key": os.getenv("GOOGLE_API_KEY"), "model": "gemini-2.0-flash-exp" }, { "name": "Groq", "base_url": "https://api.groq.com/openai/v1", "api_key": os.getenv("GROQ_API_KEY"), "model": "llama-3.3-70b-versatile" }, { "name": "OpenRouter Free", "base_url": "https://openrouter.ai/api/v1", "api_key": os.getenv("OPENROUTER_API_KEY"), "model": "google/gemini-2.0-flash-exp:free" }]
def chat_with_fallback(message: str) -> str: """Intenta múltiples proveedores hasta que uno funcione.""" for provider in PROVIDERS: try: client = OpenAI( base_url=provider["base_url"], api_key=provider["api_key"] ) response = client.chat.completions.create( model=provider["model"], messages=[{"role": "user", "content": message}] ) return response.choices[0].message.content except Exception as e: print(f"⚠️ {provider['name']} falló: {e}") continue
raise Exception("Todos los proveedores fallaron")[!TIP] Regístrate en TODAS las APIs gratuitas. No cuestan nada y te dan opciones. Guarda las API keys en un archivo
.envy NUNCA las subas a git.