HiAPI
Blog

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.

Nov 3, 2026
¿Cómo usar la API de Qwen Image 2.1 Pro? Genera y edita imágenes en 5 minutos

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_extend activado 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/tasks con model configurado como qwen-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_extend activado por defecto. El modelo amplía automáticamente el prompt; si necesitas una maquetación estricta o replicar texto, configúralo como false.

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

  1. Abre la página del modelo Qwen Image 2.1 Pro; con 200 créditos puedes generar 2 imágenes Pro.
  2. Escribe el prompt; para editar, primero sube de 1 a 10 imágenes de referencia en image_urls.
  3. Elige el formato o déjalo vacío para que el modelo lo elija automáticamente.
  4. prompt_extend está activado por defecto; si se trata de un póster chino con maquetación estricta, desactívalo primero.
  5. Envía y descarga la imagen cuando esté lista.

Integración con la API: 4 pasos para tenerlo funcionando

  1. Crea una API Key en la consola.
  2. POST https://api.hiapi.ai/v1/tasks con model configurado como qwen-image-2.1-pro.
  3. Tras obtener el taskId, consulta con GET /v1/tasks/{taskId} o configura un callback.
  4. Cuando status sea success, descarga la imagen desde output[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

  1. 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 por taskId y mantén también la consulta periódica.
  2. No vuelvas a hacer POST tras un timeout. Cada envío genera una imagen nueva y un nuevo cobro. Guarda el taskId y, si hay problemas de red, consulta el mismo ID.
  3. Escribe aspect_ratio de 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 campo resolution y, si lo envías, dará error. La URL del resultado incluye expireAt, 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 →

Empieza a crear con artefactos de IA persistentes

Consigue tu API key y llama a modelos de imagen, vídeo y audio a través de una única API basada en tasks.

Leer la documentación de la API