Tutorial
API de Qwen Image 2.0 y 2.0 Pro: precios, resultados reales y ejemplos de código
Una guía que cubre los dos niveles de Qwen Image 2.0: pruebas de texto en chino e inglés, imágenes de producto, valores de tamaño fijo y la comparación de 2.0 con 2.1 y 3.0.
Resumen
- Qwen Image 2.0 es el modelo de texto a imagen de Alibaba, especializado en generar texto en chino e inglés dentro de las imágenes. En HiAPI se ofrecen dos niveles:
qwen-image-2.0a $0.0422 por imagen yqwen-image-2.0-proa $0.107 por imagen. - Ambos aceptan la misma solicitud:
promptmás uno de los cinco valores fijos desize. No hay campoaspect_rationi se aceptan imágenes de entrada. - Si vas a iniciar un proyecto nuevo, prioriza las versiones más recientes: Qwen Image 3.0 cuesta $0.0358 por imagen y 2.1 Turbo $0.02 por imagen, ambas más baratas que 2.0 y con soporte para imágenes de referencia. La comparación está al final. Abre la página del modelo Qwen Image 2.0 Pro para probarlo; las cuentas nuevas reciben 200 puntos de crédito gratis.
¿2.0 o 2.0 Pro?
qwen-image-2.0 |
qwen-image-2.0-pro |
|
|---|---|---|
| Precio por imagen | $0.0422 | $0.107 |
| Entrada | prompt + size |
Igual |
| Tamaños | 5 valores fijos, máximo 2688×1536 | Igual |
| Imagen de referencia | No compatible | No compatible |
| Casos de uso | Borradores, carteles bilingües, rótulos | Imágenes de producto finales y banners |
Precios en tiempo real de HiAPI, consultados el 20 de octubre de 2026. Las tareas fallidas no se cobran.
La solicitud es idéntica, así que para cambiar de nivel solo hay que modificar una palabra en model. Escribe y prueba el prompt en 2.0, y luego renderiza la versión final en Pro con el mismo seed.
Resultados reales
Rótulo bilingüe (2.0)
A small Tokyo-style ramen shop at night, photoreal, soft drizzle on the pavement, warm interior light spilling out, customers visible through a frosted window. Above the door, a hand-painted wooden sign with two clean lines of text: the top line in large Chinese characters reads "幸福拉面", the bottom line in smaller English reads "Lucky Noodles · Since 2019". A small red paper lantern hangs to the left. 35mm street photography, shallow depth of field, cinematic colour grade.

qwen-image-2.0, size 1728*2368, $0.0422 al precio de hoy.
Las dos líneas de texto del rótulo coinciden con el prompt, incluido el punto central. En el farolillo aparecieron algunos caracteres sueltos aunque no se especificó ningún texto para él en el prompt. Antes de publicar una imagen con texto, revisa cada superficie pequeña.
Cartel con tres bloques de texto (2.0)
A modern minimalist promotional poster for a specialty coffee shop, cream background with a subtle paper grain. Centred composition: Top half: a large flat-illustration espresso cup with steam, terracotta-and-cream palette. Middle: large bilingual headline. Chinese line on top reads "夏日新品", English line directly below reads "SUMMER MENU 2026". Both lines are perfectly centred. Lower third: a short body line in smaller Chinese reads "全场买二赠一", and an English line beneath reads "Buy two, get one free". Bottom footer: a single small line of English reads "Through August 31". Clean geometric sans-serif typography, generous whitespace, magazine-quality layout.

qwen-image-2.0, size 1728*2368, $0.0422 al precio de hoy.
Las cinco cadenas de texto aparecen y están escritas correctamente. El titular "SUMMER MENU 2026" se dividió en dos líneas, aunque el prompt no lo pedía.
Imagen principal de producto (2.0 Pro)
Studio product photograph of a single amber glass skincare dropper bottle with a blank matte white label, standing centered on a round travertine stone pedestal, seamless warm off-white studio background, soft diffused key light from the upper left, a subtle soft shadow falling to the right, hyper-detailed macro texture on the glass and brushed-metal dropper cap, photorealistic, catalog-ready e-commerce hero shot, no text, no logos, no props

qwen-image-2.0-pro, size 2048*2048, $0.107.
Mantén la etiqueta del producto en blanco y añade el texto de la etiqueta después. El texto pequeño sobre superficies curvas pequeñas es el punto donde a cualquier modelo le resulta más difícil acertar con las letras, y una etiqueta en blanco es más fácil de actualizar cuando cambia el texto.
Banner promocional (2.0 Pro)
Flat-lay e-commerce promo banner photograph: three amber glass skincare dropper bottles arranged diagonally on a warm terracotta backdrop with dried eucalyptus sprigs, soft overhead studio lighting with gentle shadows, in the upper right corner bold clean white sans-serif text reading SUMMER GLOW SALE, directly beneath it smaller white text reading SAVE 20% TODAY, no other text anywhere, photorealistic commercial photography, sharp focus

