Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Wan2.1 - referencia de la API de edición general de imágenes

Última actualización: Oct 12, 2026

Este tema describe los parámetros de entrada y salida para el modelo de edición general de imágenes Wan.

ImportanteEste documento es solo para la región China (Beijing). Para usar el modelo, utilice una clave API de la región China (Beijing).

Este modelo utiliza instrucciones simples para realizar diversas tareas de edición de imágenes (expansión de imagen, eliminación de marca de agua, transferencia de estilo, inpainting de imagen y mejora de imagen). Actualmente se admiten las siguientes funciones:

  • Estilización de imagen: Estilización global y local.
  • Edición de contenido de imagen: Edición basada en instrucciones (agregar o modificar contenido de imagen usando instrucciones sin especificar una región), inpainting (agregar, eliminar o modificar contenido en un área específica) y eliminación de marca de agua de texto (chino e inglés).
  • Optimización de tamaño y resolución de imagen: Expansión de imagen (expandir por proporción) y superresolución (mejorar a alta definición).
  • Procesamiento de color de imagen: Colorización (convierte imágenes en blanco y negro o en escala de grises a color).
  • Generación basada en una imagen de referencia: Generación de boceto a imagen (extraer un boceto de la imagen de entrada y luego generar una imagen basada en el boceto) y generación de referencia de personaje de dibujos animados.

Guía relacionada: Edición de imágenes - Wan2.1

Resumen de modelos

Modelo

Precio

Límite de velocidad (compartido por cuentas raíz y usuarios RAM)

RPS de envío de tareas

Tareas simultáneas

wanx2.1-imageedit

$0.020070/imagen

2

2

Efectos del modelo

Función

Imagen de entrada

Prompt de entrada

Imagen de salida

Estilización global

imagen

Convertir al estilo de libro ilustrado francés

imagen

Estilización local

imagen

Cambiar la casa a un estilo de madera.

imagen

Edición basada en instrucciones

imagen

Cambiar su cabello a rojo.

imagen

Inpainting

Imagen de entrada

imagen

Imagen de máscara de entrada (el blanco es el área enmascarada)

imagen

Un conejo de cerámica sosteniendo una flor de cerámica.

Imagen de salida

imagen

Eliminación de marca de agua de texto

imagen

Eliminar el texto de la imagen.

imagen

Expansión de imagen

20250319105917

Un hada verde.

imagen

Superresolución

Imagen borrosa

imagen

Superresolución.

Imagen nítida

imagen

Colorización

imagen

Fondo azul, hojas amarillas.

imagen

Generación de boceto a imagen

Imagen de entrada

imagen

Una sala de estar en un estilo nórdico minimalista.

Extraer el boceto de la imagen original y generar una nueva imagen

imagen

Generación de referencia de personaje de dibujos animados

Imagen de referencia de entrada (personaje de dibujos animados)

imagen

El personaje de dibujos animados asoma con cautela, mirando una gema azul brillante en la habitación.

Imagen de salida

imagen

Requisitos previos

Llame a la API de edición general de imágenes de Wan mediante HTTP o el SDK de DashScope.

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.

HTTP

Los modelos de imagen tardan mucho en procesarse. Para evitar tiempos de espera, las llamadas HTTP solo admiten la recuperación asíncrona de resultados. Se requieren dos solicitudes:

  1. Crear una tarea para obtener un ID de tarea: Envíe una solicitud para crear una tarea. La respuesta devuelve un ID de tarea (task_id).
  2. Consultar el resultado usando el ID de tarea: Use el ID de tarea del paso anterior para consultar el estado y el resultado de la tarea. Si la tarea es exitosa, la respuesta devuelve una URL de imagen válida por 24 horas.

NotaDespués de la creación, la tarea entra en una cola para su programación. Llame a la API de consulta para recuperar el estado y el resultado de la tarea.

El modelo general de edición de imágenes tarda aproximadamente de 5 a 15 segundos en procesar una solicitud. El tiempo real depende del número de tareas en la cola y de las condiciones de la red. Por favor, espere pacientemente el resultado.

Paso 1: Crear una tarea para obtener el ID de tarea

POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis

Reemplace {WorkspaceId} con su ID de espacio de trabajo real.

Parámetros de solicitud

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.

X-DashScope-Async string (Requerido)

Habilita el procesamiento asíncrono. Las solicitudes HTTP solo admiten llamadas asíncronas. Debe ser enable.

ImportanteSi falta este encabezado de solicitud, se devuelve el error "current user api does not support synchronous calls".

Cuerpo de la solicitud

model string (Obligatorio)

El nombre del modelo, por ejemplo, wanx2.1-imageedit.

input object (Obligatorio)

La información básica de entrada (prompt).

Propiedades

promptstring(Obligatorio)

El prompt utilizado para describir los elementos deseados y las características visuales en la imagen generada.

Admite chino e inglés. Longitud máxima: 800 caracteres. Cada carácter chino o letra cuenta como un carácter. Los caracteres excedentes se truncan automáticamente.

Los prompts varían según las diferentes funciones. Le recomendamos revisar los consejos de prompts correspondientes para cada función.

functionstring(Obligatorio)

La función de edición de imagen. Actualmente se admiten las siguientes funciones:

