Skip to main content

Referencia de la API de edición de Qwen-Image

La edición de Qwen-Image admite entrada y salida de múltiples imágenes. Edite texto dentro de imágenes, agregue, elimine o mueva objetos, cambie poses de sujetos, transfiera estilos y mejore detalles, todo a través de prompts en lenguaje natural.

Resumen de modelos

Imagen de entrada 1

Imagen de entrada 2

Imagen de entrada 3

Imágenes de salida (múltiples)

imagen99

imagen98

imagen89

imagen100

salida de imagen2

Prompt: La chica de la Imagen 1 lleva el vestido negro de la Imagen 2 y está sentada en la postura de la Imagen 3.

Nombre del modelo

Descripción del modelo

Especificaciones de la imagen de salida

qwen-image-2.0-pro Recommended

Actualmente tiene las mismas capacidades que qwen-image-2.0-pro-2026-04-22

La serie Pro de modelos de generación y edición de imágenes Qwen ofrece capacidades mejoradas en renderizado de texto, texturas realistas y adherencia semántica.

Para la generación de imágenes, consulte Qwen-Text a imagen.

Resolución de imagen:

  • Personalizable: El número total de píxeles debe estar entre 512*512 y 2048*2048.

  • Predeterminado: El número total de píxeles es cercano a 1024*1024, con una relación de aspecto similar a la imagen de entrada (o la última imagen en una entrada de múltiples imágenes).

Formato de imagen: png

Número de imágenes: 1–6

qwen-image-2.0-pro-2026-06-22 Recommended

qwen-image-2.0-pro-2026-04-22

qwen-image-2.0-pro-2026-03-03

qwen-image-2.0 Recommended

Actualmente tiene las mismas capacidades que qwen-image-2.0-2026-03-03

Esta es la versión acelerada del modelo de generación y edición de imágenes Qwen, que equilibra el rendimiento y la velocidad de respuesta.

Para la generación de imágenes, consulte Qwen-Text a imagen.

qwen-image-2.0-2026-03-03 Recommended

Antes de llamar a la API, consulte la Lista de modelos para ver qué modelos son compatibles en cada región.

Requisitos previos

Antes de realizar una llamada, obtenga una clave de API y exporte la clave de API como variable de entorno. Para llamar a la API mediante el SDK, instale el SDK de DashScope. El SDK está disponible para Python y Java.
Las regiones de China (Pekín) y Singapur tienen claves de API y endpoints de solicitud separados. No pueden utilizarse indistintamente. Las llamadas entre regiones provocan fallos de autenticación o errores de servicio.

Llamada HTTP

Región de Singapur:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation Región de Pekín:POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation Al realizar la llamada, reemplace {WorkspaceId} con su ID de espacio de trabajo real.

Parámetros de solicitud

  • Edición de imagen única
  • Fusión de múltiples imágenes
Este ejemplo utiliza el modelo qwen-image-2.0-pro para generar dos imágenes.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
    --header 'Content-Type: application/json' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --data '{
        "model": "qwen-image-2.0-pro",
        "input": {
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/fpakfo/image36.webp"
                        },
                        {
                            "text": "Generate an image that matches the depth map, following this description: A red, dilapidated bicycle is parked on a muddy path, with a dense primeval forest in the background."
                        }
                    ]
                }
            ]
        },
        "parameters": {
            "n": 2,
            "negative_prompt": " ",
            "prompt_extend": true,
            "watermark": false,
            "size": "1536*1024"
        }
    }'
Encabezados de solicitud
Content-Type string (Requerido)El tipo de contenido de la solicitud. Debe ser application/json.
Authorization string (Requerido)Autentica la solicitud con una clave API de Model Studio. Ejemplo: Bearer sk-xxxx.
Cuerpo de la solicitud
model string (Obligatorio)El nombre del modelo. Ejemplo: qwen-image-2.0-pro.
input object (Obligatorio)El objeto de entrada, que contiene el siguiente campo:

Propiedad

messages array (Obligatorio)La matriz de contenido de la solicitud. Actualmente solo se admiten conversaciones de un solo turno, por lo que la matriz debe contener exactamente un objeto con las propiedades role y content.

Propiedad