qwen-image-2.0-pro, size 2688*1536, $0.107.
El texto y su posición coinciden con el prompt. En este resultado apareció una fina franja negra en el borde inferior, así que planifica el recorte antes de publicar el banner.
curl
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2.0-pro",
"input": {
"prompt": "A storefront window sign that reads \"GRAND OPENING\" in bold red letters, photorealistic, golden-hour light",
"size": "2688*1536",
"seed": 42
}
}'
Recibirás un taskId. Consulta GET https://api.hiapi.ai/v1/tasks/{taskId} hasta que data.status sea success, y luego descarga data.output[0].url. El enlace caduca unos 7 días después de completarse la tarea, así que guarda el archivo.
Python: un prompt, dos niveles
# pip install requests; export HIAPI_KEY=your-key first
import os, time, requests
API = "https://api.hiapi.ai/v1/tasks"
H = {"Authorization": f"Bearer {os.environ['HIAPI_KEY']}"}
def generate(model, timeout_s=300, **inp):
r = requests.post(API, json={"model": model, "input": inp}, headers=H, timeout=30).json()
if r.get("code") != 200:
raise RuntimeError(r) # a 400 names every invalid field
task_id = r["data"]["taskId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"{API}/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d.get("error"))
time.sleep(4)
raise TimeoutError(task_id)
prompt = 'A bakery chalkboard that reads "FRESH BREAD" in white chalk, morning light'
draft = generate("qwen-image-2.0", prompt=prompt, size="2048*2048", seed=7)
final = generate("qwen-image-2.0-pro", prompt=prompt, size="2048*2048", seed=7)
for name, url in [("draft.png", draft), ("final.png", final)]:
with open(name, "wb") as f:
f.write(requests.get(url, timeout=120).content)
Parámetros
| Campo | Obligatorio | Valores | Descripción |
|---|---|---|---|
prompt |
Sí | Texto | Encierra entre comillas el texto exacto que quieres |
size |
No | 2688*1536, 2368*1728, 2048*2048 (predeterminado), 1728*2368, 1536*2688 |
Usa *, no x |
negative_prompt |
No | Texto | Contenido que se debe evitar |
seed |
No | 0–2147483647 | El mismo seed y prompt ofrecen un punto de partida estable entre distintos niveles |
prompt_extend |
No | true (predeterminado) / false |
Desactívalo cuando la redacción deba mantenerse exactamente igual |
watermark |
No | false (predeterminado) / true |
Los cinco tamaños corresponden aproximadamente a 16:9, 4:3, 1:1, 3:4 y 9:16. Si necesitas 21:9 o 4:5, renderiza el tamaño más cercano y recorta.
Errores que encontrarás
Todos los casos siguientes devuelven HTTP 400 al enviar la solicitud, por lo que no se crea ninguna tarea ni se cobra nada:
size: value must be one of '2688*1536', ...: enviaste2048x2048o un tamaño personalizado. Usa uno de los cinco valores, separados con*.additional properties 'aspect_ratio' not allowed: 2.0 usasize. Qwen Image 3.0 y 2.1 usanaspect_ratio.additional properties 'image_urls' not allowed: 2.0 no puede aceptar imágenes de referencia. Para editar, usa 2.1 o 3.0.additional properties 'n' not allowed: una tarea genera una imagen. Envía varias tareas en paralelo.
¿Qwen Image 2.0, 2.1 o 3.0?
| Modelo | Precio por imagen | Imagen de referencia | Control de tamaño |
|---|---|---|---|
qwen-image-2.1-turbo |
$0.02 | 1–10, opcional | aspect_ratio (5 valores) |
qwen-image-3.0/text-to-image |
$0.0358 | Endpoint independiente de image-to-image, 1–3 | aspect_ratio (8 valores) + resolution 1K/2K |
qwen-image-2.0 |
$0.0422 | No compatible | size (5 valores) |
qwen-image-2.1-pro |
$0.05 | 1–10, opcional | aspect_ratio (5 valores) |
qwen-image-3.0-pro/text-to-image |
$0.0497 (1K) / $0.0993 (2K) | Endpoint independiente de image-to-image, 1–3 | aspect_ratio (8 valores) + resolution |
qwen-image-2.0-pro |
$0.107 | No compatible | size (5 valores) |
- Producción que ya usa 2.0: no habrá ningún problema; sigue disponible. Cambiar a 3.0 cuesta menos, pero debes reemplazar
sizeporaspect_ratioyresolution. - Proyectos nuevos: empieza con Qwen Image 3.0 o 2.1 Turbo. Son más baratos y permiten editar imágenes existentes.
- Máxima calidad de salida de Qwen: la versión 1K de 3.0 Pro cuesta menos de la mitad que 2.0 Pro.
Para el uso de 3.0, consulta la guía de la API de Qwen Image 3.0.
Preguntas frecuentes
¿Qwen Image 2.0 puede editar imágenes existentes?
No. Ninguno de los dos niveles de 2.0 acepta imágenes. Qwen Image 3.0 tiene un endpoint de image-to-image, y 2.1 Pro y Turbo aceptan hasta 10 imágenes de referencia en la misma solicitud.
¿Puede renderizar texto en chino?
Sí, es su punto fuerte. En los ejemplos anteriores, todas las cadenas en chino e inglés que pedimos aparecieron escritas correctamente. El texto no solicitado, como el del farolillo de la ramenya, todavía puede aparecer en forma de caracteres sueltos.
¿Cómo obtengo la misma imagen otra vez?
Pasa el mismo seed, prompt y tamaño. Esto también te permite migrar el prompt de 2.0 a Pro manteniendo una composición similar.
¿Por qué 2.0 es más caro que 3.0?
Cada modelo tiene su propia fijación de precios. A los precios de hoy, 3.0 cuesta $0.0358 por imagen y 2.0 $0.0422. Si el precio importa, compara ambos con tus propios prompts antes de decidir.
Para probar prompts sin código, abre la página del modelo Qwen Image 2.0.
Artículos relacionados
Ver todos los artículos →-
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
-
Tutorial
Cómo llamar a hailuo-2.3/text-to-video mediante la API de HiAPI: curl, Python y ejemplos de solicitud ejecutables
-
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