← índice
Nomad Prompters · referencia técnica rev. 1.0
Módulo 03

Developer Platform y API

doc. CLA-EDU-03·jun 2026·nivel: medio·08 módulos
al terminar sabrás
qué es una API y un endpoint · cómo se lee y escribe un JSON · las cuatro piezas de una petición · cómo hacer tu primera llamada a Claude · y qué son tool use, streaming, batch, caché y multimodal.

§1 ¿Qué es una API?

modo sesión · sin una línea de código

Todo el mundo dice «la API de Claude»… ¿y eso qué es exactamente?

Nyx

Imagina un restaurante. Estás en la mesa y quieres un plato, pero no entras en la cocina a cocinarlo: se lo pides al camarero, que lleva tu pedido a la cocina y te trae el resultado. Ni sabes ni te importa cómo cocinan ahí dentro; solo necesitas saber cómo pedir. Una API es ese camarero, pero entre programas: el intermediario que deja que tu programa le pida algo a otro servicio —aquí, a Claude— sin tener que saber cómo funciona por dentro.

La diferencia con lo que ya conoces: cuando abres la web de Claude, eres hablando con él. Cuando usas la API, es tu programa el que habla con Claude, solito y automáticamente. (Las siglas significan Application Programming Interface; tradúcelo como «la ventanilla por la que un programa le habla a otro».)

¿Y dónde está esa ventanilla? En una dirección de internet. A la dirección exacta donde mandas tu pedido se le llama endpoint («punto final»). El de Claude para conversar es:

endpoint
https://api.anthropic.com/v1/messages
idea claveLa API es el camarero; el endpoint es la ventanilla concreta a la que le hablas.

§2 JSON, el idioma

el formato en que se hablan los programas

Las personas hablamos español (o inglés, o chino). Los programas, cuando se pasan datos, usan un formato ordenadito para no liarse. El más común se llama JSON, y es solo texto con unas reglas muy simples que pueden leer tanto las máquinas como tú.

Un ejemplo de andar por casa, una ficha de contacto:

ejemplo · json
{
  "nombre": "Ada",
  "edad": 36,
  "ciudad": "Madrid",
  "aficiones": ["ajedrez", "senderismo"]
}

Se lee solo: una ficha con cuatro datos — nombre es texto, edad es número, ciudad es texto y aficiones es una lista con dos cosas. Eso es JSON.

idea claveCuando le hablas a la API de Claude, le mandas un JSON con tu pedido y él te responde con otro JSON. Sabiendo leer estas llaves y comas, el resto es coser y cantar.

§3 Las piezas de una petición

el vocabulario antes de usarlo

Antes de la llamada, conozcamos las cuatro piezas que la forman. Piensa en enviar un paquete por mensajería:

idea claveCarné, dirección, etiqueta y contenido. Con esas cuatro piezas ya se puede enviar.

§4 Tu primera llamada a Claude

la petición, desglosada pieza a pieza

Esta es la llamada completa. No te asustes: debajo la partimos en trozos.

petición · curl
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "system": "Responde en español, claro y directo.",
    "messages": [
      { "role": "user", "content": "Dame 3 ideas para un curso de IA." }
    ]
  }'

Dentro del cuerpo:

¿Y qué te devuelve? Otro JSON. Lo importante está en dos sitios:

respuesta · json
{
  "content": [ { "type": "text", "text": "1. ...  2. ...  3. ..." } ],
  "usage": { "input_tokens": 22, "output_tokens": 130 }
}

content es la respuesta de Claude (el texto está dentro del bloque "text"); usage es la cuenta: cuántos tokens entraron y salieron. Eso es lo que pagas.

§5 Tool use: darle herramientas a Claude

modo sesión · la semilla de los agentes

¿Y cómo hace Claude para saber el tiempo de hoy o mirar mi base de datos?

Nyx

Por defecto, no puede: solo habla. Con tool use le das herramientas —funciones que tú programas— para que pueda hacer cosas, no solo charlar. La imagen: Claude es un cerebro listísimo metido en una habitación sin ventanas. Sabe muchísimo, pero para saber el tiempo de tu ciudad necesita que alguien le pase ese dato. Tú le das un «botón» que puede pulsar cuando lo necesite. Y lo clave: no le das el código, solo la descripción de la herramienta.

El baile tiene cuatro pasos:

  1. Le presentas la herramienta en la petición.
  2. Claude, si la necesita, dice: «pulsa el botón get_weather con ciudad = Manzanares» (no la ejecuta él).
  3. ejecutas esa función en tu programa y consigues el dato.
  4. Le devuelves el resultado y entonces Claude redacta la respuesta final.

