Tutorial
¿Cómo usar la API de Qwen Image 2.1 Pro? Genera y edita imágenes en 5 minutos
Prueba en línea en 5 pasos e integración con la API en 4 pasos, con curl y Python ejecutables, además de cómo usar image_urls, las referencias a varias imágenes, prompt_extend y el fondo transparente.
TL;DR
- Qué es: Qwen Image 2.1 Pro ya está disponible en HiAPI. Abre la página del modelo, escribe un prompt y tendrás texto a imagen; adjunta imágenes de referencia y tendrás edición. Un mismo ID de modelo admite hasta 10 imágenes de referencia, cinco formatos de nivel 2K y
prompt_extendactivado por defecto. Los nuevos usuarios registrados reciben 200 créditos de regalo. - Cuánto cuesta: $0.05 por imagen (100 créditos), cobrado solo cuando la generación tiene éxito, independientemente del formato; los fallos se reembolsan y las imágenes de referencia no tienen coste adicional; $10 equivalen a unas 200 imágenes. Turbo tiene las mismas condiciones a $0.02 por imagen.
- La forma más rápida de usarlo: escribe el prompt en la página del modelo y ejecútalo directamente; para integrarlo en tu producto, usa
POST https://api.hiapi.ai/v1/tasksconmodelconfigurado comoqwen-image-2.1-pro.
¿Qué es Qwen Image 2.1 Pro? Qué novedades trae frente a 2.0
La generación de texto a imagen y la edición comparten el mismo ID de modelo: si no envías image_urls se genera una imagen nueva, y si los envías se edita según las imágenes de referencia, sin necesidad de cambiar de endpoint.

Cuatro diferencias respecto a 2.0 (2.0 usaba size para especificar píxeles libremente, mientras que 2.1 usa valores según el formato):
- Un ID cubre ambas tareas. Comparte la generación de texto a imagen y la edición; la solicitud solo difiere en
image_urls. - Hasta 10 imágenes de referencia. Puedes enviar imágenes de producto y de entorno a la vez y referirte a ellas como «imagen 1», «imagen 2», etc.
- Cinco formatos de nivel 2K. 1:1 2048×2048; 16:9 2688×1536; 9:16 1536×2688; 4:3 2368×1728; 3:4 1728×2368. No existe el campo
resolution. prompt_extendactivado por defecto. El modelo amplía automáticamente el prompt; si necesitas una maquetación estricta o replicar texto, configúralo comofalse.
Convertir un dibujo de línea en un juguete 3D es una sola solicitud de edición, que conserva la forma, las proporciones y la postura originales:

