Este documento detalla los parámetros para el modelo de borrado y completado de imágenes. Este modelo elimina uno o más elementos de una imagen, como personas, mascotas, objetos, texto o marcas de agua, mientras conserva el fondo. Puede especificar las áreas a eliminar utilizando una imagen de máscara.
Guía relacionada: Borrado y completado de imágenes
Importante
- Este documento se aplica únicamente a la región China (Pekín). Para utilizar el modelo, debe usar una clave de API de la región China (Pekín).
- El modelo image-erase-completion actualmente solo está disponible como prueba gratuita. Una vez que agote su cuota gratuita, ya no podrá invocar el modelo, ya que no se admiten opciones de pago. Como alternativas, recomendamos utilizar Edición de imágenes - Qwen o Edición de imágenes - Wan2.1.
Requisitos previos
Obtener una clave de API y exportar la clave de API como una variable de entorno.
Llamada HTTP
Para reducir los tiempos de espera y evitar tiempos de espera agotados en las solicitudes, el servicio procesa las solicitudes de forma asíncrona. Necesita realizar dos solicitudes:
- Crear una tarea: Envíe una solicitud para crear una tarea de generación de imágenes. Esta solicitud devuelve un ID de tarea.
- Consultar el resultado por ID de tarea: Utilice el ID de tarea devuelto para consultar el resultado.
Paso 1: Crear una tarea
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis
Encabezados de solicitud Content-TypestringRequerido El tipo de contenido de la solicitud. El valor debe ser application/json. AuthorizationstringRequired Recomendamos utilizar su clave de API de Model Studio. También puede utilizar su clave de API de DashScope. Ejemplo: Bearer d1xxx2a. X-DashScope-AsyncstringRequerido Especifica si se habilita el procesamiento asíncrono. Debe establecer este parámetro en enable. Cuerpo de la solicitud modelstringRequerido El modelo a invocar. inputobjectRequerido Detalles de la imagen de entrada, como la URL de la imagen. Propiedades image_urlstringRequerido La URL o los datos codificados en Base64 de la imagen de entrada. La URL debe ser de acceso público y utilizar HTTP o HTTPS. Requisitos de imagen:
- Formatos: JPEG, PNG, JPG, BMP, WEBP.
- Resolución: Debe ser de al menos 512×512 píxeles y no más de 4096×4096 píxeles.
- Rango de longitud lateral: [512, 4096] píxeles.
- Tamaño del archivo: No debe exceder 10 MB.
- La URL no debe contener caracteres chinos.
mask_urlstringRequerido La URL o los datos codificados en Base64 de la imagen de máscara que especifica el área a borrar. La URL debe ser de acceso público y utilizar HTTP o HTTPS. Requisitos de imagen:
- Formatos: JPG, JPEG, PNG, HEIF, WEBP.
- Resolución: Debe ser de al menos 512×512 píxeles y no más de 4096×4096 píxeles.
- Rango de longitud lateral: [512, 4096] píxeles.
- Tamaño del archivo: No debe exceder 10 MB.
Para crear una máscara, pinte sobre un lienzo en blanco del mismo tamaño que la imagen de entrada. Las áreas con valores de píxel distintos de cero sirven como máscara de borrado. Alternativamente, utilice segmentación de instancias humanas para generar directamente un resultado de segmentación como máscara de borrado. foreground_urlstring Opcional La URL o los datos codificados en Base64 de la imagen de máscara que especifica el área a conservar. La URL debe ser de acceso público y utilizar HTTP o HTTPS. Requisitos de imagen:
- Formatos: JPG, JPEG, PNG, HEIF, WEBP.
- Resolución: Debe ser de al menos 512×512 píxeles y no más de 4096×4096 píxeles.
- Rango de longitud lateral: [512, 4096] píxeles.
- Tamaño del archivo: No debe exceder 10 MB.
Para crear una máscara de conservación, pinte sobre un lienzo en blanco del mismo tamaño que la imagen de entrada. Las áreas con valores de píxel distintos de cero sirven como máscara de conservación. Alternativamente, utilice segmentación de instancias humanas para especificar un ID de persona, lo que aísla el área de máscara de esa persona para evitar que sea borrada. parametersobject Opcional Parámetros para el procesamiento de imágenes. Propiedades fast_modeboolOpcional Especifica si se habilita el modo rápido. El valor predeterminado es false. En el modo rápido, la inferencia toma aproximadamente una cuarta parte del tiempo del modo estándar. Este modo es adecuado para escenarios que no requieren alto nivel de detalle. dilate_flagboolOpcional El valor predeterminado es true. Recomendamos establecer esto en true si un algoritmo genera la máscara de borrado, y en false si usted pinta manualmente la máscara de borrado. add_watermark booleanOpcional Añade una marca de agua Generated by AI. El valor predeterminado es true, lo que añade la marca de agua en la esquina inferior izquierda de la imagen de salida. | Borrado y completado de imágenescurl --location --request POST 'https://dashscope.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-raw '{
"model": "image-erase-completion",
"input": {
"image_url": "http://xxx/input.png",
"mask_url": "http://xxx/mask.png",
"foreground_url": "http://xxx/foreground.png"
},
"parameters":{
"dilate_flag":true
}
}'
|
Respuesta outputobject Detalles de salida de la tarea. Propiedades task_idstring El identificador único de la tarea. task_statusstring El estado de la tarea.
- PENDING: La tarea está en la cola.
- RUNNING: La tarea está en progreso.
- SUSPENDED: La tarea está suspendida.
- SUCCEEDED: La tarea se completó correctamente.
- FAILED: La tarea falló.
codestring El código de error. Este parámetro no se devuelve si la solicitud es exitosa. messagestring El mensaje de error. Este parámetro no se devuelve si la solicitud es exitosa. request_idstring El ID único de la solicitud. Utilice este ID para rastrear y solucionar problemas. | |
Paso 2: Consultar el resultado
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
Encabezados de solicitud AuthorizationstringRequired Su clave de API. Ejemplo: Bearer d1**2a. Parámetros de ruta task_idstringRequerido El ID de la tarea. | Resultado de la tareacurl -X GET \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
https://dashscope.aliyuncs.com/api/v1/tasks/53950fb7-281a-4e60-b543-xxxxxxxxxxxx
|
Respuesta outputobject Detalles de salida de la tarea. Propiedades task_id string El ID de la tarea. task_status string El estado de la tarea.
- PENDING: La tarea está en la cola.
- RUNNING: La tarea está en progreso.
- SUSPENDED: La tarea está suspendida.
- SUCCEEDED: La tarea se completó correctamente.
- FAILED: La tarea falló.
task_metrics object Estadísticas 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. submit_time string La hora en que se envió la tarea. scheduled_time string La hora en que la tarea comenzó a ejecutarse. end_time string La hora en que se completó la tarea. output_image_url string La URL de la imagen de salida. codestring El código de error. Este parámetro no se devuelve si la solicitud es exitosa. messagestring El mensaje de error. Este parámetro no se devuelve si la solicitud es exitosa. usageobject Estadísticas de uso. Propiedades image_countinteger El número de imágenes generadas. request_idstring El ID único de la solicitud. Utilice este ID para rastrear y solucionar problemas. | Tarea completadaLos resultados de las tareas completadas están disponibles durante 24 horas. Después de este período, el sistema elimina la tarea y sus resultados. La URL de la imagen generada también caduca después de 24 horas, por lo que debe guardar la imagen después de recuperar el resultado de la tarea. {
"request_id": "b67df059-ca6a-9d51-afcd-9b3c4456b1e2",
"output": {
"task_id": "53950fb7-281a-4e60-b543-xxxxxxxxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2024-05-16 13:50:01.247",
"scheduled_time": "2024-05-16 13:50:01.354",
"end_time": "2024-05-16 13:50:27.795",
"output_image_url": "http://xxx/result.png"
},
"usage": {
"image_count": 1
}
}
Tarea en progreso{
"request_id":"7574ee8f-38a3-4b1e-9280-11c33ab46e51",
"output":{
"task_id":"53950fb7-281a-4e60-b543-xxxxxxxxxxxx",
"task_status":"RUNNING",
"task_metrics":{
"TOTAL":1,
"SUCCEEDED":1,
"FAILED":0
}
}
}
Tarea fallida{
"request_id":"4246a1de-2aab-9b49-ba87-e0d12e221a06",
"output":{
"task_id":"53950fb7-281a-4e60-b543-xxxxxxxxxxxx",
"task_status":"FAILED",
"submit_time":"2024-03-22 12:07:07.183",
"scheduled_time":"2024-03-22 12:07:07.253",
"end_time":"2024-03-22 12:07:07.604",
"code":"InternalError.Algo",
"message":"algorithm process error"
}
}
|
Códigos de estado
Para los códigos de estado comunes de los servicios de Model Studio, consulte Mensajes de error.
Esta API también devuelve los siguientes códigos de estado específicos:
Código de estado HTTP | Código de error | Mensaje de error | Descripción |
|---|
400 | InvalidParameter.JsonPhrase | error de json de entrada | JSON no válido en la solicitud. |
400 | InvalidParameter.FileDownload | error de descarga de oss | Error al descargar la imagen de entrada. |
400 | InvalidParameter.ImageFormat | error de lectura de imagen | Error al leer la imagen. |
400 | InvalidParameter.ImageContent | El contenido de la imagen no cumple con las normativas. | El contenido de la imagen no cumple con las normativas. |
400 | InvalidParameter | Un valor de parámetro de entrada está fuera de rango: xxx | Un valor de parámetro de entrada está fuera de rango. |
400 | InvalidParameter.ImageResolution | El tamaño de la imagen de entrada es demasiado pequeño o demasiado grande. | El tamaño de la imagen de entrada es demasiado pequeño o demasiado grande. |
500 | InternalError.Algo | error de procesamiento del algoritmo | Error de algoritmo. |
500 | InternalError.FileUpload | error de carga oss | Error al subir el archivo. |