Visión
Esta guía describe cómo trabajar con imágenes en Claude, incluyendo mejores prácticas, ejemplos de código y limitaciones a tener en cuenta.
Cómo usar visión
Utiliza las capacidades de visión de Claude a través de:
- claude.ai. Carga una imagen como lo harías con un archivo, o arrastra y suelta una imagen directamente en la ventana de chat.
- El Workbench de Consola. Si seleccionas un modelo que acepta imágenes (solo modelos Claude 3 y 4), aparece un botón para agregar imágenes en la esquina superior derecha de cada bloque de mensaje del Usuario.
- Solicitud de API. Consulta los ejemplos en esta guía.
Antes de cargar
Conceptos básicos y límites
Puedes incluir múltiples imágenes en una sola solicitud (hasta 20 para claude.ai y 100 para solicitudes de API). Claude analizará todas las imágenes proporcionadas al formular su respuesta. Esto puede ser útil para comparar o contrastar imágenes.
Si envías una imagen más grande que 8000x8000 px, será rechazada. Si envías más de 20 imágenes en una solicitud de API, este límite es 2000x2000 px.
Aunque la API admite 100 imágenes por solicitud, hay un límite de tamaño de solicitud de 32MB para puntos finales estándar.
Evaluar el tamaño de la imagen
Para un rendimiento óptimo, recomendamos cambiar el tamaño de las imágenes antes de cargarlas si son demasiado grandes. Si el borde largo de tu imagen tiene más de 1568 píxeles, o tu imagen tiene más de ~1,600 tokens, primero se reducirá la escala, preservando la relación de aspecto, hasta que esté dentro de los límites de tamaño.
Si tu imagen de entrada es demasiado grande y necesita ser redimensionada, aumentará la latencia del tiempo hasta el primer token, sin darte ningún rendimiento de modelo adicional. Las imágenes muy pequeñas menores de 200 píxeles en cualquier borde dado pueden degradar el rendimiento.
Para mejorar el tiempo hasta el primer token, recomendamos cambiar el tamaño de las imágenes a no más de 1.15 megapíxeles (y dentro de 1568 píxeles en ambas dimensiones).
Aquí hay una tabla de tamaños máximos de imagen aceptados por nuestra API que no serán redimensionados para relaciones de aspecto comunes. Con el modelo Claude Sonnet 3.7, estas imágenes utilizan aproximadamente 1,600 tokens y alrededor de $4.80/1K imágenes.
| Relación de aspecto | Tamaño de imagen |
|---|---|
| 1 | 1092x1092 px |
| 3 | 951x1268 px |
| 2 | 896x1344 px |
| 9 | 819x1456 px |
| 1 | 784x1568 px |
Calcular costos de imagen
Cada imagen que incluyas en una solicitud a Claude cuenta hacia tu uso de tokens. Para calcular el costo aproximado, multiplica el número aproximado de tokens de imagen por el precio por token del modelo que estés usando.
Si tu imagen no necesita ser redimensionada, puedes estimar el número de tokens utilizados a través de este algoritmo: tokens = (ancho px * alto px)/750
Aquí hay ejemplos de tokenización aproximada y costos para diferentes tamaños de imagen dentro de las restricciones de tamaño de nuestra API basados en el precio por token de Claude Sonnet 3.7 de $3 por millón de tokens de entrada:
| Tamaño de imagen | # de tokens | Costo / imagen | Costo / 1K imágenes |
|---|---|---|---|
| 200x200 px(0.04 megapíxeles) | ~54 | ~$0.00016 | ~$0.16 |
| 1000x1000 px(1 megapíxel) | ~1334 | ~$0.004 | ~$4.00 |
| 1092x1092 px(1.19 megapíxeles) | ~1590 | ~$0.0048 | ~$4.80 |
Asegurar la calidad de la imagen
Al proporcionar imágenes a Claude, ten en cuenta lo siguiente para obtener los mejores resultados:
- Formato de imagen: Utiliza un formato de imagen compatible: JPEG, PNG, GIF o WebP.
- Claridad de imagen: Asegúrate de que las imágenes sean claras y no demasiado borrosas o pixeladas.
- Texto: Si la imagen contiene texto importante, asegúrate de que sea legible y no demasiado pequeño. Evita recortar el contexto visual clave solo para ampliar el texto.
Ejemplos de indicaciones
Muchas de las técnicas de indicación que funcionan bien para interacciones basadas en texto con Claude también se pueden aplicar a indicaciones basadas en imágenes.
Estos ejemplos demuestran estructuras de indicación de mejores prácticas que involucran imágenes.
Al igual que con la colocación de consulta de documentos, Claude funciona mejor cuando las imágenes vienen antes del texto. Las imágenes colocadas después del texto o interpoladas con texto seguirán funcionando bien, pero si tu caso de uso lo permite, recomendamos una estructura de imagen-luego-texto.
Acerca de los ejemplos de indicación
Los siguientes ejemplos demuestran cómo usar las capacidades de visión de Claude usando varios lenguajes de programación y enfoques. Puedes proporcionar imágenes a Claude de tres formas:
- Como una imagen codificada en base64 en bloques de contenido
image - Como una referencia de URL a una imagen alojada en línea
- Usando la API de Archivos (cargar una vez, usar múltiples veces)
Los indicadores de ejemplo de base64 utilizan estas variables:
# Para imágenes basadas en URL, puedes usar la URL directamente en tu solicitud JSON
# Para imágenes codificadas en base64, primero necesitas codificar la imagen
# Ejemplo de cómo codificar una imagen a base64 en bash:
BASE64_IMAGE_DATA=$(curl -s "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg" | base64)
# Los datos codificados ahora se pueden usar en tus llamadas de APIimport base64
import httpx
# Para imágenes codificadas en base64
image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")
image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.standard_b64encode(httpx.get(image2_url).content).decode("utf-8")
# Para imágenes basadas en URL, puedes usar las URLs directamente en tus solicitudesimport axios from 'axios';
// Para imágenes codificadas en base64
async function getBase64Image(url: string): Promise<string> {
const response = await axios.get(url, { responseType: 'arraybuffer' });
return Buffer.from(response.data, 'binary').toString('base64');
}
// Uso
async function prepareImages() {
const imageData = await getBase64Image('https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg');
// Ahora puedes usar imageData en tus llamadas de API
}
// Para imágenes basadas en URL, puedes usar las URLs directamente en tus solicitudesimport java.io.IOException;
import java.util.Base64;
import java.io.InputStream;
import java.net.URL;
public class ImageHandlingExample {
public static void main(String[] args) throws IOException, InterruptedException {
// Para imágenes codificadas en base64
String image1Url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg";
String image1MediaType = "image/jpeg";
String image1Data = downloadAndEncodeImage(image1Url);
String image2Url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg";
String image2MediaType = "image/jpeg";
String image2Data = downloadAndEncodeImage(image2Url);
// Para imágenes basadas en URL, puedes usar las URLs directamente en tus solicitudes
}
private static String downloadAndEncodeImage(String imageUrl) throws IOException {
try (InputStream inputStream = new URL(imageUrl).openStream()) {
return Base64.getEncoder().encodeToString(inputStream.readAllBytes());
}
}
}A continuación se muestran ejemplos de cómo incluir imágenes en una solicitud de API de Mensajes usando imágenes codificadas en base64 y referencias de URL:
Ejemplo de imagen codificada en base64
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-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "'"$BASE64_IMAGE_DATA"'"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Ejemplo de imagen basada en URL
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-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "url",
"url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Ejemplo de imagen de API de Archivos
Para imágenes que usarás repetidamente o cuando quieras evitar la sobrecarga de codificación, usa la API de Archivos:
# Primero, carga tu imagen a la API de Archivos
curl -X POST https://api.anthropic.com/v1/files \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-F "[email protected]"
# Luego usa el file_id devuelto en tu mensaje
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Consulta ejemplos de API de Mensajes para más código de ejemplo y detalles de parámetros.
Limitaciones
Aunque las capacidades de comprensión de imágenes de Claude son de vanguardia, hay algunas limitaciones a tener en cuenta:
- Identificación de personas: Claude no puede ser usado para identificar (es decir, nombrar) personas en imágenes y se negará a hacerlo.
- Precisión: Claude puede alucinar o cometer errores al interpretar imágenes de baja calidad, rotadas o muy pequeñas menores de 200 píxeles.
- Razonamiento espacial: Las capacidades de razonamiento espacial de Claude son limitadas. Puede tener dificultades con tareas que requieren localización precisa o diseños, como leer la cara de un reloj analógico o describir posiciones exactas de piezas de ajedrez.
- Conteo: Claude puede dar conteos aproximados de objetos en una imagen pero puede no ser siempre precisamente exacto, especialmente con grandes números de objetos pequeños.
- Imágenes generadas por IA: Claude no sabe si una imagen es generada por IA y puede ser incorrecto si se le pregunta. No confíes en él para detectar imágenes falsas o sintéticas.
- Contenido inapropiado: Claude no procesará imágenes inapropiadas o explícitas que violen nuestra Política de Uso Aceptable.
- Aplicaciones de salud: Aunque Claude puede analizar imágenes médicas generales, no está diseñado para interpretar escaneos de diagnóstico complejos como tomografías computarizadas o resonancias magnéticas. Los resultados de Claude no deben considerarse un sustituto del consejo médico profesional o diagnóstico.
Siempre revisa y verifica cuidadosamente las interpretaciones de imágenes de Claude, especialmente para casos de uso de alto riesgo. No uses Claude para tareas que requieran precisión perfecta o análisis de imágenes sensibles sin supervisión humana.
Preguntas frecuentes
Profundiza en visión
¿Listo para comenzar a construir con imágenes usando Claude? Aquí hay algunos recursos útiles:
- Libro de recetas multimodal: Este libro de recetas tiene consejos sobre cómo comenzar con imágenes y técnicas de mejores prácticas para asegurar el rendimiento de la más alta calidad con imágenes. Mira cómo puedes indicar efectivamente a Claude con imágenes para llevar a cabo tareas como interpretar y analizar gráficos o extraer contenido de formularios.
- Referencia de API: Visita nuestra documentación para la API de Mensajes, incluyendo ejemplos de llamadas de API que involucran imágenes.
Si tienes otras preguntas, no dudes en comunicarte con nuestro equipo de soporte. También puedes unirte a nuestra comunidad de desarrolladores para conectarte con otros creadores y obtener ayuda de expertos de Anthropic.