Convierte el robot de línea de la imagen de referencia en un refinado render de juguete de dibujos animados en 3D: carcasa blanca mate con articulaciones, orejas y antena en naranja coral, un corazón en el pecho que emite una suave luz rosa, ojos en azul brillante; mantén la forma, las proporciones y la postura originales, iluminación de estudio suave, fondo limpio en gris claro y blanco, conserva únicamente el robot como sujeto principal.
Generar con este prompt → El enlace solo rellena previamente el prompt; al abrirlo, sube el dibujo de línea y selecciona el formato 1:1.
Prueba en línea: tu primera imagen en 5 pasos
- Abre la página del modelo Qwen Image 2.1 Pro; con 200 créditos puedes generar 2 imágenes Pro.
- Escribe el prompt; para editar, primero sube de 1 a 10 imágenes de referencia en
image_urls. - Elige el formato o déjalo vacío para que el modelo lo elija automáticamente.
prompt_extendestá activado por defecto; si se trata de un póster chino con maquetación estricta, desactívalo primero.- Envía y descarga la imagen cuando esté lista.
Integración con la API: 4 pasos para tenerlo funcionando
- Crea una API Key en la consola.
POST https://api.hiapi.ai/v1/tasksconmodelconfigurado comoqwen-image-2.1-pro.- Tras obtener el
taskId, consulta conGET /v1/tasks/{taskId}o configura uncallback. - Cuando
statusseasuccess, descarga la imagen desdeoutput[0].url.
curl ejecutable: texto a imagen
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2.1-pro",
"input": {
"prompt": "Un póster de evento minimalista en chino, fondo de papel beige, en el centro solo se maquetan las siguientes tres líneas de texto en chino, todas centradas horizontalmente: la primera línea, en tipografía serif negra de gran tamaño, «Té de primavera»; la segunda línea, en gris oscuro de tamaño medio, «28 de marzo, dos de la tarde»; la tercera línea, en gris de tamaño pequeño, «Salón de té al sur de la ciudad, entrada gratuita». Espaciado uniforme entre caracteres, amplio margen en blanco alrededor, sin ningún otro texto, figura, línea ni decoración en la imagen aparte de estas tres líneas, textura de impresión mate.",
"aspect_ratio": "3:4",
"prompt_extend": false,
"seed": 42
}
}'
El ID de la tarea está en data.taskId:
curl -s https://api.hiapi.ai/v1/tasks/YOUR_TASK_ID \
-H "Authorization: Bearer YOUR_API_KEY"
data.status pasa por queued, handling, archiving, success o fail; archiving indica que todavía se está empaquetando, no que haya fallado.
Versión en Python: crear, consultar y descargar
import time
import requests
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}
payload = {
"model": "qwen-image-2.1-pro",
"input": {
"prompt": "Un perro shiba con sombrero de paja surfeando sobre una tabla, estilo pegatina plana, paleta de naranja coral y azul marino, fondo de color liso.",
"aspect_ratio": "1:1",
"seed": 42,
},
}
task_id = requests.post(BASE, headers=HEADERS, json=payload, timeout=30).json()["data"]["taskId"]
while True:
data = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()["data"]
if data["status"] in ("success", "fail"):
break
time.sleep(3)
if data["status"] == "success":
with open("qwen-image.png", "wb") as f:
f.write(requests.get(data["output"][0]["url"], timeout=60).content)
print("saved qwen-image.png")
else:
print(data.get("error"))
En qué se diferencian texto a imagen y edición: image_urls
Si no envías image_urls se genera una imagen totalmente nueva; con 1 imagen se edita una sola imagen; con 2 a 10 imágenes se usan múltiples referencias. Las imágenes de referencia admiten JPG/JPEG/PNG/BMP/TIFF/WEBP/GIF, con un máximo de 10 MB por imagen, dimensiones entre 1 y 8000 px y una relación entre el lado largo y el corto de ≤10:1.
Con varias imágenes, el orden del array image_urls corresponde a «imagen 1», «imagen 2», etc. en el prompt. Aquí se coloca esta silla en un salón usando dos imágenes de referencia y un solo prompt:



Coloca el sillón de roble de la imagen 1 en el salón de la imagen 2, sobre la zona de suelo iluminada que hay frente al ventanal, manteniendo la orientación de la imagen 1; añade al sillón sombras proyectadas y de contacto coherentes con la escena, conserva sin cambios las paredes, el suelo de madera, los rodapiés, el marco de la ventana y las vistas del exterior de la imagen 2, y unifica todo con una luz natural lateral cálida y blanca de tarde.
Generar con este prompt → Al abrirlo, sube en orden la imagen 1 (la silla) y la imagen 2 (el salón); si inviertes el orden, el resultado también se invierte.
La edición de una sola imagen también usa image_urls; en este caso solo se cambian el material y la escena del frasco de perfume:


