Guía técnica · Generación de imágenes con Qwen
Qwen Image 2.1 TurboDel prompt a tu primera imagen
Despliega Qwen Image 2.1 Turbo en QDivZero y genera imágenes desde el navegador o con Python. Guía paso a paso con prompts, capturas y código descargable.

Contenido de la guía7 secciones
Una foto de producto, un cartel con texto y una ilustración transparente. Vamos a crear las tres con Qwen Image 2.1 Turbo en QDivZero, empezando en el navegador y siguiendo con un script de Python. Las imágenes de esta guía, incluida la portada, salieron del modelo a través de QDivZero. Pulsa las imágenes de los pasos para ampliarlas en el slideshow. También puedes descargar los PNG originales.
El modelo se ejecuta en la GPU de tu despliegue. Tu ordenador solo envía el texto y recibe el resultado, así que no necesita una tarjeta gráfica ni una instalación de PyTorch. QDivZero se ocupa de preparar el servidor de inferencia y darle un nombre para que puedas llamarlo desde la API.
Necesitas una cuenta con saldo para el tiempo de GPU. Para la parte de código, usaremos Python 3.11 o posterior, una clave API y el ID de tu cuenta de QDivZero. Si prefieres empezar desde el navegador, puedes dejar Python para más adelante.
1. Despliega Qwen Image 2.1 Turbo
- Entra en Despliegues y pulsa Desplegar modelo.
- Elige Elegir manualmente y busca
Qwen/Qwen-Image-2.1-Turbo. Selecciona ese repositorio y continúa a Pod. - Usa el modo Inteligente para que QDivZero busque una GPU compatible. La pantalla muestra la memoria estimada y las ofertas disponibles.
- Si quieres ejecutar el modelo en Europa, marca solo Europe y desmarca Sin región. Si aceptas que la máquina pueda interrumpirse, activa Permitir capacidad interrumpible para incluir ofertas Spot. Si necesitas una sesión sin esa posibilidad, déjalo desactivado.
- Escribe el Precio máximo por hora que aceptas. Este campo limita el precio de las ofertas; el gasto final también depende del tiempo que mantengas la instancia encendida.
- En Programación puedes añadir una regla Detener a la hora en que vayas a terminar. La zona horaria se indica junto a la expresión cron.
- En Configuración, escribe
Qwen Image Turbocomo nombre del despliegue. Deja Serverless y Conjunto de réplicas desactivados para esta primera prueba. - En Revisión, usa
qwen/qwen-image-2.1-turboen Nombre del modelo. Ese es el nombre que enviarás en el campomodelde la API. - Pulsa Desplegar modelo. Cuando aparezca en la lista, abre su fila y utiliza Estado del modelo → Iniciar modelo.
- Espera a que esté listo. Durante el arranque todavía se está preparando el servidor; ver el despliegue en la lista no significa que ya pueda generar imágenes.

Durante nuestras pruebas, Spot interrumpió la máquina y el endpoint volvió a Pendiente. Esperamos a que QDivZero lo relanzara y seguimos generando con el mismo nombre de servicio. Si ocurre mientras trabajas, espera a que vuelva a estar activo antes de repetir el prompt.
Puedes elegir otro nombre. Solo tendrás que sustituir qwen/qwen-image-2.1-turbo en el selector del laboratorio y en los ejemplos de código.
La licencia de Qwen Image 2.1 Turbo es Qwen Research License. Autoriza investigación y evaluación no comerciales; el uso comercial requiere una licencia aparte. Desplegar el modelo en QDivZero no cambia esas condiciones.
2. Genera la primera imagen desde el navegador
Abre Desarrolladores, elige la tarea Imagen y selecciona qwen/qwen-image-2.1-turbo en Modelo. Es el endpoint que acabas de crear.
Vamos a pedir una fotografía de una tetera de cerámica. Es un ejemplo sencillo para observar la forma del objeto, los reflejos y la iluminación. Copia este prompt en el campo Prompt.
1Editorial product photograph of a handmade celadon ceramic teapot on a pale oak table, a small cup and a fresh green tea leaf beside it. Soft morning light through a paper window, warm ivory background, realistic glaze and fine ceramic texture, subtle shadow, clean composition, no lettering, no logos, square image.
2Empieza con estos valores.
Pulsa Generar y espera a que aparezca el resultado a la derecha. El laboratorio también tiene un botón Ver código que muestra la petición correspondiente a los campos que has rellenado.
La ficha de Turbo describe una secuencia de ocho pasos guardada con el modelo. En la implementación documentada por Qwen, cambiar solo num_inference_steps no sustituye esa secuencia. Déjalo en 8 para esta prueba y ajusta primero el prompt mientras buscas la composición.
La semilla ayuda a comparar cambios dentro del mismo entorno. No garantiza un archivo idéntico si cambian el runtime, el hardware o la versión del modelo.