rolestring (Obligatorio)El rol del remitente del mensaje. Debe ser user.contentarray (Obligatorio)El contenido del mensaje, que consta de una a tres imágenes en formato {"image": "..."} y una única instrucción de edición en formato {"text": "..."}.

Propiedad

image string (Obligatorio)La URL o los datos codificados en Base64 de la imagen de entrada. Puede proporcionar de una a tres imágenes.Para entradas de múltiples imágenes, el orden de las imágenes se define por la secuencia de la matriz. La relación de aspecto de la imagen de salida se basa en la última imagen.Requisitos de imagen:
  • Formato de imagen: JPG, JPEG, PNG, BMP, TIFF, WEBP o GIF.
    La imagen de salida está en formato PNG. Para los GIF animados, solo se procesa el primer fotograma.
  • Resolución de imagen: Para obtener mejores resultados, tanto el ancho como el alto de la imagen deben estar entre 384 y 3072 píxeles. Una resolución baja puede resultar en una salida borrosa, mientras que una resolución alta aumenta el tiempo de procesamiento.
  • Tamaño de la imagen: No más de 10 MB.
Formatos de entrada admitidos
  1. URL pública:
    • Admite protocolos HTTP y HTTPS.
    • Por ejemplo: https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/fpakfo/image36.webp.
  2. Cadena de imagen codificada en Base64
textstring(Obligatorio)Un prompt positivo que describe el contenido, estilo y composición deseados de la imagen de salida.Admite chino e inglés. La serie qwen-image-2.0 acepta hasta 1,300 tokens. El sistema trunca los tokens excedentes.Nota: El array content debe contener exactamente un objeto text. De lo contrario, se producirá un error.
parameters object (Opcional)Parámetros adicionales para controlar la generación de imágenes.

Propiedad

n integer (Opcional)El número de imágenes de salida. Predeterminado: 1.Para los modelos de la serie qwen-image-2.0, puede elegir generar de una a seis imágenes.negative_prompt string (Opcional)Un prompt negativo que describe el contenido que se debe excluir de la salida. Úselo para restringir la generación.Admite chino e inglés. Máximo de 500 caracteres. Cada carácter chino, letra, número o símbolo cuenta como un carácter. Los caracteres excedentes se truncan automáticamente.Por ejemplo: baja resolución, error, peor calidad, baja calidad, desfigurado, dedos extra o malas proporciones.size string (Opcional)La resolución de la imagen de salida en formato width*height. Ejemplo: "1024*1536".Modelos de la serie qwen-image-2.0:
  • El número total de píxeles debe estar entre 512512 y 20482048.
  • De forma predeterminada, el número total de píxeles es cercano a 1024*1024, con una relación de aspecto similar a la imagen de entrada (o la última imagen en una entrada de múltiples imágenes).
Si especifica el parámetro size, el sistema utiliza el ancho y el alto especificados por size como objetivo y ajusta las dimensiones de la imagen de salida real a los múltiplos más cercanos de 16. Por ejemplo, si especifica 1033*1032, el tamaño de la imagen de salida es 1040*1024.

Resoluciones recomendadas para relaciones de aspecto comunes

  • 1:1: 10241024, o 15361536
  • 2:3: 7681152, o 10241536
  • 3:2: 1152768, o 15361024
  • 3:4: 9601280, o 10801440
  • 4:3: 1280960, o 14401080
  • 9:16: 7201280, o 10801920
  • 16:9: 1280720, o 19201080
  • 21:9: 1344576, o 2048872
Modelos compatibles: Todos los modelos.prompt_extend bool (Opcional)Habilita la reescritura inteligente de prompts. Valor predeterminado: true. Cuando está habilitado, el modelo optimiza el prompt positivo (text), mejorando significativamente los resultados para prompts simples.Modelos compatibles: Todos los modelos.watermark bool (Opcional)Añade una marca de agua "Qwen-Image" a la esquina inferior derecha. Predeterminado: false.seed integer (Opcional)La semilla de número aleatorio. Rango válido: [0, 2147483647].Establecer el mismo valor de seed ayuda a mantener una estabilidad relativa en la salida generada. Si se omite, el algoritmo utiliza una semilla aleatoria.Nota: La generación de imágenes es probabilística. Incluso con la misma seed, los resultados pueden variar entre llamadas.