base_image_url string (Obligatorio)

La URL o los datos codificados en Base64 de la imagen de entrada.

Requisitos de imagen:

  • Formato de archivo: JPG, JPEG, PNG, BMP, TIFF o WEBP
  • Resolución: El ancho y el alto deben ser de 512 a 4,096 píxeles
  • Tamaño de archivo: Máximo 10 MB
  • La URL no puede contener caracteres chinos

Formatos de imagen de entrada:

  1. Usar una URL pública

    • Se admiten los protocolos HTTP o HTTPS.
    • Ejemplo: http://wanx.alicdn.com/material/20250318/stylization_all_1.jpeg
  2. Pasar cadena de imagen codificada en Base64

    • Formato de datos: data:{MIME_type};base64,{base64_data}
    • Ejemplo: data:image/jpeg;base64,GDU7MtCZzEbTbmRZ......
    • La cadena codificada en el ejemplo está incompleta y es solo para fines demostrativos. Para más información, consulte Formatos admitidos.

mask_image_url string (Opcional)

Este parámetro es obligatorio solo cuando function se establece en description_edit_with_mask (inpainting). No es necesario para otras funciones.

La URL o los datos codificados en Base64 de la imagen de máscara.

Puede pasar una URL accesible públicamente (HTTP/HTTPS) o una cadena codificada en Base64. Para más información, consulte Formatos admitidos.

Requisitos de la imagen de máscara:

  • Resolución: Debe coincidir con la resolución de la imagen especificada por base_image_url. El ancho y el alto deben ser de 512 a 4,096 píxeles
  • Formato de archivo: JPG, JPEG, PNG, BMP, TIFF o WEBP
  • Tamaño de archivo: Máximo 10 MB
  • La URL no puede contener caracteres chinos

Requisitos de color del área de máscara:

  • Área blanca: Indica la parte que se va a editar. Debe ser blanco puro (valor RGB [255,255,255]). De lo contrario, es posible que no se identifique correctamente.
  • Área negra: Indica la parte que no necesita cambiarse. Debe ser negro puro (valor RGB [0,0,0]). De lo contrario, es posible que no se identifique correctamente.

Para obtener una imagen de máscara, utilice Photoshop u otra herramienta.

parameters object (Opcional)

Los parámetros de procesamiento de imagen.

Propiedades

General

n integer (Opcional)

El número de imágenes a generar. Rango de valores: 1 a 4. Valor predeterminado: 1.

seedinteger(Opcional)

La semilla de números aleatorios, utilizada para controlar la aleatoriedad del contenido generado por el modelo. Rango de valores: [0, 2147483647].

Si no se proporciona, el algoritmo genera automáticamente un número aleatorio como semilla. Para mantener el contenido generado relativamente estable, utilice el mismo valor de parámetro de semilla.

watermark bool (Opcional)

Especifica si se debe agregar una marca de agua. La marca de agua se encuentra en la esquina inferior derecha de la imagen y muestra "Generated by AI".

  • false (predeterminado)
  • true

Estilización global

n integer (Opcional)

El número de imágenes a generar. El valor puede ser un entero de 1 a 4. El valor predeterminado es 1.

seedinteger(Opcional)

La semilla de números aleatorios, utilizada para controlar la aleatoriedad del contenido generado por el modelo. El valor del parámetro seed puede ser un entero de [0, 2147483647].

Si no proporciona este parámetro, el algoritmo genera automáticamente un número aleatorio como semilla. Si usted want que el contenido generado sea relativamente estable, utilice el mismo valor de parámetro de semilla.

watermark bool (Opcional)

Especifica si se debe agregar una marca de agua. La marca de agua se encuentra en la esquina inferior derecha de la imagen y muestra Generated by AI.

  • false: El valor predeterminado. No se añade ninguna marca de agua.
  • true: Se añade una marca de agua.

strength float (Opcional)

Especifique este parámetro cuando function esté configurado como stylization_all (estilización global).

El grado de modificación de la imagen. Rango de valores: 0.0 a 1.0. Valor predeterminado: 0.5.

Un valor más cercano a 0 significa que el resultado se parece más a la imagen original. Un valor más cercano a 1 significa una mayor modificación de la imagen original.

Edición basada en instrucciones

n integer (Opcional)

El número de imágenes a generar. El valor puede ser un entero de 1 a 4. El valor predeterminado es 1.

seedinteger(Opcional)

La semilla de números aleatorios, utilizada para controlar la aleatoriedad del contenido generado por el modelo. El valor del parámetro seed puede ser un entero de [0, 2147483647].

Si no proporciona este parámetro, el algoritmo genera automáticamente un número aleatorio como semilla. Si usted want que el contenido generado sea relativamente estable, utilice el mismo valor de parámetro de semilla.

watermark bool (Opcional)

Especifica si se debe agregar una marca de agua. La marca de agua se encuentra en la esquina inferior derecha de la imagen y muestra Generated by AI.

  • false: El valor predeterminado. No se añade ninguna marca de agua.
  • true: Se añade una marca de agua.

strength float (Opcional)

Especifique este parámetro cuando function se establece en description_edit (edición basada en instrucciones).

