Hoy en día es común en empresas de todo tamaño que las fotos de los empleados sean digitales y en la mayoría de los casos son tomadas directamente durante el proceso de contratación.
No sería genial poder remover el fondo para así lograr resultados uniformes y más profesionales? Con Microsoft Power Automate es fácil lograrlo.
Este flujo puede igualmente lograrse en Azure Logic Apps, los pasos son los mismos (con excepción del desencadenador)
Para remover los fondos, vamos a utilizar un servicio llamado Background Removal API (https://www.remove.bg/api), el registro es gratuito y obtendremos 50 imágenes por mes sin costo con fines demostrativos, aunque si desean resultados de imágenes de mayor tamaño, cuentan con diferentes planes.
Registro en remove.bg
El primer paso es registrarse en el servicio indicado, para obtener la API Key, el proceso es muy sencillo y se realiza en menos de 5 minutos.
Una vez obtengamos acceso a la cuenta, copiaremos nuestra API Key, la cual es una combinación de números y letras que debemos almacenar de forma segura ya que con ella cualquier persona podría utilizar nuestra cuenta (y créditos).
Power Automate
Para el ejemplo, crearemos un flujo instantáneo iniciado con un desencadenador manual, sin embargo, es importante saber que se puede iniciar de cualquier forma, por ejemplo, desde un Power App, desde Sharepoint, OneDrive, Outlook, etc.
A continuación agregaremos una acción llamada “Redactar”, sin embargo, también se podría inicializar una variable, en esta agregaremos nuestra API Key.
Luego seleccionaremos la acción HTTP, a través de la cual podremos enviar solicitudes GET, POST, UPDATE, etc. En este caso, la API requiere una solicitud tipo POST.
Es importante tener en cuenta que esta acción es Premium, por ender requiere una licencia adicional o se puede utilizar en Azure Logic Apps.
Dentro de los encabezados (Headers), debemos enviar uno llamado “X-Api-Key”, el cual contiene la salida de nuestra acción anterior.
En el cuerpo (Body), debemos enviar lo siguiente:
{ "image_file_b64": "@{triggerBody()?['file']?['contentBytes']}", "image_url": "", "size": "preview", "type": "auto", "format": "png", "crop": true, "crop_margin": 0, "channels": "rgba", "add_shadow": false, "semitransparency": true }
En la documentación de la API se indican las múltiples opciones de configuración y personalización de la solución, sin embargo, hemos optado por enviar la imagen directamente, por ende, en el código JSON anterior vemos que “image_file_b64” es el contenido de la foto escogida en el Trigger.
Esta acción producirá una imagen sin fondo en formato PNG (transparente) y de tipo “Preview”, si deseamos cambiarlo para que sea una imagen de resolución completa, lo cambiaremos por “auto”.
La URL a la que se envía la solicitud API es:
https://api.remove.bg/v1.0/removebg
Tras este paso, enviaremos la foto por correo a la persona que inicia el flujo, sin embargo, se podrían por ejemplo guardar en Sharepoint, OneDrive, enviar a otro aplicativo, etc.
El contenido del adjunto es el cuerpo (Body) completo que nos da la acción anterior. El nombre del adjunto podremos generarlo de forma dinámica, para esto podremos agregar lo siguiente para conservar el mismo nombre.
@{triggerBody()?['file']?['name']}.png
Es importante agregar el formato de la imagen, en esta caso “png”.