Was this page helpful?
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.
Usa las capacidades de visión de Claude a través de:
Puedes incluir múltiples imágenes en una sola solicitud: hasta 20 para claude.ai, y hasta 600 para solicitudes de API (100 para modelos con una ventana de contexto de 200k tokens). Claude analiza 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, se rechaza. Si envías más de 20 imágenes en una solicitud de API, este límite es de 2000x2000 px.
Aunque la API admite hasta 600 imágenes por solicitud, los límites de tamaño de solicitud (32 MB para puntos finales estándar; menor en algunas plataformas de terceros) pueden alcanzarse primero. Para muchas imágenes, considera cargar con la API de Archivos y hacer referencia por file_id para mantener pequeños los payloads de solicitud.
Incluso cuando se usa la API de Archivos, las solicitudes con muchas imágenes grandes pueden fallar antes de alcanzar el conteo de 600 imágenes. Reduce las dimensiones de imagen o tamaños de archivo (por ejemplo, mediante submuestreo) antes de cargar (consulta Evaluar tamaño de imagen).
Para minimizar la latencia sin sacrificar la calidad de salida, redimensiona las imágenes antes de cargar si son demasiado grandes. En Claude Opus 4.6, Claude Sonnet 4.6 y modelos anteriores, 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 reduce 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, aumenta la latencia del tiempo hasta el primer token, sin beneficio para la calidad de salida. Las imágenes muy pequeñas menores a 200 píxeles en cualquier borde dado pueden degradar la calidad de salida.
Para modelos anteriores a Claude Opus 4.7, para mejorar el tiempo hasta el primer token, considera redimensionar imágenes a no más de 1.15 megapíxeles (y dentro de 1568 píxeles en ambas dimensiones). Para Claude Opus 4.7, consulta Soporte de imagen de alta resolución a continuación.
Claude Opus 4.7 es el primer modelo de Claude con soporte de imagen de alta resolución. La resolución máxima de imagen es 2576 píxeles en el borde largo (aumentado desde 1568 px en modelos anteriores). Esto desbloquea ganancias de rendimiento en cargas de trabajo intensivas en visión y es particularmente valioso para uso de computadora, comprensión de capturas de pantalla y análisis de documentos.
El soporte de alta resolución es automático en Claude Opus 4.7 y no requiere encabezado beta ni opt-in del lado del cliente.
Costo de token: Las imágenes de resolución completa en Claude Opus 4.7 pueden usar hasta aproximadamente 3x más tokens de imagen que en modelos anteriores (hasta 4784 tokens por imagen, en comparación con el límite anterior de aproximadamente ~1,600 tokens por imagen). Si no necesitas la fidelidad adicional, submuestrea las imágenes antes de enviar para controlar los costos de token.
Matemática de coordenadas: En Claude Opus 4.7, las coordenadas de señalización y cuadro delimitador devueltas por el modelo son 1
con píxeles de imagen reales, por lo que no se requiere conversión de factor de escala. Esto simplifica el uso de computadora, anotación y flujos de trabajo de localización.Aquí hay una tabla de tamaños máximos de imagen aceptados por la API que no serán redimensionados para relaciones de aspecto comunes. Con Claude Sonnet 4.6, estas imágenes usan aproximadamente 1,600 tokens y alrededor de $4.80/1k imágenes.
| Relación de aspecto | Tamaño de imagen |
|---|---|
| 1:1 | 1092x1092 px |
| 3:4 | 951x1268 px |
| 2:3 | 896x1344 px |
| 9:16 | 819x1456 px |
| 1:2 | 784x1568 px |
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 la API basados en el precio por token de Claude Sonnet 4.6 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 |
Al proporcionar imágenes a Claude, ten en cuenta lo siguiente para obtener los mejores resultados:
Muchas de las técnicas de prompting que funcionan bien para interacciones basadas en texto con Claude también se pueden aplicar a prompts basados en imágenes.
Estos ejemplos demuestran estructuras de prompt de mejores prácticas que involucran imágenes.
Así como colocar documentos largos antes de tu consulta mejora los resultados en prompts de texto, Claude funciona mejor cuando las imágenes vienen antes del texto. Las imágenes colocadas después del texto o interpoladas con texto aún funcionan bien, pero si tu caso de uso lo permite, prefiere una estructura imagen-luego-texto.
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:
imageLos prompts de ejemplo base64 usan estas variables:
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:
Para imágenes que usarás repetidamente o cuando quieras evitar la sobrecarga de codificación, usa la Files API. Carga la imagen una vez, luego referencia el file_id devuelto en mensajes posteriores en lugar de reenviar datos en base64.
En conversaciones de múltiples turnos y flujos de trabajo agénticos, cada solicitud reenvía el
historial completo de la conversación. Si las imágenes están codificadas en base64, los bytes completos de la imagen
se incluyen en la carga útil en cada turno, lo que puede aumentar significativamente
el tamaño de la solicitud y la latencia a medida que crece la conversación. Cargar imágenes en la
Files API y referenciarlas por file_id mantiene las cargas útiles de solicitud pequeñas
sin importar cuántas imágenes se acumulen en el historial de conversación.
Consulta ejemplos de la API de Messages para obtener más código de ejemplo y detalles de parámetros.
Aunque las capacidades de comprensión de imágenes de Claude son de vanguardia, hay algunas limitaciones a tener en cuenta:
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.
¿Listo para comenzar a construir con imágenes usando Claude? Aquí hay algunos recursos útiles:
Si tienes otras preguntas, comunícate con el equipo de soporte. También puedes unirte a la comunidad de desarrolladores para conectarte con otros creadores y obtener ayuda de expertos de Anthropic.
import 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 solicitudesimage1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": image1_media_type,
"data": image1_data,
},
},
{"type": "text", "text": "Describe this image."},
],
}
],
)
print(message)client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
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."},
],
}
],
)
print(message)client = anthropic.Anthropic()
# Upload the image file
with open("image.jpg", "rb") as f:
file_upload = client.beta.files.upload(file=("image.jpg", f, "image/jpeg"))
# Use the uploaded file in a message
message = client.beta.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
betas=["files-api-2025-04-14"],
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {"type": "file", "file_id": file_upload.id},
},
{"type": "text", "text": "Describe this image."},
],
}
],
)
print(message.content)