El grado de modificación de la imagen. El valor puede ser un flotante de 0.0 a 1.0. El valor predeterminado es 0.5.

Un valor más cercano a 0 significa que el resultado se parece más a la imagen original. Un valor más cercano a 1 significa un mayor grado de modificación de la imagen original.

Expansión de imagen

n integer (Opcional)

El número de imágenes a generar. El valor puede ser un entero de 1 a 4. El valor predeterminado es 1.

seedinteger(Opcional)

La semilla de números aleatorios, utilizada para controlar la aleatoriedad del contenido generado por el modelo. El valor del parámetro seed puede ser un entero de [0, 2147483647].

Si no proporciona este parámetro, el algoritmo genera automáticamente un número aleatorio como semilla. Si usted want que el contenido generado sea relativamente estable, utilice el mismo valor de parámetro de semilla.

watermark bool(Opcional)

Especifica si se debe agregar una marca de agua. La marca de agua se encuentra en la esquina inferior derecha de la imagen y muestra Generated by AI.

  • false: El valor predeterminado. No se añade ninguna marca de agua.
  • true: Se añade una marca de agua.

top_scale float(Opcional)

Especifique este parámetro solo cuando function esté configurado como expand (expansión de imagen).

Expande la imagen centrada hacia arriba en una proporción especificada. Valor predeterminado: 1.0. Rango de valores: de 1.0 a 2.0.

bottom_scale float(Opcional)

Especifique este parámetro solo cuando function esté configurado como expand (expansión de imagen).

Expande la imagen centrada hacia abajo en una proporción especificada. Valor predeterminado: 1.0. Rango de valores: de 1.0 a 2.0.

left_scale float(Opcional)

Especifique este parámetro solo cuando function esté configurado como expand (expansión de imagen).

Expande la imagen centrada hacia la izquierda en una proporción especificada. Valor predeterminado: 1.0. Rango de valores: de 1.0 a 2.0.

right_scale float(Opcional)

Especifique este parámetro solo cuando function esté configurado como expand (expansión de imagen).

Expande la imagen centrada hacia la derecha en una proporción especificada. Valor predeterminado: 1.0. Rango de valores: de 1.0 a 2.0.

Superresolución

n integer (Opcional)

El número de imágenes a generar. El valor puede ser un entero de 1 a 4. El valor predeterminado es 1.

seedinteger(Opcional)

La semilla de números aleatorios, utilizada para controlar la aleatoriedad del contenido generado por el modelo. El valor del parámetro seed puede ser un entero de [0, 2147483647].

Si no proporciona este parámetro, el algoritmo genera automáticamente un número aleatorio como semilla. Si usted want que el contenido generado sea relativamente estable, utilice el mismo valor de parámetro de semilla.

watermark bool(Opcional)

Especifica si se debe agregar una marca de agua. La marca de agua se encuentra en la esquina inferior derecha de la imagen y muestra Generated by AI.

  • false: El valor predeterminado. No se añade ninguna marca de agua.
  • true: Se añade una marca de agua.

upscale_factor integer(Opcional)

Especifique este parámetro solo cuando function se establece en super_resolution (superresolución).

El factor de ampliación para superresolución, que mejora los detalles mientras amplía la imagen y aumenta la resolución para el procesamiento en alta definición.

Rango de valores: de 1 a 4. Valor predeterminado: 1. Cuando upscale_factor se establece en 1, la imagen se procesa para alta definición sin ser ampliada.

Generación de boceto a imagen

n integer (Opcional)

El número de imágenes a generar. El valor puede ser un entero de 1 a 4. El valor predeterminado es 1.

seedinteger(Opcional)

La semilla de números aleatorios, utilizada para controlar la aleatoriedad del contenido generado por el modelo. El valor del parámetro seed puede ser un entero de [0, 2147483647].

Si no proporciona este parámetro, el algoritmo genera automáticamente un número aleatorio como semilla. Si usted want que el contenido generado sea relativamente estable, utilice el mismo valor de parámetro de semilla.

watermark bool (Opcional)

Especifica si se debe agregar una marca de agua. La marca de agua se encuentra en la esquina inferior derecha de la imagen y muestra Generated by AI.

  • false: El valor predeterminado. No se añade ninguna marca de agua.
  • true: Se añade una marca de agua.

is_sketch bool (Opcional)

Especifique este parámetro solo cuando function se establece en doodle (generación de boceto a imagen).

Especifica si la imagen de entrada es una imagen de boceto.

  • false (predeterminado): La imagen de entrada no es un boceto. El modelo primero extrae un boceto de la imagen de entrada y luego genera una nueva imagen basada en el boceto.
  • true: La imagen de entrada es un boceto. El modelo genera una imagen directamente basada en la imagen de entrada. Adecuado para escenarios de boceto a pintura.

Estilización global

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "stylization_all",
    "prompt": "Convert to French picture book style",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/stylization_all_1.jpeg"
  },
  "parameters": {
    "n": 1
  }
}'

Pasar un archivo local (Base64)

El siguiente ejemplo muestra cómo pasar un parámetro codificado en Base64 para la estilización global.

Debido a que la cadena codificada en Base64 es larga, descargue image_base64 y copie todo su contenido al parámetro base_image_url.