Así se describe una herramienta (un JSON dentro de la petición):

herramienta · json
"tools": [
  {
    "name": "get_weather",
    "description": "Devuelve el tiempo actual de una ciudad.",
    "input_schema": {
      "type": "object",
      "properties": {
        "ciudad": { "type": "string", "description": "Nombre de la ciudad" }
      },
      "required": ["ciudad"]
    }
  }
]

Tradúcelo: «tienes una herramienta get_weather, sirve para el tiempo, y para usarla necesitas una ciudad (texto), que es obligatoria». El input_schema es solo la lista de ingredientes que la herramienta pide.

idea claveClaude decide cuándo pulsar el botón y con qué datos; tú pones los músculos (la ejecución). Esto es la semilla de los agentes — Módulo 07.

§6 Streaming: la respuesta en directo

de golpe vs palabra a palabra

Cuando le pides algo a Claude, por defecto esperas a que termine y te llega todo de golpe. Con el streaming te llega palabra a palabra, según la va escribiendo — igual que ves el texto aparecer en la web del chat. Se activa añadiendo una línea al cuerpo: "stream": true.

¿Cuándo da igual? En una tarea automática que nadie mira en directo (un proceso de noche). Mismo endpoint, solo cambias ese interruptor. (Por debajo usa una técnica llamada SSE —el servidor te va mandando trocitos según los tiene—; no necesitas saber más para empezar.)

§7 Gastar menos: Batch y caché

las dos palancas de coste

Dos trucos para que la factura no se dispare:

En la respuesta lo ves en usage, con dos contadores: cache_creation_input_tokens (lo que guardaste) y cache_read_input_tokens (lo que releíste barato).

§8 Imágenes y PDF: más que texto

contenido multimodal

Hasta ahora le mandábamos texto, pero el content de un mensaje admite bloques de distintos tipos. Puedes meterle una imagen o un PDF y preguntarle por ellos.

imagen + texto · json
"content": [
  {
    "type": "image",
    "source": { "type": "base64", "media_type": "image/jpeg", "data": "/9j/4AAQ..." }
  },
  { "type": "text", "text": "¿Qué hay en esta imagen?" }
]

Aquí el content ya no es una frase suelta, sino una lista con dos bloques: primero una imagen, luego la pregunta.

Mezclas bloques en el mismo mensaje y le preguntas lo que quieras. max_tokens sigue siendo obligatorio, como siempre.

§9 Chuleta del módulo

repaso rápido · pregunta y respuesta
¿Qué es una API y un endpoint?
La API es la «ventanilla» para que tu programa le hable a Claude; el endpoint es la dirección exacta: api.anthropic.com/v1/messages.
¿Cómo es un JSON?
Texto con reglas: objetos entre llaves {}, pares "clave": valor, listas entre [ ], separados por comas.
¿Las piezas de una petición?
API key (carné), endpoint (dirección), cabeceras (etiqueta: key, versión, content-type) y cuerpo (el JSON con model, max_tokens, messages).
¿Qué es tool use?
Le das herramientas a Claude; él pide usarlas, las ejecutas y le devuelves el resultado. Es la base de los agentes.
¿Streaming, batch y caché?
Streaming = respuesta en directo. Batch = lotes no urgentes al 50 %. Caché = reutilizar contexto largo, hasta 90 % más barato.
¿Cómo se manda una imagen o PDF?
Dentro de content, como bloques "image" (base64 o URL) o "document", mezclados con texto.

§10 Examen del módulo

autoevaluación · 10 preguntas

Marca una respuesta y te digo al instante si va bien, con el porqué. Al final, tu nota.

respondidas 0/10aciertos 0
pregunta 01
¿Qué es una API?
pregunta 02
¿Qué es un endpoint?
pregunta 03
En JSON, ¿qué envuelve una «ficha» de datos (un objeto)?
pregunta 04
¿Para qué sirve la cabecera x-api-key?
pregunta 05
¿Cuál de estos campos del cuerpo es obligatorio?
pregunta 06
¿Qué es un token, más o menos?
pregunta 07
En tool use, ¿quién ejecuta la función de la herramienta?
pregunta 08
¿Para qué sirve el streaming («stream»: true)?
pregunta 09
¿Qué descuento da la Batch API por esperar (hasta 24 h)?
pregunta 10
Para mandarle una imagen a Claude, el contenido lleva un bloque de tipo…
0/10

¿Te ha servido este módulo? El curso es gratis y abierto — si te apetece aportar tu granito, invítame a un café. Sin presión, todo suma. 🐾

☕ Invítame a un café