Parámetros de respuesta

  • Tarea exitosa
  • Error de tarea
Los datos de la tarea (estado de la tarea y URL de imágenes) se conservan solo durante 24 horas y luego se eliminan automáticamente. Guarde las imágenes generadas con prontitud.
{
        "output": {
            "choices": [
                {
                    "finish_reason": "stop",
                    "message": {
                        "role": "assistant",
                        "content": [
                            {
                                "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
                            },
                            {
                                "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
                            }
                        ]
                    }
                }
            ]
        },
        "usage": {
            "width": 1536,
            "image_count": 2,
            "height": 1024
        },
        "request_id": "bf37ca26-0abe-98e4-8065-xxxxxx"
    }
output objectLos resultados de generación del modelo.

Propiedad

choices arrayUna lista de opciones de resultados.

Propiedad

finish_reason stringEl motivo por el que se detuvo la tarea. Devuelve stop para una detención natural.message objectEl mensaje devuelto por el modelo.

Propiedad

rolestringEl rol del mensaje. Fijo en assistant.contentarrayEl contenido del mensaje, que contiene la información de la imagen generada.

Propiedad

imagen stringURL de la imagen generada en formato PNG. Válida durante 24 horas. Descargue y guarde la imagen rápidamente.
usage objectUso de recursos para esta llamada. Se devuelve solo en caso de éxito.

Propiedad

image_count integerEl número de imágenes generadas.width integerEl ancho de la imagen generada en píxeles.height integerLa altura de la imagen generada en píxeles.
request_id stringIdentificador único de solicitud para rastreo y solución de problemas.
code stringCódigo de error. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error.
message stringMensaje de error detallado. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error.

Llamada al SDK de DashScope

Los nombres de los parámetros del SDK son mayoritariamente consistentes con la API HTTP. La estructura de parámetros se encapsula según las características del lenguaje. Para obtener una lista completa de parámetros, consulte la referencia de la API de Qwen.

Llamada con el SDK de Python

  • Recomendamos instalar la última versión del SDK de Python de DashScope para evitar posibles errores en tiempo de ejecución. Para obtener más información, consulte Instalar o actualizar el SDK.
  • No se admiten interfaces asíncronas.

Ejemplos de solicitud

import json
import os
import dashscope
from dashscope import MultiModalConversation

# The following is the URL for the Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# The model supports one to three input images.
messages = [
    {
        "role": "user",
        "content": [
            {"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/thtclx/input1.png"},
            {"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/iclsnx/input2.png"},
            {"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/gborgw/input3.png"},
            {"text": "The girl from Image 1 is wearing the black dress from Image 2 and sitting in the pose from Image 3."}
        ]
    }
]

# The API keys for the Singapore and Beijing regions are different. To get an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key.
# If you have not configured the environment variable, replace the next line with: api_key="sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")

# The qwen-image-2.0 series supports one to six output images. This example generates two.
response = MultiModalConversation.call(
    api_key=api_key,
    model="qwen-image-2.0-pro",
    messages=messages,
    stream=False,
    n=2,
    watermark=False,
    negative_prompt=" ",
    prompt_extend=True,
    size="1024*1536",
)

if response.status_code == 200:
    # To view the full response, uncomment the next line.
    # print(json.dumps(response, ensure_ascii=False))
    for i, content in enumerate(response.output.choices[0].message.content):
        print(f"URL of output image {i+1}: {content['image']}")
else:
    print(f"HTTP status code: {response.status_code}")
    print(f"Error code: {response.code}")
    print(f"Error message: {response.message}")
    print("For more information, see https://www.alibabacloud.com/help/model-studio/error-code")

Ejemplo de respuesta

La URL de la imagen es válida durante 24 horas. Descargue la imagen rápidamente.
Los campos input_tokens, output_tokens y characters son compatibles. Sus valores están actualmente fijados en 0.
{
    "status_code": 200,
    "request_id": "fa41f9f9-3cb6-434d-a95d-4ae6b9xxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": null,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/xxx.png?Expires=xxx"
                        },
                        {
                            "image": "https://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/xxx.png?Expires=xxx"
                        }
                    ]
                }
            }
        ],
        "audio": null
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 0,
        "height": 1536,
        "image_count": 2,
        "width": 1024
    }
}

Llamada con el SDK de Java