Para guardarla desde el laboratorio, pulsa con el botón derecho sobre el resultado y elige Guardar imagen como…. Descarga el archivo antes de lanzar otra generación.
3. Escribe un prompt que puedas ajustar
En el ejemplo hemos definido el objeto, el material, el lugar y la luz. Eso permite cambiar una cosa cada vez. Si quieres una imagen más fría, sustituye la luz de mañana por una luz de estudio azulada. Si la mesa tiene demasiado protagonismo, pide un encuadre más cercano de la tetera.
Guarda el prompt junto a cada resultado. Una imagen aislada sirve para elegir una estética, pero sin los parámetros cuesta repetir el trabajo o explicar a otra persona cómo lo hiciste.
Un cartel con texto en español
Para probar letras y acentos, cambia el prompt por este. Conserva el tamaño, los pasos y la semilla del primer ejemplo.
1Design a square poster for a small ceramics workshop. Warm cream paper, a large handmade green ceramic bowl photographed from above in the lower half, generous empty space. In the upper half, print exactly these three lines in clear dark green lettering: TALLER DE CERÁMICA / SÁBADO 24 OCTUBRE / CREA CON TUS MANOS. Preserve the Spanish accents. Elegant editorial layout, readable type, no other text, no logos.
2La primera imagen conserva las tildes de «CERÁMICA» y «SÁBADO», pero también dibuja una de las barras que usamos para separar líneas y añade puntos al final. El prompt dejaba margen a esa interpretación.

Para la segunda versión escribimos las tres líneas con saltos de línea reales, pedimos una tipografía más clara y quitamos la ambigüedad sobre la puntuación. Conservamos tamaño, pasos, guía y semilla.
1Design a square poster for a small ceramics workshop. Warm cream paper, a handmade green ceramic bowl seen from above in the lower half. Use large, clear dark green sans-serif lettering in the upper half. Print only the following three lines, one line per paragraph, preserving every Spanish accent:
2
3TALLER DE CERÁMICA
4SÁBADO 24 OCTUBRE
5CREA CON TUS MANOS
6
7No slashes, no ellipsis, no punctuation after the words, no additional text, no logos.
8

