Tu primera llamada a una API de IA desde Python
Conecta tu programa a un modelo de IA con su API: clave, primera petición en Python, costes y buenas prácticas.
Usar un chatbot en su web está bien, pero si programas puedes ir más allá: que tu propio programa le pase textos a un modelo de IA y use la respuesta. Así se construyen resumidores de correos, clasificadores de incidencias, asistentes dentro de una app o herramientas para tus apuntes. Se hace con la API del proveedor, igual que cualquier otra API web con JSON.
Qué necesitas
- Python instalado (si no, mira cómo instalar Python) y, mejor, un entorno virtual.
- Una cuenta de desarrollador en el proveedor que elijas: Anthropic (Claude), Google (Gemini), OpenAI y otros ofrecen APIs con documentación oficial y bibliotecas (SDK) para Python y JavaScript.
- Una clave de API, que se crea en el panel de desarrollador de cada proveedor.
Las APIs se pagan por uso, normalmente por millones de tokens de entrada y de salida, con precios distintos para cada modelo. Revisa los precios y los límites gratuitos del proveedor antes de empezar y pon un límite de gasto en su panel.
Guarda la clave fuera del código
La clave da acceso a tu cuenta y a tu saldo. No la escribas en el programa ni la subas a GitHub. Guárdala en una variable de entorno. En PowerShell, para tu usuario:
setx ANTHROPIC_API_KEY "pega-aquí-tu-clave"
Cierra y vuelve a abrir la terminal para que la variable esté disponible. Los SDK oficiales la leen automáticamente.
Tu primera petición, paso a paso
Usaremos como ejemplo el SDK oficial de Anthropic para Python; los de Google y OpenAI siguen la misma idea con otros nombres.
pip install anthropic
Crea pregunta.py:
import anthropic
client = anthropic.Anthropic() # lee la clave de ANTHROPIC_API_KEY
respuesta = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Explica qué es una variable en programación en dos frases."}
],
)
for bloque in respuesta.content:
if bloque.type == "text":
print(bloque.text)
Ejecútalo con python pregunta.py. Qué hace cada parte:
modelelige el modelo. Los nombres cambian con cada versión: consulta la lista vigente en la documentación del proveedor.max_tokenslimita la longitud de la respuesta (y lo que te puede costar).messageses la conversación. La API no recuerda nada entre peticiones: para seguir hablando, envías otra vez los mensajes anteriores más el nuevo.- La respuesta llega en bloques de contenido; el ejemplo imprime solo los de texto.
Errores habituales
- Error de autenticación (401): la variable de entorno no está definida en esa terminal o la clave es incorrecta. Abre una terminal nueva después de
setx. - Límite de peticiones (429): has enviado demasiadas en poco tiempo. Espera y reintenta; los SDK oficiales ya reintentan unas cuantas veces automáticamente.
ModuleNotFoundError: anthropic: instalaste el paquete en otro entorno virtual.- El nombre del modelo no existe: copia el identificador exacto de la documentación.
Buenas prácticas
- No envíes datos personales o confidenciales sin revisar las condiciones de tratamiento de datos del proveedor y, si trabajas para alguien, sin su permiso.
- No muestres la clave en el navegador: si tu app es web, las llamadas a la API deben salir de tu servidor, nunca del JavaScript de la página.
- Trata la respuesta como un dato no fiable: compruébala antes de usarla y no la ejecutes como código ni la insertes como HTML sin revisarla. Los textos que le pases pueden contener instrucciones maliciosas (prompt injection), un riesgo que OWASP recoge en su lista específica para aplicaciones con modelos de lenguaje.
- Controla el gasto: empieza con
max_tokensbajos, prueba con pocos ejemplos y vigila el consumo en el panel.
Con esto ya puedes aplicar todo lo de escribir buenas instrucciones desde tu propio código. La documentación oficial de cada proveedor explica funciones más avanzadas, como respuestas en formato JSON, uso de herramientas o procesar documentos e imágenes.
Fuentes consultadas
- API overview (Anthropic (documentación de Claude))
- Guía de inicio de la API de Gemini (Google AI for Developers)
- Developer quickstart (OpenAI)
- OWASP Top 10 for LLM Applications (OWASP Foundation)