Instale la última versión del SDK de Java de DashScope para evitar errores en tiempo de ejecución. Consulte Instalar o actualizar el SDK.

Ejemplos de solicitud

import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;

import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.List;

public class QwenImageEdit {

    static {
        // The following is the URL for the Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // The API keys for the Singapore and Beijing regions are different. To obtain an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key.
    // If you have not configured the environment variable, replace the following line with your DashScope API key: apiKey="sk-xxx".
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void call() throws ApiException, NoApiKeyException, UploadFileException, IOException {

        MultiModalConversation conv = new MultiModalConversation();

        // The model supports one to three input images.
        MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
                .content(Arrays.asList(
                        Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/thtclx/input1.png"),
                        Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/iclsnx/input2.png"),
                        Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/gborgw/input3.png"),
                        Collections.singletonMap("text", "The girl from Image 1 is wearing the black dress from Image 2 and sitting in the pose from Image 3.")
                )).build();
        // The qwen-image-2.0 series models support one to six output images. This example generates two images.
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("watermark", false);
        parameters.put("negative_prompt", " ");
        parameters.put("n", 2);
        parameters.put("prompt_extend", true);
        parameters.put("size", "1024*1536");

        MultiModalConversationParam param = MultiModalConversationParam.builder()
                .apiKey(apiKey)
                .model("qwen-image-2.0-pro")
                .messages(Collections.singletonList(userMessage))
                .parameters(parameters)
                .build();

        MultiModalConversationResult result = conv.call(param);
        // To view the complete response, uncomment the following line.
        // System.out.println(JsonUtils.toJson(result));
        List<Map<String, Object>> contentList = result.getOutput().getChoices().get(0).getMessage().getContent();
        int imageIndex = 1;
        for (Map<String, Object> content : contentList) {
            if (content.containsKey("image")) {
                System.out.println("URL of output image " + imageIndex + ": " + content.get("image"));
                imageIndex++;
            }
        }
    }

    public static void main(String[] args) {
        try {
            call();
        } catch (ApiException | NoApiKeyException | UploadFileException | IOException e) {
            System.out.println(e.getMessage());
        }
    }
}

Ejemplos de respuesta

La URL de la imagen es válida durante 24 horas. Descargue la imagen rápidamente.
{
    "requestId": "46281da9-9e02-941c-ac78-be88b8xxxxxx",
    "usage": {
        "image_count": 2,
        "width": 1024,
        "height": 1536
    },
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
                        },
                        {
                            "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxx"
                        }
                    ]
                }
            }
        ]
    }
}

Códigos de error

Si la llamada al modelo falla y devuelve un mensaje de error, consulte Códigos de error para su resolución.

Facturación y limitación de tasa

  • Para conocer las cuotas gratuitas de los modelos y las tarifas de facturación, consulte la Lista de modelos.
  • Consulte Qwen-Image para obtener detalles sobre los límites de tasa del modelo.
  • Facturación: Se le factura por cada imagen generada correctamente. Las llamadas fallidas no generan cargos ni consumen su cuota gratuita para nuevos usuarios.

FAQ

P: ¿Qué idiomas admite el modelo de edición de imágenes Qwen?

R: El modelo actualmente admite chino simplificado e inglés. Puede probar otros idiomas, pero no se garantiza el rendimiento.
P: ¿Cómo puedo ver las métricas de invocación del modelo?
R: Una hora después de que finalice la invocación de un modelo, vaya a la página de Monitoreo (Singapore) o Monitoreo (China (Pekín)) para ver métricas como el recuento de invocaciones y la tasa de éxito. Para obtener más información, consulte Facturación y gestión de costos.
P: ¿Cómo obtengo la lista blanca de nombres de dominio para el almacenamiento de imágenes?
R: Las imágenes generadas por los modelos se almacenan en OSS. La API devuelve una URL pública temporal. Para configurar una lista blanca de firewall para esta URL de descarga, tenga en cuenta lo siguiente: El almacenamiento subyacente puede cambiar dinámicamente. Este tema no proporciona una lista blanca fija de dominios de OSS para evitar problemas de acceso causados por información obsoleta. Si tiene requisitos de control de seguridad, póngase en contacto con su gestor de cuenta para obtener la lista más reciente de nombres de dominio de OSS.