Antes de usar un cartel definitivo, lee el texto y mira los trazos pequeños. Si necesitas una tipografía exacta, puedes generar solo el fondo y montar las letras en tu editor.
Una ilustración con fondo transparente
Este prompt pide un panda rojo sujetando una taza y solicita un canal alfa.
1This is an RGBA image with transparency. A small red panda sitting and holding a handmade celadon ceramic cup with both paws, full body visible, charming detailed watercolor illustration with clean edges, warm terracotta fur, sage green cup, centered composition, no text. The image has alpha channel and the background is transparent.
2
En esta prueba, el archivo salió en modo RGBA y aproximadamente el 59 % de sus píxeles tienen alfa inferior a 10 sobre 255. Puedes colocar el PNG sobre otro fondo sin recortar al panda. Conserva el formato PNG o WebP al guardarlo; JPEG no conserva la transparencia.
Descargar originales: tetera · primer cartel · cartel corregido · panda transparente · portada
4. Guarda una imagen desde Python
Descarga generate_image.py y prompts.json en la misma carpeta. El script usa la biblioteca estándar de Python y guarda tanto la imagen como un JSON con la petición y su duración.
Descargar el script Python · Descargar los prompts
Abre una terminal en esa carpeta y configura tu clave y el ID de tu cuenta. En Desarrolladores → Ver código puedes encontrar el valor de X-Account-Id de la cuenta seleccionada. Guarda la clave fuera del repositorio.
1export QDIV0_API_KEY='TU_CLAVE_API'
2export QDIV0_ACCOUNT_ID='ID_DE_TU_CUENTA'
3
4python3 generate_image.py \
5 --model qwen/qwen-image-2.1-turbo \
6 --example product \
7 --steps 8 \
8 --output resultados/tetera
9El comando escribe resultados/tetera-1.png si la respuesta contiene un PNG y resultados/tetera.json con los parámetros. Si el servidor devuelve JPEG o WebP, conserva ese formato y cambia la extensión. Para repetir la prueba, usa un nombre de salida nuevo; así mantendrás las versiones anteriores.
Puedes usar --example poster, --example poster_refined o --example transparent. Para reproducir la portada, usa --example cover --size 1024x768. Todos los prompts están en prompts.json. El archivo de metadatos guarda el prompt completo, el nombre del endpoint, el tamaño, la semilla y el tiempo de petición. No guarda la clave API.
La petición que recibe QDivZero
El script envía un POST a https://api.qdiv0.com/v1/images/generations, con estos encabezados.
1Authorization: Bearer TU_CLAVE_API
2X-Account-Id: ID_DE_TU_CUENTA
3Content-Type: application/json
4El cuerpo tiene esta forma. En tu aplicación, sustituye el texto de prompt por la descripción que quieras generar.
1{
2 "model": "qwen/qwen-image-2.1-turbo",
3 "prompt": "A handmade celadon ceramic teapot on a pale oak table, soft morning light, no text.",
4 "size": "1024x1024",
5 "n": 1,
6 "num_inference_steps": 8,
7 "guidance_scale": 1,
8 "seed": 42,
9 "response_format": "b64_json"
10}
11La respuesta incluye las imágenes codificadas en Base64 dentro de data. Para escribir la primera en disco basta con decodificar data[0].b64_json; no es una URL de descarga.
1import base64
2from pathlib import Path
3
4# response es el JSON devuelto por /v1/images/generations.
5image_bytes = base64.b64decode(response["data"][0]["b64_json"])
6Path("imagen.png").write_bytes(image_bytes)
7El script descargable identifica el formato de la imagen antes de asignar la extensión. También conserva la duración de la petición, que incluye el envío, la espera y la descarga; no equivale solo al tiempo de cálculo de la GPU.
5. Apaga la instancia al terminar
Vuelve a Despliegues, abre la fila del modelo y pulsa Estado del modelo → Apagar modelo. Espera a que cambie a Detenida. Cerrar la pestaña del navegador no apaga la GPU.
Si vas a trabajar por sesiones, puedes usar una regla de Programación para detenerla a una hora fija. Otra opción es activar Serverless en la configuración, para arrancar con las peticiones y detenerse tras un periodo sin tráfico. Al activarlo se eliminan las reglas de programación existentes, así que elige el comportamiento que prefieras.
Un arranque bajo demanda lleva tiempo. Si necesitas varias imágenes seguidas, genera el lote durante la misma sesión para aprovechar el modelo ya cargado.
Tiempo de generación y coste por imagen
Medimos Turbo en una RTX PRO 6000 S, Spot en Europa, con una tarifa visible de 0,66 €/hora el 19 de octubre de 2026. Usamos el prompt de la tetera, 1024 × 1024 píxeles, una imagen por petición, 8 pasos y escala de guía 1. Después de una primera imagen de calentamiento, repetimos la petición tres veces cambiando solo la semilla.
El cronómetro empieza al pulsar Generar y termina cuando acaba el estado de generación y el nuevo resultado está visible. Incluye el envío, la inferencia, la transferencia y la interfaz; no mide únicamente el trabajo de la GPU. Son tres peticiones seguidas, sin tráfico concurrente generado por esta prueba. Descargar las mediciones y los parámetros.
Repartiendo la tarifa por hora entre esos segundos, el coste aproximado durante la generación es este.
10,66 €/hora × 3,155 segundos ÷ 3.600 = 0,00058 € por imagen
2Eso son unos 0,058 céntimos por imagen. Manteniendo ese ritmo, 1.000 imágenes supondrían unos 0,58 € de cómputo de generación. Es una extrapolación de estas tres medidas; la tarifa Spot, el tamaño, el prompt y la carga del servidor pueden cambiar el resultado.
El arranque y las pausas también cuentan
En esta sesión observamos el estado Activa unos cinco minutos después de pedir el arranque. Ese tiempo queda fuera de la media anterior. A 0,66 €/hora, cinco minutos de cómputo son 0,055 €, incluso antes de repartir el coste entre las imágenes que produzcas.
Si enciendes la instancia para una sola imagen y la apagas al recibirla, un escenario con cinco minutos de arranque costaría alrededor de 0,056 €. Si haces un lote de cien imágenes con ese mismo arranque y sin pausas, el cálculo sería aproximadamente 0,00113 € por imagen. Ambos son ejemplos con la tarifa indicada, no importes facturados por la prueba.
Para calcular tu coste de sesión, divide el coste de todo el tiempo facturable entre las imágenes obtenidas. Así incluyes el arranque, las pausas y las posibles recuperaciones de Spot. El script guarda la duración de cada petición para que puedas repetir la medición con tu GPU y tus prompts.
Si la petición no devuelve una imagen
El script no reenvía automáticamente una petición que falla por tiempo. Así puedes decidir si repetirla después de ver el estado de la instancia.