Nicolas Matias Stedile
No estan disponibles los repositorios, saludos
Erasmo Hernández
ProfesorGracias por notificarlo Nico, ya mismo se lo comento al equipo.
Erasmo Hernández
ProfesorYa están disponibles!
Conectar Claude API en Python desde tu propia terminal es más rápido de lo que crees. En menos de 10 minutos puedes tener al modelo respondiéndote directamente desde tu código con tu propia API key, sin depender de un playground en el navegador. Esta guía es para quienes están dando sus primeros pasos con la librería de Anthropic y quieren un entorno limpio y seguro.
La idea central es simple: dejar el entorno listo, guardar la API key en un lugar seguro y hacer tu primer llamado real a Claude. Y aquí viene lo interesante, porque el manejo correcto de las variables de entorno es lo que separa un proyecto ordenado de uno lleno de credenciales sueltas.
Cómo preparo el entorno antes de escribir código
Todo arranca con el repositorio clonado de manera local, que encuentras en la sección de recursos. Este repositorio tiene dos carpetas principales: una de Python y una de TypeScript. Puedes seguir el curso con cualquiera de los dos lenguajes, porque cada clase incluye ambas versiones [00:41].
Dentro de la carpeta de Python, en la clase uno, abres el archivo main.py, que empieza completamente en blanco. Vamos a llenarlo paso a paso.
Lo primero es importar el módulo os, que ya viene dentro de Python y sirve para leer las variables de entorno que viven fuera de tu código [01:20]. Luego defines el modelo que vas a usar. En este caso trabajamos con claude-sonnet-4.6, aunque puedes elegir cualquiera de los que ofrece Anthropic [01:36].
¿Qué es una variable de entorno? Es un valor que vive fuera de tu código y que tu programa puede leer al ejecutarse. Se usa para guardar datos sensibles como una API key sin escribirla directamente en el archivo.
Dónde obtengo y guardo la API key de Anthropic
Al ejecutar python main.py por primera vez, la respuesta es que la API no está configurada. Eso pasa porque todavía no existe la API key en tus variables de entorno [02:20].
Para conseguirla, entras al Claude platform, buscas el apartado de Claves de API, das clic en Crear clave, le pones un nombre a tu secret y el sistema genera la API key [02:47]. Copias ese valor y sigues estos pasos:
env.example del repositorio.env.example a un archivo .env, o renombras el ejemplo directamente.export ANTHROPIC_API_KEY seguido de tu valor, ejecutado en la terminal [04:00].Después de exportar, corres de nuevo el archivo. Si usas Python 3, ejecutas con python3; si tienes Python a secas, quitas el 3 [04:26]. Ahora la respuesta cambia: la API ya está configurada y está leyendo los datos directamente desde Claude.
Cómo hago mi primer llamado a la API de Claude
Validar que la API key existe es solo el inicio. Todavía no sabemos si la conexión funciona de verdad, y eso es lo que resolvemos ahora [05:20].
El primer cambio es importar la librería anthropic, que es la que ofrece la empresa para Python. Después sacas la validación de la API key de la función principal y la mueves a una función aparte llamada require_api_key. Si no hay clave, no solo se detiene la ejecución, también se muestra un error claro antes de correr el script [05:50].
Cómo estructuro el cliente y el mensaje
Luego creas el client de Anthropic pasándole el valor de la API key leído desde esa función superior [06:35]. La segunda parte clave es el message, que se conecta al endpoint de messages con la función create. Dentro defines:
claude-sonnet-4.6.¿Para qué sirve el system prompt? Es la instrucción que define el comportamiento y el tono de Claude en toda la conversación. Por ejemplo, pedirle que actúe como mentor breve y práctico de Python.
La respuesta llega en bloques, así que recorres cada bloque de message.content, verificas si es de tipo texto e imprimes su contenido con block.text [08:10].
Qué hago si falla el módulo de Anthropic
Al ejecutar de nuevo puede aparecer un error: el módulo de Anthropic no se detecta. Lo agregaste en texto pero no lo instalaste [08:30]. La solución está en el README: instalas las dependencias con el comando indicado según tu versión de Python. Una vez instaladas, vuelves a correr main.py y aparece la respuesta real desde Claude.
Qué respondió Claude en la primera interacción
En el ejemplo, le pedimos tres proyectos simples para practicar con la Claude API y estas fueron sus recomendaciones [09:20]:
.txt o .tsv y le pide a Claude resumir, criticar o extraer datos.Ese tercer proyecto enseña justo el system prompt y el control de comportamiento del modelo. Tu chat ya funciona: mandaste una instrucción y recibiste respuesta.
Pero fíjate en un detalle importante. Esa llamada no recuerda nada. Si le preguntas qué dijiste antes, no tiene idea, porque cada request nace y muere solo. ¿Cómo logras que Claude sostenga una conversación con memoria real? Cuéntame en los comentarios qué proyecto de los tres te gustaría construir primero.
Nicolas Matias Stedile
No estan disponibles los repositorios, saludos
Erasmo Hernández
ProfesorGracias por notificarlo Nico, ya mismo se lo comento al equipo.
Erasmo Hernández
ProfesorYa están disponibles!
Jesus David Vargas Guerra
Quede perdido desde el momento que empezo la clase
Erasmo Hernández
ProfesorSi explicas más a detalle qué cosa no entendiste, puede ser más facil ayudarte Jesus, cuéntame.
Adriana De La Ossa
X2
Tambien quedé súper perdida. No sé donde están entrando desde el inicio, que están haciendo?
Adalberto Morales
Si no tienes créditos, genera error.
Erasmo Hernández
ProfesorSi amigo, debes tener saldo para poder usar la API es la única forma que tiene claude para eso.
Sergio Fuentes Rodríguez
Hola. Utilice la carga de imagenes por base64 y pedi me diera una descricpción, me sorprendi al ver como decribio la img por consola XD, siento que estoy mas cerca de las tripas de claude y no solo en su interfaz.
Erasmo Hernández
ProfesorWHAAAAA qué buena descripción! jajajaja
José Galdámez
Wooow. Que tremenda enredada se dio con la variable de entorno. La mitad de los pasos que dio no son necesarios.
Jonnathan Pérez Villalba
En caso de que esten en windows para copiar .env.example cambia "cp" por "copy"
copy .env.example .env
Miguel Angel Moreno C.
Una pregunta para poder acceder a las variables del archivo env no habría que cargar las variables con
load_dotenv(".env")
Por que sin eso Python no podría leer el archivo .env
load_dotenv(".env") nos evitamos tener que poner comando en la terminal y volver a hacer el export cada vez que reiniciemos la termina.Ana Maritza Villalta De León
como accedo a los repositorios
Erasmo Hernández
ProfesorHola Ana, están en la sección de recursos de cada clase, por rama de clase.
Jhon Alexander Mosquera Vanegas
La clase pide que la API key «viva en un lugar seguro, no suelta dentro del código», y la guarda en un archivo de variables de entorno, no en el script. Por eso conviene pensar en cómo circula un análisis: un cuaderno que se comparte con un colega, o que se sube a un repositorio, lleva consigo todo lo que esté escrito dentro. Es decir, dejar la clave afuera es lo que permite compartir el código sin compartir el acceso. Mi lectura es que, en equipos pequeños donde los archivos pasan de mano en mano, ese hábito debería ser lo primero que se enseña.
Jeffer Daniel Pacheco Peña
me perdí estoy en vs code pero no se como ingresar el repositorio en vs quede en la api y hay me perdi
Daniel Alfredo García Serna
📚 CLASE: Tu primer llamado a Claude API desde Python
━━━━━━━━━━━━━━━━━━
🎯 IDEA PRINCIPAL
El objetivo es conectar Python directamente con Claude mediante una API key.
La primera prueba valida todo el flujo antes de construir aplicaciones complejas.
━━━━━━━━━━━━━━━━━━
⚡ RESUMEN ULTRA RÁPIDO
🔵 Python envía una solicitud mediante el SDK oficial de Anthropic.
🟡 La API key identifica y autoriza tu aplicación ante el servicio.
🟢 Configura primero el entorno y realiza una llamada mínima al modelo.
🔴 Nunca escribas credenciales directamente dentro del código fuente.
🟡 Una respuesta correcta demuestra que tu entorno y conexión funcionan.
━━━━━━━━━━━━━━━━━━
🔑 LO IMPORTANTE
🔵 Un SDK simplifica la comunicación entre tu aplicación y la API.
🔵 La variable de entorno permite separar secretos y código.
🟡 La primera llamada debe ser mínima para facilitar la depuración.
🔴 No construyas interfaces antes de confirmar que la llamada básica funciona.
🔴 Un error puede venir del modelo, credenciales, SDK o configuración.
🟢 Comprueba cada capa antes de añadir la siguiente.
━━━━━━━━━━━━━━━━━━
🧩 MODELO MENTAL
🔵 Credencial → Cliente Python → Solicitud → Claude → Respuesta
🟡 Cuando algo falle, diagnostica cada eslabón en ese mismo orden.
━━━━━━━━━━━━━━━━━━
🚀 ACCIONES PARA HOY
🟢 Crea un entorno virtual para experimentar exclusivamente con Claude API.
🟢 Instala el SDK oficial de Anthropic dentro de ese entorno.
🟢 Guarda la API key en una variable de entorno, no en Python.
🟢 Ejecuta una solicitud mínima y muestra la respuesta en terminal.
🟢 Cambia el mensaje y verifica que Claude responda según la nueva instrucción.
━━━━━━━━━━━━━━━━━━
🟣 VENTAJA PROFESIONAL
🟣 Separa desde el inicio configuración, secretos y lógica de tu aplicación.
🟣 Antes de crear un agente, domina el flujo mínimo: entrada → API → respuesta.
🟣 Buen hack: conserva un script pequeño para probar credenciales rápidamente.
🟣 Cuando aparezca un error, elimina complejidad hasta volver al ejemplo mínimo funcional.
━━━━━━━━━━━━━━━━━━
📝 CIERRE
Un principiante intenta construir toda la aplicación primero. Un profesional valida primero la conexión mínima.
Si puedes controlar una llamada simple, después puedes convertirla en un chatbot, agente o API.
José Galdámez
x2
Ale Vila
¿Puedo usar esto para aplicaciones web reales?
Totalmente. El patrón de cliente, modelo, instrucciones y respuesta es universal. Lo que ejecutas hoy en la terminal es exactamente el mismo motor que impulsa aplicaciones web complejas o bots de servicio al cliente.
Una vez dominas esta estructura básica, puedes conectar la salida de la API a un frontend en React, una base de datos o un servicio de mensajería como WhatsApp sin cambiar la lógica central.
Juan Guillermo Morales Durán
.env.example debe ser eliminado o agregado a la lista de gitignore antes de subir a git, porque de lo contrario no sería ignorado y esa información llegará finalmente a la nube