Partiendo del frasco de perfume de la imagen 1, realiza una transformación para una foto de producto de e-commerce: cambia el vidrio del frasco por un acabado mate semitransparente, sustituye el tapón de metal gris plateado por latón cepillado, cambia el líquido interior por un ámbar oscuro, coloca el frasco sobre una encimera de mármol verde oscuro, cambia el fondo por una pared gris cálida, ilumina desde arriba a la izquierda con una luz lateral a contraluz que perfile el contorno del frasco y conserva sin cambios la forma del cuerpo, las proporciones, la altura del tapón y la forma de la zona de la etiqueta de la imagen 1.
Generar con este prompt → Al abrirlo, sube la imagen original del perfume y elige 1:1.
prompt_extend y fondo transparente
prompt_extend está activado por defecto (true) y el modelo amplía una descripción breve hasta convertirla en una instrucción de imagen completa. Si necesitas replicar una maquetación fija, un póster con texto literal o tu prompt ya es muy detallado, configúralo como false para que el modelo se ciña estrictamente al texto original.
El fondo transparente se obtiene mediante el prompt: escribe «fondo completamente transparente, conserva solo el sujeto, sin bloques de color de fondo» y la salida en PNG podrá incluir un canal alfa. El resultado es sensible a cómo se redacte y no se garantiza que sea totalmente transparente; antes de entregarlo, comprueba el alfa con Image.open(path).getchannel("A").getextrema() y, si necesitas un fondo transparente estable, añade un paso de eliminación de fondo.
3 cosas que tener en cuenta antes de publicar
- Combina callback con consultas de respaldo. Añade en el nivel superior del cuerpo de la solicitud
"callback": {"url": "https://yourapp.com/hook", "when": "final"}para recibir una notificación en el estado final; los callbacks pueden duplicarse, así que deduplica portaskIdy mantén también la consulta periódica. - No vuelvas a hacer POST tras un timeout. Cada envío genera una imagen nueva y un nuevo cobro. Guarda el
taskIdy, si hay problemas de red, consulta el mismo ID. - Escribe
aspect_ratiode forma explícita. Si no lo indicas, lo elige el modelo; si necesitas una proporción fija, usa uno de los cinco valores. No existe el camporesolutiony, si lo envías, dará error. La URL del resultado incluyeexpireAt, así que guárdala en cuanto la recibas.
Preguntas frecuentes
¿Cuántas imágenes de referencia se pueden enviar como máximo? De 1 a 10, con un máximo de 10 MB por imagen; con varias imágenes se hace referencia a ellas como «imagen 1», «imagen 2», etc.
¿Se puede elegir 4K? No. Los cinco formatos corresponden a tamaños fijos de nivel 2K; 1:1 tiene un máximo de 2048×2048.
¿Se garantiza el fondo transparente? No. El fondo transparente se produce mediante el prompt; tras generar la imagen, comprueba el canal alfa y, si es necesario, añade una eliminación de fondo.
Genera tu primera imagen ahora
Copia el prompt del robot de línea, abre la página del modelo Qwen Image 2.1 Pro, sube el dibujo de línea, elige 1:1 y obtén una imagen de 2048×2048 por $0.05. Si quieres hacer una composición con varias imágenes, envía la silla y el salón en orden en image_urls y vuelve a ejecutarlo. Consulta todos los parámetros en la documentación de integración.
Lecturas relacionadas: Precios de Qwen Image 2.1 · Qwen Image 2.1 vs GPT Image 2.5 · Guía completa de prompts de Qwen Image 2.1
Artículos relacionados
Ver todos los artículos →-
Tutorial
Casos de Recraft Creative Upscale: escalado de paisajes y acuarela
Observa los cambios de textura en la cabaña, el lago y el pueblo en acuarela, distingue entre resultado completo y vista previa, y revisa los detalles redibujados.
-
Tutorial
Clave de API de OpenAI no válida: 401, variables de entorno y solución de problemas de configuración del proyecto
Distingue entre los errores 401, 403 y 429 de OpenAI, revisa las variables de entorno y la configuración de la organización y del proyecto, y valida las credenciales con una solicitud de solo lectura.
-
Tutorial
Guía completa de prompts de Kling 4.0: 6 escenas para copiar y generar vídeos directamente
Producto de e-commerce, comida, paisajes de viaje, escenas cotidianas, planos vacíos con sonido y vídeo a partir de imagen: cada escena incluye un vídeo real, el prompt completo y un enlace con autorrelleno en un clic.