APIs de IA: Guía Completa para Desarrolladores [2026]
Guía completa de APIs de inteligencia artificial. OpenAI, Anthropic, Google AI, y más. Precios, límites, y cómo integrarlas.
APIs de IA para Desarrolladores: Guía Completa [2026]
TLDR: OpenAI API es la más madura y documentada. Anthropic (Claude) ofrece mejor razonamiento y contexto largo. Google (Gemini) tiene el mayor contexto (1M tokens) y buena relación calidad/precio. Para producción: OpenAI. Para código: Anthropic. Para contexto masivo: Google. Para presupuesto limitado: Mistral o modelos open source.
Tabla de Contenidos
- Panorama de APIs de IA 2026
- OpenAI API en detalle
- Anthropic Claude API
- Google Gemini API
- Otras APIs importantes
- Comparativa de precios
- Ejemplos de integración
- Optimización de costos
- Preguntas frecuentes
Panorama de APIs de IA 2026 {#panorama}
Los principales proveedores
| Proveedor | Modelo flagship | Contexto | Fortaleza |
|---|---|---|---|
| OpenAI | GPT-4o | 128K | Ecosistema maduro |
| Anthropic | Claude 3.5 Sonnet | 200K | Código y razonamiento |
| Gemini 1.5 Pro | 1M | Contexto masivo | |
| Mistral | Mistral Large 2 | 128K | Precio/rendimiento |
| Cohere | Command R+ | 128K | RAG y enterprise |
| Meta | Llama 3.1 405B | 128K | Open source |
Cómo elegir
1¿Necesitas máxima calidad y estabilidad?2 → OpenAI GPT-4o3 4¿Trabajas principalmente con código?5 → Anthropic Claude6 7¿Necesitas procesar documentos muy largos?8 → Google Gemini (1M tokens)9 10¿El presupuesto es limitado?11 → Mistral o Llama (self-hosted)12 13¿Requisitos enterprise estrictos?14 → Azure OpenAI o Cohere
OpenAI API en detalle {#openai}
Modelos disponibles
| Modelo | Uso recomendado | Input | Output |
|---|---|---|---|
| gpt-4o | Producción, calidad máxima | $2.50/M | $10/M |
| gpt-4o-mini | Balance costo/calidad | $0.15/M | $0.60/M |
| gpt-4-turbo | Legacy, 128K context | $10/M | $30/M |
| o1-preview | Razonamiento complejo | $15/M | $60/M |
| o1-mini | Razonamiento económico | $3/M | $12/M |
Autenticación
1from openai import OpenAI2 3client = OpenAI(api_key="sk-...")4 5# O usando variable de entorno (recomendado)6# export OPENAI_API_KEY="sk-..."7client = OpenAI()
Chat Completions (el más usado)
1response = client.chat.completions.create(2 model="gpt-4o",3 messages=[4 {"role": "system", "content": "Eres un asistente útil."},5 {"role": "user", "content": "Explica qué es una API REST"}6 ],7 max_tokens=500,8 temperature=0.79)10 11print(response.choices[0].message.content)
Streaming (respuesta en tiempo real)
1stream = client.chat.completions.create(2 model="gpt-4o",3 messages=[{"role": "user", "content": "Cuenta hasta 10"}],4 stream=True5)6 7for chunk in stream:8 if chunk.choices[0].delta.content:9 print(chunk.choices[0].delta.content, end="")
Function Calling
1tools = [{2 "type": "function",3 "function": {4 "name": "get_weather",5 "description": "Obtener el clima de una ciudad",6 "parameters": {7 "type": "object",8 "properties": {9 "city": {"type": "string", "description": "Nombre de la ciudad"},10 "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}11 },12 "required": ["city"]13 }14 }15}]16 17response = client.chat.completions.create(18 model="gpt-4o",19 messages=[{"role": "user", "content": "¿Qué clima hace en Madrid?"}],20 tools=tools,21 tool_choice="auto"22)23 24# El modelo devuelve la función a llamar y sus argumentos
Embeddings
1response = client.embeddings.create(2 model="text-embedding-3-small",3 input="Texto a convertir en vector"4)5 6vector = response.data[0].embedding7# Vector de 1536 dimensiones
Límites de rate
| Tier | RPM | TPM |
|---|---|---|
| Free | 3 | 40,000 |
| Tier 1 | 500 | 200,000 |
| Tier 2 | 5,000 | 2,000,000 |
| Tier 3 | 10,000 | 10,000,000 |
Anthropic Claude API {#anthropic}
Modelos disponibles
| Modelo | Uso recomendado | Input | Output |
|---|---|---|---|
| claude-3-5-sonnet | Mejor balance | $3/M | $15/M |
| claude-3-opus | Máxima calidad | $15/M | $75/M |
| claude-3-haiku | Rápido y barato | $0.25/M | $1.25/M |
Autenticación
1from anthropic import Anthropic2 3client = Anthropic(api_key="sk-ant-...")4 5# O variable de entorno6# export ANTHROPIC_API_KEY="sk-ant-..."
Messages API
1message = client.messages.create(2 model="claude-3-5-sonnet-20241022",3 max_tokens=1024,4 system="Eres un experto en Python.",5 messages=[6 {"role": "user", "content": "Escribe una función de fibonacci"}7 ]8)9 10print(message.content[0].text)
Streaming
1with client.messages.stream(2 model="claude-3-5-sonnet-20241022",3 max_tokens=1024,4 messages=[{"role": "user", "content": "Cuenta una historia corta"}]5) as stream:6 for text in stream.text_stream:7 print(text, end="", flush=True)
Tool Use (Function Calling)
1response = client.messages.create(2 model="claude-3-5-sonnet-20241022",3 max_tokens=1024,4 tools=[{5 "name": "get_stock_price",6 "description": "Obtiene el precio de una acción",7 "input_schema": {8 "type": "object",9 "properties": {10 "symbol": {"type": "string", "description": "Símbolo bursátil"}11 },12 "required": ["symbol"]13 }14 }],15 messages=[{"role": "user", "content": "¿Cuál es el precio de AAPL?"}]16)
Prompt Caching (ahorro de costos)
1# Los prompts largos que se repiten se cachean automáticamente2# Ahorro: ~90% en tokens de input cacheados3# TTL: 5 minutos por defecto4 5response = client.messages.create(6 model="claude-3-5-sonnet-20241022",7 max_tokens=1024,8 system=[{9 "type": "text",10 "text": "Tu system prompt largo aquí...",11 "cache_control": {"type": "ephemeral"} # Cachear esto12 }],13 messages=[{"role": "user", "content": "Pregunta"}]14)
Ventajas de Claude API
- Contexto 200K real: Mantiene calidad con contextos largos
- Mejor para código: Menos errores que GPT-4
- Tool use robusto: Llamadas a funciones más precisas
- Prompt caching: Ahorro significativo en prompts repetidos
- Menos alucinaciones: Más conservador, dice "no sé" cuando no sabe
Google Gemini API {#google}
Modelos disponibles
| Modelo | Uso recomendado | Input | Output |
|---|---|---|---|
| gemini-1.5-pro | Contexto largo | $1.25/M | $5/M |
| gemini-1.5-flash | Rápido y barato | $0.075/M | $0.30/M |
| gemini-2.0-flash | Experimental | $0.10/M | $0.40/M |
Autenticación
1import google.generativeai as genai2 3genai.configure(api_key="AIza...")4 5# O con Vertex AI (enterprise)6from vertexai.generative_models import GenerativeModel
Generación básica
1model = genai.GenerativeModel("gemini-1.5-pro")2 3response = model.generate_content("Explica la teoría de la relatividad")4print(response.text)
Chat multiturn
1model = genai.GenerativeModel("gemini-1.5-pro")2chat = model.start_chat(history=[])3 4response = chat.send_message("Hola, ¿cómo estás?")5print(response.text)6 7response = chat.send_message("¿Qué me dijiste antes?")8print(response.text)
Contexto de 1M tokens
1# Procesar un libro completo2with open("libro_completo.txt", "r") as f:3 libro = f.read() # 500K tokens4 5response = model.generate_content(f"""6Analiza el siguiente libro y responde:71. ¿Cuál es el tema principal?82. ¿Quiénes son los personajes principales?93. Resume en 3 párrafos10 11LIBRO:12{libro}13""")
Grounding (búsqueda en Google)
1from google.generativeai import GenerativeModel2from google.generativeai.types import Tool3 4model = GenerativeModel(5 "gemini-1.5-pro",6 tools=[Tool.from_google_search_retrieval()]7)8 9response = model.generate_content(10 "¿Cuáles son las últimas noticias sobre IA?"11)12# Incluye citas de búsqueda de Google
Ventajas de Gemini API
- 1M tokens de contexto: El mayor del mercado
- Grounding nativo: Búsqueda de Google integrada
- Multimodal completo: Texto, imagen, video, audio
- Precio competitivo: Más barato que OpenAI/Anthropic
- Integración Google Cloud: Para enterprise existentes
Otras APIs importantes {#otras}
Mistral AI
1from mistralai.client import MistralClient2 3client = MistralClient(api_key="...")4 5response = client.chat(6 model="mistral-large-latest",7 messages=[{"role": "user", "content": "Hola"}]8)
Modelos:
- Mistral Large 2: $2/M input, $6/M output
- Mistral Small: $0.2/M input, $0.6/M output
- Codestral: Especializado en código
Ventaja: Excelente relación calidad/precio, especialmente para Europa.
Cohere
1import cohere2 3co = cohere.Client("...")4 5response = co.chat(6 model="command-r-plus",7 message="Explica machine learning"8)
Modelos:
- Command R+: Enterprise, RAG optimizado
- Embed v3: Embeddings multilingües
Ventaja: Mejor API de RAG del mercado, embeddings multilingües excelentes.
Together AI (modelos open source)
1from openai import OpenAI2 3client = OpenAI(4 api_key="...",5 base_url="https://api.together.xyz/v1"6)7 8response = client.chat.completions.create(9 model="meta-llama/Llama-3.1-70B-Instruct-Turbo",10 messages=[{"role": "user", "content": "Hola"}]11)
Ventaja: Acceso a Llama, Mixtral, y otros open source sin infraestructura.
Groq (inferencia ultrarrápida)
1from groq import Groq2 3client = Groq(api_key="...")4 5response = client.chat.completions.create(6 model="llama-3.1-70b-versatile",7 messages=[{"role": "user", "content": "Hola"}]8)
Ventaja: Latencia de ~100ms, 10x más rápido que otros proveedores.
Comparativa de precios {#precios}
Precio por millón de tokens (Enero 2026)
| Modelo | Input | Output | Contexto |
|---|---|---|---|
| GPT-4o | $2.50 | $10 | 128K |
| GPT-4o-mini | $0.15 | $0.60 | 128K |
| Claude 3.5 Sonnet | $3 | $15 | 200K |
| Claude 3 Haiku | $0.25 | $1.25 | 200K |
| Gemini 1.5 Pro | $1.25 | $5 | 1M |
| Gemini 1.5 Flash | $0.075 | $0.30 | 1M |
| Mistral Large 2 | $2 | $6 | 128K |
| Llama 3.1 70B (Together) | $0.88 | $0.88 | 128K |
Costo estimado por caso de uso
| Caso de uso | Tokens/consulta | Consultas/mes | Modelo recomendado | Costo/mes |
|---|---|---|---|---|
| Chatbot simple | 1K | 10,000 | GPT-4o-mini | ~$8 |
| Chatbot avanzado | 2K | 10,000 | Claude Sonnet | ~$90 |
| Análisis docs | 50K | 1,000 | Gemini Pro | ~$75 |
| Generación código | 2K | 5,000 | Claude Sonnet | ~$45 |
| RAG enterprise | 10K | 50,000 | Command R+ | ~$300 |
Ejemplos de integración {#ejemplos}
Chatbot con memoria (OpenAI)
1from openai import OpenAI2 3client = OpenAI()4conversation_history = []5 6def chat(user_message):7 conversation_history.append({8 "role": "user",9 "content": user_message10 })11 12 response = client.chat.completions.create(13 model="gpt-4o-mini",14 messages=[15 {"role": "system", "content": "Eres un asistente amigable."}16 ] + conversation_history,17 max_tokens=50018 )19 20 assistant_message = response.choices[0].message.content21 conversation_history.append({22 "role": "assistant",23 "content": assistant_message24 })25 26 return assistant_message27 28# Uso29print(chat("Hola, me llamo Juan"))30print(chat("¿Cómo me llamo?")) # Recuerda "Juan"
API REST con FastAPI
1from fastapi import FastAPI2from anthropic import Anthropic3from pydantic import BaseModel4 5app = FastAPI()6client = Anthropic()7 8class Query(BaseModel):9 message: str10 system_prompt: str = "Eres un asistente útil."11 12@app.post("/chat")13async def chat(query: Query):14 response = client.messages.create(15 model="claude-3-5-sonnet-20241022",16 max_tokens=1024,17 system=query.system_prompt,18 messages=[{"role": "user", "content": query.message}]19 )20 21 return {22 "response": response.content[0].text,23 "usage": {24 "input_tokens": response.usage.input_tokens,25 "output_tokens": response.usage.output_tokens26 }27 }
Procesamiento de documentos (Gemini)
1import google.generativeai as genai2from pathlib import Path3 4genai.configure(api_key="...")5model = genai.GenerativeModel("gemini-1.5-pro")6 7def analyze_document(file_path):8 # Soporta PDF, DOCX, TXT, imágenes9 file = genai.upload_file(file_path)10 11 response = model.generate_content([12 "Analiza este documento y extrae:",13 "1. Resumen ejecutivo",14 "2. Puntos clave",15 "3. Acciones recomendadas",16 file17 ])18 19 return response.text20 21# Uso22analysis = analyze_document("informe_trimestral.pdf")23print(analysis)
Optimización de costos {#optimizacion}
1. Usar el modelo correcto para cada tarea
1def get_model_for_task(task_complexity):2 if task_complexity == "simple":3 return "gpt-4o-mini" # $0.15/M4 elif task_complexity == "medium":5 return "claude-3-haiku" # $0.25/M6 else:7 return "gpt-4o" # $2.50/M8 9# Clasificar complejidad automáticamente10def classify_complexity(query):11 # Simple: preguntas directas, traducciones12 # Medium: resúmenes, análisis básico13 # Complex: razonamiento, código complejo14 ...
2. Limitar contexto innecesario
1# Malo: enviar todo el historial siempre2messages = full_conversation_history # 50K tokens3 4# Bueno: solo los últimos N mensajes relevantes5messages = conversation_history[-10:] # ~5K tokens6 7# Mejor: resumir conversaciones largas8if len(conversation_history) > 20:9 summary = summarize(conversation_history[:-10])10 messages = [{"role": "system", "content": f"Resumen: {summary}"}] + \11 conversation_history[-10:]
3. Prompt caching (Anthropic)
1# System prompt largo (ej: 5000 tokens)2SYSTEM_PROMPT = """3[Instrucciones detalladas...]4[Ejemplos...]5[Contexto de la empresa...]6"""7 8# Con caching: pagas 5000 tokens UNA vez9# Sin caching: pagas 5000 tokens CADA consulta10 11# Ahorro: 90% en input tokens repetidos
4. Batch processing
1# En lugar de 100 llamadas individuales2for item in items:3 response = client.chat.completions.create(...)4 5# Usar Batch API (50% descuento, 24h delivery)6batch = client.batches.create(7 input_file_id="file-...",8 endpoint="/v1/chat/completions",9 completion_window="24h"10)
5. Caching de respuestas
1import hashlib2from functools import lru_cache3 4@lru_cache(maxsize=1000)5def cached_completion(prompt_hash):6 # Solo llama a la API si no está en cache7 ...8 9def get_completion(prompt):10 prompt_hash = hashlib.md5(prompt.encode()).hexdigest()11 return cached_completion(prompt_hash)
Preguntas frecuentes {#faq}
¿Cuál API elegir para empezar?
OpenAI si quieres la mejor documentación y ejemplos. Anthropic si vas a trabajar principalmente con código. Ambas tienen SDKs excelentes y comunidades grandes.
¿Puedo cambiar de proveedor fácilmente?
Sí, todos usan formatos similares (messages array). Librerías como LiteLLM o LangChain abstraen las diferencias:
1import litellm2 3# Mismo código, diferentes proveedores4response = litellm.completion(5 model="gpt-4o", # o "claude-3-5-sonnet" o "gemini/gemini-pro"6 messages=[{"role": "user", "content": "Hola"}]7)
¿Qué pasa con la privacidad de mis datos?
| Proveedor | Uso de datos para entrenar | Opción enterprise |
|---|---|---|
| OpenAI | No (API) | Azure OpenAI |
| Anthropic | No | AWS Bedrock |
| No (Gemini API) | Vertex AI |
Las APIs de pago no usan tus datos para entrenar por defecto.
¿Cómo manejo errores y rate limits?
1import time2from openai import OpenAI, RateLimitError3 4client = OpenAI()5 6def robust_completion(messages, max_retries=3):7 for attempt in range(max_retries):8 try:9 return client.chat.completions.create(10 model="gpt-4o",11 messages=messages12 )13 except RateLimitError:14 wait_time = 2 ** attempt15 time.sleep(wait_time)16 17 raise Exception("Max retries exceeded")
Conclusión
Las APIs de IA son la forma más rápida de integrar inteligencia artificial en tus aplicaciones. En 2026, tienes opciones excelentes para cada caso de uso:
- Producción estable: OpenAI
- Código y razonamiento: Anthropic Claude
- Documentos largos: Google Gemini
- Presupuesto limitado: Mistral o Together AI
Tu siguiente paso: Crea cuentas gratuitas en los 3 principales (OpenAI, Anthropic, Google) y prueba cada una con tu caso de uso específico.
Recursos relacionados:
¿Quieres más tutoriales de desarrollo con IA? Visita Javadex.es para proyectos y tutoriales avanzados.
Síguenos:
Posts Relacionados
Cómo Usar Claude Code en Terminal: Tutorial Paso a Paso [2026]
Tutorial completo de Claude Code CLI. Aprende a usar el agente de código de Anthropic en terminal para automatizar desarrollo, refactoring y tareas complejas.
MCP Servers para Claude: Guía de Configuración en Español [2026]
Configura MCP Servers para Claude Code y Claude Desktop. Tutorial en español con ejemplos: filesystem, GitHub, bases de datos, APIs personalizadas.
Gemini 3 Deep Think: Cómo Usar el Modo Razonamiento de Google [2026]
Guía de Gemini 3 Deep Think, el modo de razonamiento avanzado de Google. Cómo activarlo, cuándo usarlo, comparativa con GPT-5.2 Thinking y casos de uso.
Javier Santos Criado
Consultor de IA y Automatización | Fundador de Javadex
Experto en implementación de soluciones de Inteligencia Artificial para empresas. Especializado en automatización con n8n, integración de LLMs, y desarrollo de agentes IA.
¿Quieres más contenido de IA?
Explora nuestras comparativas y guías