Para más información sobre el formato de datos, consulte Formatos admitidos.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "stylization_all",
    "prompt": "Convert to French picture book style",
    "base_image_url": "data:image/jpeg;base64,/9j/4AAQSkZJR......"
  },
  "parameters": {
    "n": 1
  }
}'

Estilización local

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "stylization_local",
    "prompt": "Change the house to a wooden style.",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/stylization_local_1.png"
  },
  "parameters": {
    "n": 1
  }
}'

Edición basada en instrucciones

Descripción de la función: Agrega o modifica contenido de imagen utilizando solo instrucciones, sin especificar una región.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "description_edit",
    "prompt": "Change her hair to red.",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/description_edit_2.png"
  },
  "parameters": {
    "n": 1
  }
}'

Inpainting

Descripción de la función: Añadir, eliminar o modificar contenido en un área especificada.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "description_edit_with_mask",
    "prompt": "A ceramic rabbit holding a ceramic flower.",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg",
    "mask_image_url": "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png"
  },
  "parameters": {
    "n": 1
  }
}'

Eliminación de marca de agua de texto

Descripción de la función: Admite la eliminación de marcas de agua de texto en chino e inglés.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "remove_watermark",
    "prompt": "Remove the text from the image",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/remove_watermark_1.png"
  },
  "parameters": {
    "n": 1
  }
}'

Expansión de imagen

Descripción de la función: Admite expandir la imagen proporcionalmente hacia arriba, abajo, izquierda y derecha.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "expand",
    "prompt": "A green fairy",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/expand_2.jpg"
  },
  "parameters": {
    "top_scale": 1.5,
    "bottom_scale": 1.5,
    "left_scale": 1.5,
    "right_scale": 1.5,
    "n": 1
  }
}'

Superresolución

Descripción de la función: Admite mejorar una imagen borrosa a alta definición.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "super_resolution",
    "prompt": "Super resolution.",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/super_resolution_1.jpeg"
  },
  "parameters": {
    "upscale_factor": 2,
    "n": 1
  }
}'

Colorización

Descripción de la función: Convierte una imagen en blanco y negro o en escala de grises a una imagen a color.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "colorization",
    "prompt": "Blue background, yellow leaves.",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/colorization_1.jpeg"
  },
  "parameters": {
    "n": 1
  }
}'

Generación de boceto a imagen

Descripción de la función: Extrae un boceto de la imagen de entrada y luego genera una imagen basada en el boceto.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "doodle",
    "prompt": "A living room in a minimalist Nordic style.",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/doodle_1.png"
  },
  "parameters": {
    "n": 1
  }
}'

Generación de referencia de personaje de dibujos animados

Descripción de la función: Admite generar una imagen basada en un personaje de dibujos animados de referencia.

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
  "model": "wanx2.1-imageedit",
  "input": {
    "function": "control_cartoon_feature",
    "prompt": "The cartoon character cautiously peeks out, looking at a sparkling blue gem in the room.",
    "base_image_url": "http://wanx.alicdn.com/material/20250318/control_cartoon_feature_1.png"
  },
  "parameters": {
    "n": 1
  }
}'

Parámetros de respuesta

output object

La información de salida de la tarea.

Propiedades

task_id string

El ID de la tarea. Válido para consultas durante 24 horas.

task_status string

El estado de la tarea.

Valores de enumeración

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: La tarea no existe o se desconoce su estado.

request_id string

Identificador único de solicitud para rastreo y solución de problemas.

code string

Código de error. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error.

message string

Mensaje de error detallado. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error.

Respuesta exitosa

Guarde el task_id para consultar el estado y el resultado de la tarea.

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

Respuesta de error

Error en la creación de la tarea. Consulte Códigos de error.

{
    "code": "InvalidApiKey",
    "message": "Invalid API-key provided.",
    "request_id": "7438d53d-6eb8-4596-8835-xxxxxx"
}

Paso 2: Consultar resultado por ID de tarea

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Reemplace {WorkspaceId} con su ID de espacio de trabajo real.

Parámetros de solicitud

Encabezados de solicitud

Authorization string (Requerido)

Autentica la solicitud con una clave API de Model Studio. Ejemplo: Bearer sk-xxxx.

Parámetros de ruta

task_id string (Obligatorio)

El ID de la tarea.

Consultar resultado de la tarea

Reemplace 86ecf553-d340-4e21-xxxxxxxxx con su task_id real.

curl -X GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Parámetros de respuesta

outputobject

La información de salida de la tarea.

Propiedades

task_id string

El ID de la tarea. Válido para consultas durante 24 horas.

task_status string

El estado de la tarea.

Valores de enumeración

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: La tarea no existe o se desconoce su estado.

submit_time string

La hora en que se envió la tarea. La hora está en UTC+8 y el formato es YYYY-MM-DD HH:mm:ss.SSS.

scheduled_time string

La hora en que se ejecutó la tarea. La hora está en UTC+8 y el formato es YYYY-MM-DD HH:mm:ss.SSS.

end_time string

La hora en que se completó la tarea. La hora está en UTC+8 y el formato es YYYY-MM-DD HH:mm:ss.SSS.

results array object

Una lista de resultados de tareas, que incluye URL de imágenes y mensajes de error para tareas parcialmente fallidas.

