Guía de uso
Claude Opus 5.5 para comercio electrónico: redacción de textos y respuestas de atención al cliente
La ficha del modelo claude-opus-5-5 en el propio sitio de hiapi muestra que tanto la modalidad de entrada como la de salida son text — no hay generación de imágenes, y tampoco se menciona la entrada de imágenes. Así que cuando en los requisitos aparece "imagen de producto", la respuesta honesta es la misma que ante cualquier LLM de solo texto: es la herramienta equivocada. Lo que realmente domina en el contexto de una tienda online es la escritura: descripciones de producto, textos de páginas de producto y respuestas de atención al cliente. También tiene un parámetro reasoning que la mayoría nunca ha tocado, y ese parámetro tiene un efecto secundario real y facturable que conviene conocer antes de conectarlo a una canalización de producción. A continuación, cuatro llamadas reales a la API de hiapi, con salidas reales, recuentos de tokens reales, y una trampa que costó dinero real descubrir.
El parámetro reasoning.effort, y qué te aporta realmente
La ficha de claude-opus-5-5 enumera cinco niveles de reasoning effort: low, medium, high, xhigh, max. La estructura de la petición es la siguiente:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 500,
"reasoning": {"effort": "high"},
"messages": [
{"role": "system", "content": "You are an e-commerce copywriter. Write a 60-word product description. No superlatives."},
{"role": "user", "content": "Product: insulated water bottle. 750ml, stainless steel, double-wall vacuum insulation, leak-proof lid, matte finish. Keeps drinks cold 24h, hot 12h."}
]
}'
Otras dos estructuras de petición también parecen razonables, pero ambas fallan: el campo de nivel superior reasoning_effort y el bloque nativo de Anthropic thinking: {"type": "enabled", "budget_tokens": ...} devuelven invalid_request. En esta ruta, la única estructura válida es reasoning: {"effort": "..."}.
La hipótesis inicial era: los niveles de effort más altos gastan más tokens a cambio de respuestas con un razonamiento más profundo. Con exactamente el mismo prompt de descripción de 60 palabras, enviado con max_tokens: 500 y con minimal (no documentado, ver más abajo), low, medium, high y max, el resultado no fue ese:
| effort | prompt_tokens | completion_tokens | finish_reason |
|---|---|---|---|
| minimal | 130 | 499 | stop |
| low | 130 | 499 | stop |
| medium | 130 | 499 | stop |
| high | 130 | 499 | stop |
| max | 130 | 499 | stop |
Cada nivel facturó exactamente 499 completion tokens para el mismo prompt. No un valor cercano: exactamente el mismo. Lo que sí cambió fue el contenido escrito:
minimal: Mantente hidratado estés donde estés con esta botella de acero inoxidable de 750 ml. El aislamiento de doble pared mantiene las bebidas frías durante 24 horas y calientes durante 12, así que tu agua se mantiene fresca desde el sendero de montaña hasta el gimnasio. La tapa antigoteo sella bien en la mochila, el acabado mate resiste los arañazos y se agarra con firmeza en la mano. Sin BPA, duradera, apta para cada entrenamiento y aventura al aire libre.
high: Botella térmica de acero inoxidable, 750 ml. Diseñada para senderos largos y entrenamientos más exigentes. El aislamiento de doble pared de acero inoxidable mantiene las bebidas frías durante 24 horas o calientes durante 12, así que tu agua se mantiene fresca hasta el último sorbo. La tapa antigoteo sella bien en la mochila o en el bolso de deporte. El acabado mate resiste el desgaste y también las manos sudorosas. 750 ml bastan para una salida completa en bicicleta sin cargarte de peso de más.
high añadió una línea de titular en negrita y reorganizó el orden de los argumentos de venta; minimal entra directamente en los argumentos. Ambos rondan las 60 palabras, ambos respetan la regla de "sin adjetivos superlativos", y el coste es el mismo. low y medium quedan entre ambos, con una estructura progresivamente menor. Ten en cuenta que minimal en realidad no está en la lista documentada de cinco niveles — no fue rechazado, pero conviene tratar los valores no documentados como no soportados en lugar de depender de ellos en producción; usa uno de los cinco niveles enumerados (low/medium/high/xhigh/max).
La verdadera lección: reasoning.effort cambia el estilo, no el precio. Con un max_tokens fijo, el coste depende del límite que establishes, no de la cadena de effort. Si presupuestas tu canalización de copy por nivel de effort pensando que low es la opción barata, no lo es — max_tokens es la única palanca que cambia la factura.
La trampa: el reasoning consume silenciosamente tu presupuesto de max_tokens
El hallazgo de que "el coste depende de max_tokens" tiene un efecto secundario afilado. claude-opus-5-5 realiza un razonamiento interno antes de escribir la respuesta visible, y ese razonamiento interno comparte el mismo límite de max_tokens que la propia respuesta. Si subes el effort sin aumentar el límite, el modelo puede quedarse sin presupuesto a mitad de la respuesta — o antes de escribir cualquier contenido visible.
Primer caso: con un prompt de copy normal, usando effort: xhigh y max_tokens: 500:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 500,
"reasoning": {"effort": "xhigh"},
"messages": [
{"role": "system", "content": "You are an e-commerce copywriter. Given a product spec, write a title (max 70 characters), 3 bullet features, and a 2-3 sentence description. No superlatives, no exclamation marks."},
{"role": "user", "content": "Product: insulated travel mug. Material: 18/8 stainless steel, double-wall vacuum insulation. Capacity: 16oz. Lid: leak-proof slide lock. Keeps drinks hot 6 hours, cold 12 hours."}
]
}'
La respuesta real, sin editar — se cortó a mitad de frase:
Título: Taza de viaje térmica de acero inoxidable de 16 oz con tapa deslizante antigoteo
Características:
- Conserva el calor y el frío: el aislamiento de vacío de doble pared mantiene las bebidas calientes durante 6 horas y frías durante 12.
- Construcción duradera: fabricada en acero inoxidable 18/8, resistente a la oxidación y sin retención de olores.
- Tapa antigoteo: el cierre deslizante sella la abertura, así puedes meter la taza en el bolso sin preocuparte por derrames.
Descripción: Esta taza de viaje de 16 oz con aislamiento de vacío de doble pared mantiene tu café caliente toda la mañana, o tu
finish_reason: "length", se facturaron 500 completion tokens, y la cláusula descriptiva se cortó en seco en "o tu" — sin puntuación final, sin error, sin campo de advertencia. Una canalización que solo comprueba el HTTP 200 publicaría esa media frase directamente en la página de producto.
El segundo caso es peor: un prompt de respuesta de atención al cliente con max_tokens: 300 y reasoning por defecto devolvió contenido completamente vacío.
{
"finish_reason": "length",
"usage": {"prompt_tokens": 157, "completion_tokens": 300, "total_tokens": 457},
"message": {"content": "", "reasoning_details": [{"text": "", "type": "reasoning.text"}]}
}
content es una cadena vacía. El campo reasoning_details confirma el motivo: el modelo gastó los 300 tokens de presupuesto completos en razonamiento interno ("text": "" — ni siquiera se expone el rastro de razonamiento, solo un bloque opaco y cifrado signature), sin espacio restante para escribir la respuesta real. hiapi facturó igualmente los 300 completion tokens completos de esa llamada — pagues o no una respuesta visible, el pensamiento se cobra.
La solución es la misma en ambos casos: al establecer max_tokens, deja un margen real por encima de lo que necesita la respuesta visible, especialmente con effort high/xhigh/max. Tampoco confíes en que finish_reason: "stop" sea prueba de una buena respuesta — antes de escribir en la base de datos, comprueba que content no esté vacío y que además exprese la idea completa.
Caso de uso: redacción de respuestas de atención al cliente
Aliméntalo con tu política y un mensaje real de cliente:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 400,
"reasoning": {"effort": "medium"},
"messages": [
{
"role": "system",
"content": "You are a customer support agent for an online water bottle store. Policy: 30-day return window from delivery. Manufacturing defects reported after the window should be referred to the manufacturer'\''s own warranty. Reply in under 100 words, empathetic but concise, end with a clear next step."
},
{
"role": "user",
"content": "I bought a water bottle 35 days ago and the seal is already leaking. Can I get a refund or exchange?"
}
]
}'
La respuesta real, sin editar:
Lamento mucho el problema de la fuga. Como han pasado 35 días, el pedido queda fuera de nuestra ventana de devolución de 30 días, así que no puedo gestionar una devolución o un cambio por nuestra parte. Muchas marcas de botellas ofrecen garantía por defectos de sellado en uso normal, así que te recomiendo contactar directamente con el fabricante. Si me facilitas el número de pedido, puedo darte los datos de la marca para ayudarte a presentar la reclamación.
Aplicó correctamente el caso límite exacto de la política — 35 días supera la ventana de 30 días, así que rechazó la devolución directa y derivó a la garantía del fabricante, en lugar de solo disculparse y ofrecer igualmente un reembolso. 277 completion tokens, finish_reason: "stop", respuesta completa y sin truncar. Es el mismo modelo, la misma cuenta y el mismo effort medium de la tabla de copy anterior — la diferencia aquí es que max_tokens: 400 le dio espacio suficiente para razonar y responder a la vez.
La capacidad visual funciona, aunque la ficha del modelo diga que no
Otra sorpresa verificada de verdad: la ficha de claude-opus-5-5 enumera Input modalities: text — no se menciona la entrada de imágenes en ningún sitio. Pero enviarle una imagen sigue funcionando:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 150,
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "In one sentence, what is in this photo?"},
{"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}
]
}]
}'
La respuesta real, sin editar (truncada por el mismo mecanismo de max_tokens mencionado antes — 150 no era suficiente):
Esta es una imagen de estilo flat lay ordenada de accesorios diarios masculinos sobre una superficie gris, que incluye una cartera negra con cremallera, unas gafas de sol de aviador, una pajarita de tweed, un cuaderno
Leyó la foto correctamente. La lista de modalidades "text" de la ficha del modelo es errónea para esta ruta, o al menos incompleta — el mismo patrón de "la ficha y la realidad no coinciden" que experimentó el artículo sobre claude-opus-4-8 con su declaración de capacidad visual. No construyas canalizaciones que dependan de la lista publicada de modalidades para restringir nada; como con el parámetro reasoning de arriba, envía peticiones reales y lee respuestas reales.
Nota sobre costes
Nueve llamadas reales, todas facturadas en la única ruta claude-opus-5-5 (este modelo no tiene variantes de precios como -aws, a diferencia de claude-opus-4-8), calculadas según la página de precios de hiapi a $2.02 por millón de tokens de entrada y $10.08 por millón de tokens de salida:
| Llamada | prompt_tokens | completion_tokens | Coste |
|---|---|---|---|
| Tabla de effort × 5 (minimal/low/medium/high/max) | 650 | 2,495 | $0.0264 |
| Trampa del truncamiento con xhigh | 185 | 500 | $0.0054 |
| Trampa de la respuesta vacía | 157 | 300 | $0.0033 |
| Respuesta de atención al cliente | 3,590 | 277 | $0.0100 |
| Prueba visual | 690 | 150 | $0.0029 |
| Total | 5,272 | 3,722 | $0.0482 |
Aquí no hay ninguna generación de imágenes — claude-opus-5-5 no genera imágenes, así que cada dólar de arriba es coste de tokens, y las dos filas de "trampa" merecen reservar presupuesto extra: pagaron un coste real por salidas truncadas o completamente vacías.
Preguntas frecuentes
¿Puede claude-opus-5-5 generar imágenes de producto? No. Su ficha enumera modalidades de entrada y salida solo de texto, y cada respuesta de arriba es texto. Si la tarea es en realidad generar nuevas fotos de producto, eso requiere un modelo de generación de imágenes, no este.
¿Es más caro un reasoning.effort más alto?
En sí mismo no. Con un max_tokens fijo, los cinco niveles documentados probados arriba facturaron exactamente la misma cantidad de completion tokens — el effort cambia la escritura, no la cantidad de tokens. Lo que sí encarece es aumentar max_tokens para dar espacio a los niveles de effort más altos a razonar y responder a la vez.
¿Por qué recibí una respuesta vacía sin error?
max_tokens era demasiado bajo para el razonamiento interno que el modelo realiza antes de escribir. No es un bug — finish_reason mostrará "length", se te facturará igualmente el recuento completo de tokens, pero content puede devolverse vacío o truncado. Comprueba siempre que content no esté vacío y esté completo, no solo que la llamada devuelva 200.
¿Admite realmente la entrada de imágenes?
Sí, confirmado enviando una imagen real en la petición de arriba y obteniendo una descripción precisa — aunque la propia ficha del modelo enumera text como la única modalidad de entrada.
Primeros pasos
Para probarlo tú mismo: necesitas una clave de API de hiapi, la página del modelo claude-opus-5-5 (consulta los precios actuales y la lista completa de reasoning-effort), y si estás comparando modelos de solo texto para la misma carga de trabajo de copy de comercio electrónico y atención al cliente, el artículo sobre claude-opus-4-8 cubre lo mismo sobre la generación anterior de Opus — antes de cambiar una canalización de producción, merece la pena comprobar si el equilibrio entre max_tokens y reasoning de arriba justifica la actualización.
Artículos relacionados
Ver todos los artículos →-
Guía de uso
seedream-5.0-pro/image-to-image: guía de introducción — capacidades, precios y puntos clave de integración
Límites de capacidad, modelo de facturación y prácticas de integración técnica del modelo de edición de imágenes de ByteDance
-
Guía de uso
Guía de inicio de seedream-5.0-pro texto a imagen: límites de capacidad, integración de API y control de costes
Perspectiva práctica para desarrolladores: desde los puntos clave de los parámetros hasta la estimación de coste de $0.05 por imagen
-
Guía de uso
Guía de inicio de Hailuo 2.3 Fast de imagen a video: límites de capacidad, precios e integración práctica
Claves de selección e integración del modelo MiniMax de imagen a video para desarrolladores