Esta guía describe cómo enviar imágenes a Claude, los límites y costos que aplican, y dónde encontrar orientación para flujos de trabajo basados en coordenadas.
Usa las capacidades de visión de Claude a través de:
En la API, proporciona imágenes a Claude como bloques de contenido image usando uno de tres tipos de origen:
file_id devuelto por la Files API (sube una vez, referencia muchas veces)En Amazon Bedrock y Google Cloud, actualmente solo están disponibles los orígenes codificados en base64.
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 intercaladas con texto aún funcionan bien, pero si tu caso de uso lo permite, prefiere una estructura de imagen-luego-texto.
image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-8",
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-8",
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)Para imágenes que usarás repetidamente o cuando quieras evitar la sobrecarga de codificación, usa la Files API. Sube 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. Subir imágenes a la Files API y referenciarlas por file_id mantiene las
cargas útiles de las solicitudes pequeñas sin importar cuántas imágenes se acumulen en el
historial de la conversación.
client = anthropic.Anthropic()
# Sube el archivo de imagen
with open("image.jpg", "rb") as f:
file_upload = client.beta.files.upload(file=("image.jpg", f, "image/jpeg"))
# Usa el archivo subido en un mensaje
message = client.beta.messages.create(
model="claude-opus-4-8",
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)Consulta ejemplos de la Messages API para más código de ejemplo y detalles de parámetros.
Puedes incluir múltiples imágenes en una sola solicitud, y Claude las analiza en conjunto. Esto es útil para comparar imágenes, preguntar sobre diferencias o trabajar con una secuencia como páginas de un documento. Al enviar varias imágenes, introduce cada una con una etiqueta de texto corta (Image 1:, Image 2:, y así sucesivamente) para que puedas referirte a ellas por nombre en tu prompt y en turnos posteriores.
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Image 1:"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC",
},
},
{"type": "text", "text": "Image 2:"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGNgYPgPAAEDAQAIicLsAAAAAElFTkSuQmCC",
},
},
{"type": "text", "text": "How are these images different?"},
],
}
],
)
print(message)En una conversación de múltiples turnos, agrega nuevas imágenes en turnos user posteriores de la misma manera. Claude tiene acceso a todas las imágenes de turnos anteriores, por lo que preguntas de seguimiento como "¿Son estas similares a las dos primeras?" funcionan sin incluir las imágenes anteriores nuevamente en el contenido del nuevo turno.
El número máximo de imágenes por mensaje o solicitud es:
Las dimensiones máximas por imagen son 8000x8000 px.
Si una sola solicitud de API contiene más de 20 imágenes, se aplica un límite de dimensión por imagen más estricto. En Amazon Bedrock y Google Cloud, los bloques de documentos como PDFs también cuentan para este umbral. Las imágenes que exceden el límite más estricto se rechazan con un invalid_request_error cuyo mensaje hace referencia a "many-image requests" e indica el límite actual en píxeles. Para mantenerte bajo el límite en todas las plataformas, redimensiona cada imagen para que ninguna dimensión exceda 2000 px, o mantén la solicitud en 20 o menos bloques de imagen y documento.
El tamaño máximo por imagen es:
Aunque la API admite hasta 600 imágenes por solicitud, los límites de tamaño de solicitud (32 MB para endpoints estándar; menor en algunas plataformas operadas por socios, por ejemplo, Amazon Bedrock y Google Cloud) pueden alcanzarse primero. Para muchas imágenes, considera subirlas con la Files API y referenciarlas por file_id para mantener las cargas útiles de las solicitudes pequeñas.
Incluso al usar la Files API, las solicitudes con muchas imágenes grandes pueden fallar antes de alcanzar el conteo de 600 imágenes. Reduce las dimensiones o tamaños de archivo de las imágenes (por ejemplo, mediante submuestreo) antes de subirlas (consulta Resolución y costo de tokens).
Claude admite imágenes JPEG, PNG, GIF y WebP (image/jpeg, image/png, image/gif, image/webp). Las animaciones no son compatibles, y solo se usa el primer fotograma.
Claude ve las imágenes en parches en lugar de píxeles. Cada parche es un bloque de 28×28 píxeles de la imagen, denominado token visual. Una imagen, por lo tanto, cuesta ⌈ancho / 28⌉ × ⌈alto / 28⌉ tokens visuales.
Cada modelo tiene una resolución de imagen nativa máxima, expresada como un límite de borde largo y un límite de tokens visuales. Las imágenes más grandes que cualquiera de los límites se reducen antes del procesamiento; consulta Cómo Claude redimensiona y rellena imágenes para la regla exacta.
| Nivel de resolución | Modelos | Borde largo máx. | Tokens visuales máx. |
|---|---|---|---|
| Alta resolución | Claude Fable 5, Claude Mythos 5, Claude Opus 4.8, Claude Opus 4.7, Claude Sonnet 5 | 2576 px | 4784 |
| Estándar | Todos los demás modelos | 1568 px | 1568 |
El soporte de alta resolución es automático en los modelos listados y no requiere encabezado beta ni activación del lado del cliente.
La siguiente tabla muestra el costo en tokens visuales para varios tamaños de imagen en cada nivel:
| Tamaño de imagen | Tokens de nivel estándar | Tokens de nivel de alta resolución |
|---|---|---|
| 200x200 px (0.04 megapíxeles) | 64 | 64 |
| 1000x1000 px (1 megapíxel) | 1296 | 1296 |
| 1092x1092 px (1.19 megapíxeles) | 1521 | 1521 |
| 1920x1080 px (2.07 megapíxeles) | 1560 | 2691 |
| 2000x1500 px (3 megapíxeles) | 1564 | 3888 |
| 3840x2160 px (8.29 megapíxeles) | 1560 | 4784 |
Para estimar el costo, multiplica el conteo de tokens por el precio por token del modelo que estás usando. Por ejemplo, a $1 por millón de tokens de entrada de Claude Haiku 4.5 (nivel estándar), la imagen de 1000×1000 cuesta aproximadamente $1.30 por cada mil imágenes. A $5 por millón de Claude Opus 4.8 (nivel de alta resolución), la misma imagen cuesta aproximadamente $6.48 por cada mil y la imagen 4K aproximadamente $23.92 por cada mil.
Las imágenes de alta resolución pueden usar hasta aproximadamente tres veces más tokens visuales que la misma imagen en un modelo de nivel estándar. Si no necesitas la fidelidad adicional que proporciona la alta resolución para uso de computadora, comprensión de capturas de pantalla y documentos densos, submuestrea las imágenes antes de enviarlas para controlar los costos de tokens. Para minimizar la latencia y simplificar los flujos de trabajo basados en coordenadas, prefiere redimensionar las imágenes antes de subirlas.
Al proporcionar imágenes a Claude, ten en cuenta lo siguiente para obtener mejores resultados:
Para "bounding boxes" (cuadros delimitadores), puntos y coordenadas de píxeles, consulta Coordenadas y cuadros delimitadores. Claude devuelve coordenadas de píxeles absolutas relativas a la imagen que ve después del redimensionamiento; esa guía cubre cómo Claude redimensiona y rellena imágenes y cómo redimensionar previamente o reescalar para que las coordenadas coincidan con tu imagen original.
Aunque las capacidades de comprensión de imágenes de Claude son de vanguardia, hay algunas limitaciones que debes 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.
Obtén consejos y técnicas de mejores prácticas para tareas como interpretar gráficos y extraer contenido de formularios.
Consulta la documentación de la Messages API, incluyendo ejemplos de llamadas a la API que involucran imágenes.
Was this page helpful?