Estructura de datos

{
    "results": [
        {
            "url": ""
        },
        {
            "code": "",
            "message": ""
        }
    ]
}

task_metrics object

Estadísticas del resultado de la tarea.

Propiedades

TOTAL integer

El número total de tareas.

SUCCEEDED integer

El número de tareas exitosas.

FAILED integer

El número de tareas fallidas.

code string

Código de error. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error.

message string

Mensaje de error detallado. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error.

usage object

Las estadísticas de información de salida. Solo se cuentan los resultados exitosos.

Propiedades

image_count integer

Número de imágenes generadas exitosamente. Facturación: Costo = Número de imágenes × Precio unitario.

request_id string

Identificador único de solicitud para rastreo y solución de problemas.

Tarea exitosa

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.

{
    "request_id": "eeef0935-02e9-9742-bb55-xxxxxx",
    "output": {
        "task_id": "a425c46f-dc0a-400f-879e-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-02-21 17:56:31.786",
        "scheduled_time": "2025-02-21 17:56:31.821",
        "end_time": "2025-02-21 17:56:42.530",
        "results": [
            {
                "url": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/aaa.png"
            }
        ],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Tarea fallida

Cuando una tarea falla, task_status es FAILED con un código de error y un mensaje. Consulte Códigos de error.

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-xxxxxx",
        "task_status": "FAILED",
        "code": "InvalidParameter",
        "message": "xxxxxx",
        "task_metrics": {
            "TOTAL": 4,
            "SUCCEEDED": 0,
            "FAILED": 4
        }
    }
}

Tarea parcialmente fallida

El modelo puede generar múltiples imágenes por tarea. Si al menos una tiene éxito, el estado de la tarea es SUCCEEDED y se devuelven las URL de las imágenes exitosas. Las imágenes fallidas incluyen un motivo de fallo. Las estadísticas de uso cuentan solo los resultados exitosos. Consulte Códigos de error.

{
    "request_id": "85eaba38-0185-99d7-8d16-xxxxxx",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [
            {
                "url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/123/a1.png"
            },
            {
                "code": "InternalError.Timeout",
                "message": "An internal timeout error has occured during execution, please try again later or contact service support."
            }
        ],
        "task_metrics": {
            "TOTAL": 2,
            "SUCCEEDED": 1,
            "FAILED": 1
        }
    },
    "usage": {
        "image_count": 1
    }
}

SDK de DashScope

Primero, asegúrese de haber instalado la versión más reciente del SDK de DashScope. De lo contrario, podría producirse un error de tiempo de ejecución.

El SDK de DashScope actualmente admite Python y Java.

Los nombres de los parámetros en el SDK son mayormente consistentes con los de la API HTTP. La estructura de los parámetros depende de la encapsulación del SDK para los diferentes lenguajes. Para descripciones de los parámetros, consulte Llamada HTTP.

El procesamiento del modelo de video tarda mucho tiempo, por lo que el servicio utiliza un enfoque asíncrono. El SDK proporciona un contenedor que admite llamadas síncronas y asíncronas.

El modelo general de edición de imágenes tarda aproximadamente de 5 a 15 segundos en procesar una solicitud. El tiempo real depende del número de tareas en la cola y de las condiciones de la red. Por favor, espere pacientemente el resultado.

SDK de Python

Al utilizar el SDK de Python para procesar archivos de imagen, ingrese una imagen mediante uno de los siguientes tres métodos. Elija el método que mejor se adapte a su escenario.

  1. URL pública: Una URL de imagen accesible públicamente que utiliza el protocolo HTTP o HTTPS.
  2. Codificación Base64: Pase la cadena del archivo codificado en Base64 en el formato data:{MIME_type};base64,{base64_data}.
  3. Ruta de archivo local: Admite tanto rutas absolutas como relativas. Consulte la siguiente tabla para ver los formatos de ruta de archivo válidos.

System

Ruta de archivo a pasar

Ejemplo (ruta absoluta)

Ejemplo (ruta relativa)

Linux o macOS

file://{ruta absoluta o relativa del archivo}

file:///home/images/test.png

file://./images/test.png

Windows

file://D:/images/test.png

file://./images/test.png

Código de ejemplo

NotaAntes de llamar al código, instale o actualice el SDK de Python de DashScope a la versión más reciente: pip install -U dashscope. Consulte Instalar el SDK.

Llamada síncrona

Este ejemplo muestra una llamada síncrona y admite tres métodos de entrada de imagen: URL pública, codificación Base64 y ruta de archivo local.

Ejemplo de solicitud
import base64
import os
from http import HTTPStatus
from dashscope import ImageSynthesis
import dashscope
import mimetypes

"""
Environment requirements:
    dashscope python SDK >= 1.23.8
Install/Upgrade SDK:
    pip install -U dashscope
"""

dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"

# If the environment variable is not configured, replace the following line with: api_key="sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")

