Alibaba
Qwen Image 2.1
qwen-image-2.1-turbo
Modelo de imagen unificado para texto a imagen y edición de imágenes, con soporte nativo de resolución 2K y salida RGBA con canal alpha real, y capacidad de especificar varias regiones de edición mediante círculos, anotaciones dibujadas a mano o mask
Precios
qwen-image-2.1-turbo per image
| Precio unitario | $0.020 |
|---|
Descripción general
qwen-image-2.1-turbo es el modelo de generación y edición de imágenes de la serie Qwen Image 2.1 orientado a llamadas de alta frecuencia. Admite dos tipos de tareas: texto a imagen e imagen a imagen, es decir, generar una imagen directamente a partir de un prompt o bien pasar hasta 10 imágenes de referencia y modificar localmente una imagen concreta según su número. La salida es una imagen estática, puede generarse en proporciones como 1:1 o 16:9 y admite una semilla aleatoria fija para reproducir resultados. Está pensado para desarrolladores que necesitan producir material visual en lote y hacer iteración rápida de prompts y validación de prototipos.
Aspectos destacados
- Generación y edición con el mismo conjunto de parámetros: en texto a imagen no se pasan imágenes de referencia; en edición de imagen se pasan de 1 a 10 URL de imágenes, y el resto del prompt y los parámetros mantienen la misma estructura, lo que reduce el coste de integración.
- Varias imágenes de referencia referenciables por número: las imágenes de entrada se numeran según el orden del arreglo y en el prompt se puede usar «imagen 1», «imagen 2» para indicar con precisión el objeto a editar, lo que reduce ambigüedades.
- Aleatoriedad controlable: seed cubre de 0 a 2147483647; al fijarla, los resultados son relativamente estables, lo que facilita las pruebas de regresión y la reproducibilidad de tareas por lotes.
Descripción de capacidades
Llamada unificada para texto a imagen e imagen a imagen: prompt es obligatorio; si no se pasa image_urls, se trata de generación puramente textual, y si se pasan de 1 a 10 imágenes públicas, se convierte en tarea de edición. Una misma interfaz cubre ambos tipos de necesidad.
Múltiples imágenes de referencia y edición por referencia: se pueden usar hasta 10 imágenes de referencia a la vez, numeradas automáticamente, y el prompt puede aplicar cambios locales a una imagen concreta, lo que resulta adecuado para combinar varios materiales o editar por zonas.
Formato y tamaño controlados: aspect_ratio ofrece cinco opciones, 1:1, 16:9, 9:16, 4:3 y 3:4, que corresponden a tamaños fijos en píxeles como 2048×2048 y 2688×1536; si no se pasa, el modelo lo elige automáticamente según el prompt y las imágenes de referencia.
Interruptor de expansión de prompt: prompt_extend está activado por defecto y puede optimizar automáticamente prompts breves a costa de unos segundos adicionales; puede desactivarse cuando se necesite respetar estrictamente el texto original o renderizar un texto concreto, para garantizar el control.
Prompts largos y renderizado de texto: prompt admite hasta 4500 caracteres, tanto en chino como en inglés; el texto que deba aparecer en la imagen puede escribirse literalmente en el prompt, y el fondo transparente también puede declararse en el prompt.
Casos de uso
- Producción masiva de borradores visuales iniciales por equipos de diseño: generar imágenes finales a partir de una descripción textual y elegir el formato según la necesidad, para llenar rápidamente borradores de materiales de campaña, imágenes para redes sociales y similares.
- Cambio de color local en imágenes de producto por operadores de e-commerce: subir la imagen original del producto e indicar la zona a modificar; la salida mantiene la misma composición y puede usarse directamente para sustituir imágenes en páginas de detalle y mostrar SKU de varios colores.
- Composición de múltiples materiales y edición con imágenes de referencia: pasar varias imágenes de referencia a la vez y referenciarlas por número; la salida es una única imagen fusionada o sustituida, útil para escenas de composición e integración de materiales.
- Pipelines por lotes con resultados reproducibles: repetir la llamada con una combinación fija de seed y prompt produce salidas relativamente estables, lo que facilita su integración en pruebas automatizadas y flujos de reversión de materiales.
Limitaciones y recomendaciones de selección
Este modelo solo genera imágenes estáticas y no admite vídeo ni contenido dinámico. Las imágenes de referencia deben ser URL accesibles públicamente, de no más de 10 MB cada una, con ancho y alto entre 1 y 8000 píxeles y una relación entre el lado largo y el corto no superior a 10:1; si se exceden estos rangos, deben procesarse previamente. El formato solo puede elegirse entre las cinco opciones fijas y no es posible especificar una resolución arbitraria. Activar la expansión de prompt añade unos segundos de latencia; para necesidades de renderizado de texto con maquetación estricta se recomienda desactivarla y verificar manualmente. Es adecuado para tareas de generación y edición de escala media en las que priman la velocidad y el coste; si se necesita mayor calidad de imagen o más cuota de llamadas, puede elegirse la versión pro dentro de la misma serie.
Crear una tarea de generación
https://api.hiapi.ai/v1/tasks Encabezados
AuthorizationstringObligatorioClave API de la cuenta. Obligatoria en cada solicitud. Ejemplo: Bearer YOUR_HIAPI_API_KEY. Obtener clave API
Content-TypestringOpcionalEl cuerpo de la solicitud siempre se analiza como JSON; si se envía, solo se acepta application/json (charset opcional) — cualquier otro valor devuelve 415. Ejemplo: application/json.
Idempotency-KeystringOpcionalClave de idempotencia, hasta 255 bytes. Los reintentos con la misma clave de la misma cuenta crean la tarea una sola vez; las repeticiones devuelven el taskId original.
Ante timeouts de red o reintentos automáticos del cliente, la misma clave crea la tarea una sola vez, sin doble cobro (alcance = la cuenta de la clave API). Usa un identificador de negocio único (p. ej. "order-42"); las repeticiones devuelven el taskId original y las claves caducan 24 h después de la primera solicitud. La matriz completa de escenarios está en la introducción de la API asíncrona unificada.
Cuerpo
modelstringObligatorioValor fijo actual: qwen-image-2.1-turbo
routestringOpcionalValor fijo actual: default
inputobjectObligatorio
Objeto de parámetros de negocio para qwen-image-2.1-turbo y la ruta default; consulta la tabla de parámetros a continuación.
seedintegerOpcionalmin 0max 2147483647Semilla aleatoria, entero de 0 a 2147483647; fijar la semilla hace que los resultados generados sean relativamente estables; si no se pasa, es aleatoria.
promptstringObligatoriominLength 1maxLength 4500Describe la imagen que se va a generar o indica qué modificaciones hacer sobre la imagen de referencia; se admite chino e inglés. El texto que se quiera renderizar debe escribirse literalmente en el prompt; si se necesita fondo transparente, indícalo en el prompt con «fondo transparente».
image_urlsarrayOpcionalminItems 1maxItems 10Array de URL públicas de imágenes de referencia o imágenes a editar, de 1 a 10; si no se pasa, es generación de imagen a partir de texto. Las imágenes múltiples se numeran según el orden del array y pueden referenciarse en el prompt como «imagen 1», «imagen 2»; admite JPG, JPEG, PNG, BMP, TIFF, WEBP, GIF, con un máximo de 10 MB por imagen y con ancho y alto entre 1 y 8000 píxeles (se recomienda 384–2048), y una relación entre el lado largo y el lado corto no superior a 10:1.
Array [ string ]
aspect_ratiostringOpcionalFormato de salida, correspondiente a 2048×2048, 2688×1536, 1536×2688, 2368×1728, 1728×2368; si no se pasa, el modelo elige el tamaño automáticamente según el prompt y la imagen de referencia.
1:116:99:164:33:4prompt_extendbooleanOpcionalPredeterminado: trueSi se optimiza automáticamente el prompt; por defecto true. Al activarlo, la mejora es notable para prompts breves, pero añade unos segundos de tiempo; puede desactivarse cuando sea necesario respetar estrictamente la composición del texto original.
callbackobjectOpcional
Configuración de notificación de estado terminal. Si se omite, no hay callback: consulta la tarea por tu cuenta.
Indica callback.url al crear y HiAPI hará POST a tu servicio en el estado terminal, sin necesidad de sondeo. El cuerpo del callback replica la estructura del detalle de la tarea; firma, reintentos e idempotencia se detallan en la introducción de la API asíncrona unificada.
urlstringObligatorioObligatorio si se incluye callback. Al estado terminal se envía un POST a esta URL; debe ser una URL http(s) válida.
whenstringOpcionalPredeterminado: "final"Actualmente solo se admite final: notifica tanto en success como en fail.
finalstoragestringOpcionalPredeterminado: "temp"Nivel de almacenamiento de artefactos: temp (por defecto, ~7 días) o persistent (largo plazo, facturado por tamaño). Saldo insuficiente o exceso de límite ⇒ degradación silenciosa a temp; el nivel efectivo se muestra en la respuesta del detalle.
temppersistentEjemplos de solicitud
# Envía una tarea asíncrona; devuelve un taskId de inmediato (sin esperar la generación)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2.1-turbo",
"input": {
"prompt": "…",
"prompt_extend": true
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "qwen-image-2.1-turbo",
input: {
"prompt": "…",
"prompt_extend": true
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "qwen-image-2.1-turbo",
"input": {
"prompt": "…",
"prompt_extend": True
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obtener el detalle de la tarea
https://api.hiapi.ai/v1/tasks/:id Campos de respuesta
taskIdstringObligatorioID de tarea, siempre con prefijo tk-hiapi-.
modelstringObligatorioNombre completo resuelto del modelo. Las tareas enviadas con el parámetro route devuelven base@route (p. ej. gpt-image-2/text-to-image@ext); si no, coincide con el nombre enviado.
routestringOpcionalSolo aparece si se usó el parámetro route explícito; repite el valor enviado.
statusstringObligatorioEstado de la tarea.
queued En cola, sin iniciar.
handling Procesando.
archiving Proceso terminado, preparando artefactos.
success Terminal: completado, artefactos disponibles (se devuelve output).
fail Terminal: error (se devuelve error).
Tras el envío, guíate por status: success y fail son terminales; el resto, no. Sondea cada 1–3 s hasta el estado terminal. Con éxito, descarga los artefactos desde output[].url y transfiérelos antes de expireAt; para retención larga usa storage: "persistent" al crear.
creatednumberObligatorioHora de creación de la tarea (segundos Unix).
completednumberObligatorioSegundos Unix al alcanzar estado terminal; 0 mientras no sea terminal.
outputarrayOpcional
Solo con status == success. Lista de artefactos — siempre un array; una tarea puede devolver varios types a la vez (p. ej. video + first_frame).
Array [ object ]
Elementos del array
urlstringObligatorioURL del artefacto, descargable directamente.
typestringObligatorioValores posibles actuales: video, image, audio, first_frame, last_frame, thumbnail; podrían ampliarse más adelante.
expireAtnumberObligatorioSegundos Unix hasta los que el artefacto es accesible; descárgalo o transfiérelo antes.
errorobjectOpcional
Solo con status == fail.
codestringObligatorioCódigo de error de negocio.
messagestringObligatorioDescripción del error.
Ejemplos de respuesta
Éxito
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} En proceso (no terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Fallido
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Artículos
Ver todos los artículos →-
Tutorial
Uso de Kandinsky 6.0 Pro texto a video en HiAPI: tutorial con curl y Python
Demostración práctica centrada en la solicitud: construir la llamada de prompt a clip de video, enviar la solicitud, sondear el estado de finalización y descargar el resultado
-
Tutorial
Tutorial de kandinsky-6.0-pro/image-to-video en HiAPI: curl + Python
Realiza una solicitud de imagen a video funcional en HiAPI: desde la carga del primer fotograma hasta el sondeo asíncrono y la descarga final
-
Tutorial
Cómo llamar a hailuo-2.3/text-to-video mediante la API de HiAPI: curl, Python y ejemplos de solicitud ejecutables
-
Comparativa
Recraft v4.1 Flash comparativa horizontal de texto a imagen: guía de selección y migración para desarrolladores
Con un coste de $0.01 por imagen y capacidad pura de texto a imagen, evalúa si encaja en tu pipeline de generación de imágenes
-
Tutorial
Cómo usar kling-4.0/text-to-video a través de la API de HiAPI: curl, Python y un ejemplo de solicitud ejecutable
Guía práctica para desarrolladores: prompts cinematográficos, audio sincronizado, sondeo asíncrono y descarga de resultados
-
Tutorial
Cómo llamar a kling-4.0/image-to-video en HiAPI: curl, Python y sondeo
-
Comparativa
hailuo-2.3-fast/image-to-video comparativa horizontal: cómo elegir un modelo de imagen a video y puntos clave para migrar
-
Tutorial
Cómo llamar a hailuo-2.3-fast/image-to-video a través de la API de HiAPI: práctica con curl y Python
La primera solicitud ejecutable del nivel rápido y de bajo coste de imagen a vídeo: del ID del modelo a la descarga del MP4
Modelos relacionados
Ver todos los modelos →Mismo tipo
-
Seedream 5.0 ByteDance $0.025 /imagen -
FLUX.1 Fill Pro Black Forest Labs $0.071 /imagen -
FLUX 1.1 Pro Black Forest Labs $0.050 /imagen -
Nano Banana Google $0.021 /imagen -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /imagen -
Muse Image 1.0 Meta $0.015 per task -
851 Labs Background Remover 851 Labs $0.002 /imagen -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /imagen -
Z-Image Alibaba $0.008 /imagen -
FLUX.1 Kontext Max Black Forest Labs $0.071 /imagen -
GPT Image 2.5 OpenAI $0.017 /imagen -
Wan 2.7 Image Alibaba $0.035 /imagen
Mismo proveedor
-
Z-Image Alibaba $0.008 /imagen -
Wan 2.6 Flash Alibaba $0.043 /segundo -
Qwen Image 2.1 Alibaba $0.020 /imagen -
HappyHorse 1.1 Alibaba $0.160 /segundo -
Wan 3.0 Video Alibaba $0.040 /segundo -
Wan 2.7 Image Alibaba $0.035 /imagen -
Qwen Audio 3.0 TTS Alibaba $0.030 /1.000 caracteres -
Wan 2.7 Video Alibaba $0.100 /segundo -
HappyHorse 1.0 Alibaba $0.168 /segundo -
Qwen Image 3.0 Alibaba $0.036 /imagen -
Qwen Image 2.0 Alibaba $0.042 /imagen