# --- Helper function: for Base64 encoding ---
# Format is data:{MIME_type};base64,{base64_data}
def encode_file(file_path):
    mime_type, _ = mimetypes.guess_type(file_path)
    if not mime_type or not mime_type.startswith("image/"):
        raise ValueError("Unsupported or unrecognized image format")
    with open(file_path, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
    return f"data:{mime_type};base64,{encoded_string}"

"""
Image input methods:
Choose one of the following three methods.

1. Use a public URL - suitable for publicly accessible images.
2. Use a local file - suitable for local development and testing.
3. Use Base64 encoding - suitable for private images or scenarios requiring encrypted transmission.
"""

# [Method 1] Use a public image URL
mask_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png"
base_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg"

# [Method 2] Use a local file (supports absolute and relative paths)
# Format requirement: file:// + file path
# Example (absolute path):
# mask_image_url = "file://" + "/path/to/your/mask_image.png"     # Linux/macOS
# base_image_url = "file://" + "C:/path/to/your/base_image.jpeg"  # Windows
# Example (relative path):
# mask_image_url = "file://" + "./mask_image.png"                 # Based on the actual path
# base_image_url = "file://" + "./base_image.jpeg"                # Based on the actual path

# [Method 3] Use a Base64-encoded image
# mask_image_url = encode_file("./mask_image.png")               # Based on the actual path
# base_image_url = encode_file("./base_image.jpeg")              # Based on the actual path

def sample_sync_call_imageedit():
    print('please wait...')
    rsp = ImageSynthesis.call(api_key=api_key,
                              model="wanx2.1-imageedit",
                              function="description_edit_with_mask",
                              prompt="A ceramic rabbit holding a ceramic flower",
                              mask_image_url=mask_image_url,
                              base_image_url=base_image_url,
                              n=1)
    assert rsp.status_code == HTTPStatus.OK

    print('response: %s' % rsp)
    if rsp.status_code == HTTPStatus.OK:
        for result in rsp.output.results:
            print("---------------------------")
            print(result.url)
    else:
        print('sync_call Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

if __name__ == '__main__':
    sample_sync_call_imageedit()
Ejemplo de respuesta

La URL es válida durante 24 horas. Descargue la imagen oportunamente.

{
    "status_code": 200,
    "request_id": "dc41682c-4e4a-9010-bc6f-xxxxxx",
    "code": null,
    "message": "",
    "output": {
        "task_id": "6e319d88-a07a-420c-9493-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [
            {
                "url": "https://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/xxx.png?xxxxxx"
            }
        ],
        "submit_time": "2025-05-26 14:58:27.320",
        "scheduled_time": "2025-05-26 14:58:27.339",
        "end_time": "2025-05-26 14:58:39.170",
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Llamada asíncrona

Este ejemplo muestra únicamente el método de llamada asíncrona.

Ejemplo de solicitud
import os
from http import HTTPStatus
from dashscope import ImageSynthesis
import dashscope

"""
Environment requirements:
    dashscope python SDK >= 1.23.4
Install/Upgrade SDK:
    pip install -U dashscope
"""

dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"

# If the environment variable is not configured, replace the following line with: api_key="sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")

# Use a public image URL
mask_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png"
base_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg"

def sample_async_call_imageedit():
    # Asynchronous call, returns a task_id
    rsp = ImageSynthesis.async_call(api_key=api_key,
                                    model="wanx2.1-imageedit",
                                    function="description_edit_with_mask",
                                    prompt="A ceramic rabbit holding a ceramic flower",
                                    mask_image_url=mask_image_url,
                                    base_image_url=base_image_url,
                                    n=1)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print("task_id: %s" % rsp.output.task_id)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

    # Get asynchronous task information
    status = ImageSynthesis.fetch(task=rsp, api_key=api_key)
    if status.status_code == HTTPStatus.OK:
        print(status.output.task_status)  # check the task status
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (status.status_code, status.code, status.message))

    # Wait for the asynchronous task to finish
    rsp = ImageSynthesis.wait(rsp)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output)
        for result in rsp.output.results:
            print("---------------------------")
            print(result.url)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

if __name__ == '__main__':
    sample_async_call_imageedit()
Ejemplo de respuesta
  1. Ejemplo de respuesta para crear una tarea
{
	"status_code": 200,
	"request_id": "6dc3bf6c-be18-9268-9c27-xxxxxx",
	"code": "",
	"message": "",
	"output": {
		"task_id": "686391d9-7ecf-4290-a8e9-xxxxxx",
		"task_status": "PENDING",
		"video_url": ""
	},
	"usage": null
}
  1. Ejemplo de respuesta para consultar el resultado de una tarea

La URL es válida durante 24 horas. Descargue la imagen oportunamente.

{
    "status_code": 200,
    "request_id": "dc41682c-4e4a-9010-bc6f-xxxxxx",
    "code": null,
    "message": "",
    "output": {
        "task_id": "6e319d88-a07a-420c-9493-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [
            {
                "url": "https://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/xxx.png?Expires=17xxxxxx"
            }
        ],
        "submit_time": "2025-05-26 14:58:27.320",
        "scheduled_time": "2025-05-26 14:58:27.339",
        "end_time": "2025-05-26 14:58:39.170",
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

SDK de Java

Al utilizar el SDK de Java para procesar archivos de imagen, ingrese una imagen mediante uno de los siguientes tres métodos. Elija el método que mejor se adapte a su escenario.

  1. URL pública: Una URL de imagen accesible públicamente que utiliza el protocolo HTTP o HTTPS.
  2. Codificación Base64: Pase la cadena del archivo codificado en Base64 en el formato data:{MIME_type};base64,{base64_data}.
  3. Ruta de archivo local: Solo se admiten rutas absolutas. Consulte la siguiente tabla para ver los formatos de ruta de archivo válidos.

System

Ruta de archivo a pasar

Ejemplo

Linux o macOS

file://{ruta absoluta del archivo}

file:///home/images/test.png

Windows

file:///{ruta absoluta del archivo}

file:///D:/images/test.png

Código de ejemplo

NotaAntes de llamar al código, instale o actualice el SDK de Java de DashScope a la versión más reciente. Consulte Instalar el SDK.

Llamada síncrona

Este ejemplo muestra una llamada síncrona y admite tres métodos de entrada de imagen: URL pública, codificación Base64 y ruta de archivo local.

Ejemplo de solicitud
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;

/**
 * Environment requirements
 *      dashscope java SDK >=2.20.9
 * Update Maven dependency:
 *      https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java
 */

public class ImageEditSync {
    static {Constants.baseHttpApiUrl="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";}

    // If the environment variable is not configured, replace the following line with: apiKey="sk-xxx"
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    /**
     * Image input methods: Choose one of the following three.
     *
     * 1. Use a public URL - suitable for publicly accessible images.
     * 2. Use a local file - suitable for local development and testing.
     * 3. Use Base64 encoding - suitable for private images or scenarios requiring encrypted transmission.
     */

    //[Method 1] Public URL
    static String maskImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png";
    static String baseImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg";

    //[Method 2] Local file path (file://+absolute path or file:///+absolute path)
    // static String maskImageUrl = "file://" + "/your/path/to/mask_image.png";    // Linux/macOS
    // static String baseImageUrl = "file:///" + "C:/your/path/to/base_image.png";  // Windows

    //[Method 3] Base64 encoding
    // static String maskImageUrl = encodeFile("/your/path/to/mask_image.png");
    // static String baseImageUrl = encodeFile("/your/path/to/base_image.png");

    public static void syncCall() {
        // Set the parameters parameter
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);

        ImageSynthesisParam param =
                ImageSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wanx2.1-imageedit")
                        .function(ImageSynthesis.ImageEditFunction.DESCRIPTION_EDIT_WITH_MASK)
                        .prompt("A ceramic rabbit holding a ceramic flower")
                        .maskImageUrl(maskImageUrl)
                        .baseImageUrl(baseImageUrl)
                        .n(1)
                        .size("1024*1024")
                        .parameters(parameters)
                        .build();

        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            System.out.println("---sync call, please wait a moment----");
            result = imageSynthesis.call(param);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
    }

    /**
     * Encodes a file into a Base64 string
     * @param filePath The file path
     * @return A Base64 string in the format data:{MIME_type};base64,{base64_data}
     */
    public static String encodeFile(String filePath) {
        Path path = Paths.get(filePath);
        if (!Files.exists(path)) {
            throw new IllegalArgumentException("File does not exist: " + filePath);
        }
        // Detect the MIME type
        String mimeType = null;
        try {
            mimeType = Files.probeContentType(path);
        } catch (IOException e) {
            throw new IllegalArgumentException("Cannot detect file type: " + filePath);
        }
        if (mimeType == null || !mimeType.startsWith("image/")) {
            throw new IllegalArgumentException("Unsupported or unrecognized image format");
        }
        // Read the file content and encode it
        byte[] fileBytes = null;
        try{
            fileBytes = Files.readAllBytes(path);
        } catch (IOException e) {
            throw new IllegalArgumentException("Cannot read file content: " + filePath);
        }

        String encodedString = Base64.getEncoder().encodeToString(fileBytes);
        return "data:" + mimeType + ";base64," + encodedString;
    }

    public static void main(String[] args) {
        syncCall();
    }
}
Ejemplo de respuesta

La URL es válida durante 24 horas. Descargue la imagen oportunamente.

{
    "request_id": "bf6c6361-f0fc-949c-9d60-xxxxxx",
    "output": {
        "task_id": "958db858-153b-4c81-b243-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [
            {
                "url": "https://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/xxx.png?xxxxxx"
            }
        ],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Llamada asíncrona

Este ejemplo muestra únicamente el método de llamada asíncrona.

Ejemplo de solicitud
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisListResult;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * Environment requirements
 *      dashscope java SDK >= 2.20.1
 * Update Maven dependency:
 *      https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java
 */

public class ImageEditAsync {
    static {Constants.baseHttpApiUrl="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";}

    // If the environment variable is not configured, replace the following line with: apiKey="sk-xxx"
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    //[Method 1] Public URL
    static String maskImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png";
    static String baseImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg";

    public static void asyncCall() {
        // Set the parameters parameter
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);

        ImageSynthesisParam param =
                ImageSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wanx2.1-imageedit")
                        .function(ImageSynthesis.ImageEditFunction.DESCRIPTION_EDIT_WITH_MASK)
                        .prompt("A ceramic rabbit holding a ceramic flower")
                        .maskImageUrl(maskImageUrl)
                        .baseImageUrl(baseImageUrl)
                        .n(1)
                        .size("1024*1024")
                        .parameters(parameters)
                        .build();
        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            System.out.println("---async call, please wait a moment----");
            result = imageSynthesis.asyncCall(param);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }

        System.out.println(JsonUtils.toJson(result));

        String taskId = result.getOutput().getTaskId();

        System.out.println("taskId=" + taskId);

        try {
            result = imageSynthesis.wait(taskId, apiKey);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
        System.out.println(JsonUtils.toJson(result.getOutput()));
    }

    public static void listTask() throws ApiException, NoApiKeyException {
        ImageSynthesis is = new ImageSynthesis();
        AsyncTaskListParam param = AsyncTaskListParam.builder().build();
        param.setApiKey(apiKey);
        ImageSynthesisListResult result = is.list(param);
        System.out.println(result);
    }

    public void fetchTask(String taskId) throws ApiException, NoApiKeyException {
        ImageSynthesis is = new ImageSynthesis();
        // If DASHSCOPE_API_KEY is set as an environment variable, apiKey can be empty.
        ImageSynthesisResult result = is.fetch(taskId, apiKey);
        System.out.println(result.getOutput());
        System.out.println(result.getUsage());
    }

    public static void main(String[] args) {
        asyncCall();
    }
}
Ejemplo de respuesta
  1. Ejemplo de respuesta para crear una tarea
{
	"request_id": "5dbf9dc5-4f4c-9605-85ea-xxxxxxxx",
	"output": {
		"task_id": "7277e20e-aa01-4709-xxxxxxxx",
		"task_status": "PENDING"
	}
}
  1. Ejemplo de respuesta para consultar el resultado de una tarea

La URL es válida durante 24 horas. Descargue la imagen oportunamente.

{
	"request_id": "3d740fc4-a968-9c36-b0e7-xxxxxxxx",
	"output": {
		"task_id": "34dcf4b0-ed84-441e-91cb-xxxxxxxx",
		"task_status": "SUCCEEDED",
		"results": [
			{
				"url": "https://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/xxx.png"
			}
		],
		"submit_time": "2025-02-21 17:56:31.786",
		"scheduled_time": "2025-02-21 17:56:31.821",
		"end_time": "2025-02-21 17:56:42.530",
		"task_metrics": {
			"TOTAL": 1,
			"SUCCEEDED": 1,
			"FAILED": 0
		}
	},
	"usage": {
		"image_count": 1
	}
}

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.

Esta API también tiene códigos de estado específicos, como se muestra en la siguiente tabla.

Código de estado HTTP

Código de error de API (code)

Mensaje de error de API (message)

Descripción

400

InvalidParameter

InvalidParameter

Los parámetros de la solicitud no son válidos.

400

IPInfringementSuspect

Se sospecha que los datos de entrada están involucrados en una infracción de propiedad intelectual.

Se sospecha que los datos de entrada (como el prompt o la imagen) infringen derechos de propiedad intelectual. Verifique la entrada para asegurarse de que no contenga contenido que represente un riesgo de infracción.

400

DataInspectionFailed

Los datos de entrada pueden contener contenido inapropiado.

Los datos de entrada (como el prompt o la imagen) pueden contener contenido inapropiado. Modifique la entrada e inténtelo de nuevo.

500

InternalError

InternalError

El servicio presenta anomalías. Inténtelo de nuevo para descartar un problema ocasional.

Formatos de imagen de entrada

Formatos admitidos

Las imágenes de entrada admiten múltiples formatos de cadena, como se muestra en la siguiente tabla.

Método de invocación

HTTP

SDK de Python

SDK de Java

Métodos de entrada de imagen admitidos

  • URL pública

  • Codificación Base64

  • URL pública

  • Codificación Base64

  • Ruta de archivo local

  • URL pública

  • Codificación Base64

  • Ruta de archivo local

Método 1: Usar URL pública
  • Proporcione una dirección de imagen accesible públicamente. Se admiten los protocolos HTTP o HTTPS.
  • Ejemplo: https://xxxx/img.png
Método 2: Usar codificación Base64

Convierta un archivo de imagen local a una cadena Base64 y concaténela en el formato data:{MIME_type};base64,{base64_data}.

  • Para el código de conversión, consulte Código de ejemplo

  • {MIME_type}: El tipo de medio de la imagen, que debe coincidir con el formato de archivo

  • {base64_data}: La cadena codificada en Base64 del archivo de imagen

  • Referencia de tipos MIME:

    Formato de imagen

    Tipo MIME

    JPEG

    image/jpeg

    JPG

    image/jpeg

    PNG

    image/png

    BMP

    image/bmp

    TIFF

    image/tiff

    WEBP

    image/webp

  • Ejemplo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDg......

    Nota: La cadena Base64 anterior está truncada con fines demostrativos. En el uso real, pase la cadena codificada completa.

Método 3: Usar ruta de archivo local
  • HTTP no admite rutas de archivos locales. Solo el SDK de Python y el SDK de Java admiten este método.
  • Para las reglas de ruta de archivo local, consulte SDK de Python y SDK de Java.

FAQ

Para preguntas frecuentes sobre modelos de imagen (facturación de modelos, reglas de limitación de tasa y errores frecuentes de API), consulte Preguntas frecuentes sobre la API de imágenes.