Inicio rápido de la API de Imagen

  • Actualización

Usa nuestro inicio rápido para aprender cómo funciona la API de Imagen y personalizar tu flujo.

Completa la incorporación

Necesitas registrarte en Imagen, configurar tu entorno, elegir un Perfil IA y algunos otros pasos antes de usar este inicio rápido. Consulta Incorporación.

Si quieres usar la API de Imagen con poca programación, aquí está el SDK en Python.

1. Obtén una lista de Perfiles de IA disponibles

Obtén una lista de Perfiles de IA y sus claves. Aquí está la documentación de referencia de la API para este endpoint.

GET /v1/profiles/ 

Ejemplo de respuesta

La respuesta incluye los Perfiles de IA disponibles. Cada Perfil IA tiene un profile_key que lo identifica. Necesitas este profile_key para editar las fotos en tu proyecto.

{

"data": {

"profiles": [

{

"profile_key": <clave de perfil del Perfil IA Personal>,

"profile_name": "boda",

"profile_type": "Personal",

"image_type": "RAW"

},

{

"profile_key": 14715,

"profile_name": "LOVE & LIGHT",

"profile_type": "Talent",

"image_type": "RAW"

},

{

"profile_key": 163322,

"profile_name": "ELEGANT HOME",

"profile_type": "Talent",

"image_type": "RAW"

}

]

}

}

2. Selecciona tus fotos sin la API

Selecciona tus fotos antes de subirlas para editar. La selección no forma parte de la API de Imagen.
 

3. Crea un proyecto y obtén un ID de proyecto

Te recomendamos crear un proyecto para cada sesión. Un proyecto organiza tus fotos con el Perfil IA que elegiste para editar estas fotos. Aquí están los docs de referencia de la API para este endpoint.

POST /v1/projects/

Ejemplo de respuesta

La respuesta es el project_uuid usado para identificar este proyecto. Usa este project_uuid hasta que exportes tus fotos a JPEG.

{

"data": {

"project_uuid": "<project_uuid>"

}

}
 

4. Crea enlaces temporales de carga para subir fotos

Necesitas un enlace temporal para subir cada foto. En la solicitud, en el parámetro files_list, incluye los nombres de archivo de las fotos a subir. Usa formato list. Aquí está la documentación de referencia de la API para este endpoint.

POST /v1/projects/<PROJECT_UUID>/get_temporary_upload_links

Ejemplo de solicitud

curl --location 'https://api.dev.imagen-ai.com/v1/projects/<project_uuid>/get_temporary_upload_links' \

--header 'x-api-key: <api_key>' \

--header 'Content-Type: application/json' \

--data '{

    “files_list”: [

        {“file_name”: “922A4846.CR2”},

        {“file_name”: “922A4832.CR2”},

        {“file_name”: “922A4818.CR2”},

        {“file_name”: “922A4809.CR2”}

    ]

}'

 

Ejemplo de respuesta

La respuesta incluye un enlace temporal para cada foto al bucket S3 de Imagen en AWS. Este enlace es la URL prefirmada de AWS.

{

"data": {

"files_list": [

{

"file_name": "922A4846.raw",

"upload_link": "<presigned URL for 922A4846.raw>"

},

{

"file_name": "922A4832.raw",

"upload_link": "<presigned URL for 922A4832.raw>"

},

{

"file_name": "922A4818.raw",

"upload_link": "<presigned URL for 922A4818.raw>"

},

{

"file_name": "922A4809.raw",

"upload_link": "<presigned URL for 922A4809.raw>"

}

]

}

}

 

5. Sube cada foto a su enlace de carga temporal

Sube las fotos con una PUT solicitud al bucket S3 de Imagen en AWS. Usa los enlaces de carga temporales de la respuesta del paso anterior.

Pruebas en Postman

  • Desactiva Content-Type en los encabezados.
  • No envíes Content-Type en los parámetros de consulta.

Requisitos del encabezado de solicitud en el código

Añade Content-Type al encabezado con una cadena vacía ("") como valor.
 

6. Edita las fotos de tu proyecto

Antes de enviar tus fotos a editar, necesitas:

Aquí está la documentación de referencia de la API para este endpoint.

POST /v1/projects/{project_uuid}/edit

Ejemplo de solicitud

{

  "profile_key": <clave de perfil>,

  "hdr_merge": true,

  "photography_type": "REAL_ESTATE",

  "callback_url": "string",

  "perspective_correction": true,

"sky_replacement": true,

"sky_replacement_template_id": “2”

}

Ejemplo de respuesta

La respuesta es un mensaje que confirma que el proyecto se editó correctamente. Si hay un error, envía un email a nuestro equipo de atención al cliente.

{“project_uuid”: “<el UUID del proyecto>”, “status”: “Failed/Completed/Pending”, “action”: “edit/export”“}

 

Añadir una URL de callback para recibir mensajes de estado

La callback_url es un endpoint POST que Imagen puede usar para enviarte mensajes de estado. Este parámetro es opcional. Si lo usas, no necesitas comprobar el estado de la edición. Este endpoint debe estar abierto a Imagen.

Los posibles estados enviados en la solicitud son:

Ejemplo de respuesta

{“project_uuid”: “<el UUID del proyecto>”, “status”: “Failed/Completed”, “action”: “edit/export”“}

 

7. Comprobar el estado de la edición

Si no añadiste una URL de callback a tu solicitud de edición, obtén el estado actual del proceso de edición. Continúa llamando a este endpoint con long polling hasta que el estado sea Completado.

Aquí están los documentos de referencia de la API para este endpoint.

GET /v1/projects/<PROJECT_UUID>/edit/status

Estos son los estados en la respuesta:

  • Pendiente: El proceso de edición no ha comenzado. Una vez que la edición comience, el estado cambiará a En proceso.
  • En proceso: La API de Imagen está editando las fotos.
  • Fallido: Envía un email al equipo de atención al cliente.
  • Completado: La API de Imagen ha terminado de editar las fotos. Continúa con una de las siguientes opciones:

8. Obtén enlaces de descarga temporales para descargar fotos editadas o XMP

Después de recibir un estado Completado, obtén los enlaces de descarga temporales para descargar las fotos editadas.

Aquí está la documentación de referencia de la API para este endpoint.

GET /v1/projects/<PROJECT_UUID>/edit/get_temporary_download_links 

Ejemplo de respuesta

La respuesta incluye un enlace temporal para cada foto al bucket S3 de Imagen en AWS. Este enlace es la URL prefirmada de AWS.

{

"data": {

"files_list": [

{

"file_name": "922A4846.DNG",

"download_link": "<URL prefirmada para 922A4846.DNG>"

},

{

"file_name": "922A4832.DNG",

"download_link": "<URL prefirmada para 922A4832.DNG>"

},

{

"file_name": "922A4818.DNG",

"download_link": "<URL prefirmada para 922A4818.DNG>"

},

{

"file_name": "922A4809.DNG",

"download_link": "<URL prefirmada para 922A4809.DNG>"

}

]

}

}

 

9. Descarga las fotos editadas localmente

Cuando Imagen devuelve los archivos editados, estos son los formatos respectivos:

Formato de archivo antes de editar Formato de archivo devuelto después de editar
RAW

XMP

Nota: Al editar fotos con Combinación HDR, el formato devuelto siempre es DNG, aunque el formato del archivo antes de editar fuera RAW.

RAW + DNG DNG con XMP integrado
DNG DNG con XMP integrado
JPEG JPEG con XMP integrado


Descarga las fotos del bucket S3 de Imagen en AWS con los enlaces de descarga temporales de la respuesta del paso anterior. Usa el método que prefieras. Para ver código de muestra en Python, consulta api_client.py en el proyecto API de Imagen en Github.

Revisa las ediciones en el software de edición de Adobe. Si abres las fotos con el visor de fotos predeterminado de tu ordenador, no verás las ediciones. Para ayuda, consulta:

10. Opcional: Exporta los JPEG finales para entrega

La API de Imagen exporta todas las fotos de un proyecto a formato JPEG. Este paso es opcional. Algunos fotógrafos retocan las ediciones y las exportan con su software de edición. Después de exportar los JPEG finales, los entregas o los subes a una galería.

1. Exporta las fotos del proyecto

POST /v1/projects/<PROJECT_UUID>/export 

Aquí están los documentos de referencia de la API para este endpoint.

La respuesta incluye el project_uuid y un mensaje de que la exportación fue exitosa. Si hay un error, envía un email a nuestro equipo de atención al cliente.

 

2. Verifica el estado de la exportación

Si no añadiste una URL de callback en tu solicitud de edición, obtén el estado de la exportación.

GET /v1/projects/<PROJECT_UUID>/export/status.

Aquí están los documentos de referencia de la API para este endpoint.

La respuesta incluye el estado de la exportación. Los estados posibles son:

  • En proceso: La API de Imagen está editando las fotos.
  • Fallido: Envía un email al equipo de atención al cliente.
  • Completado: La API de Imagen ha terminado de exportar las fotos a JPEG.

3. Obtén enlaces de descarga temporales para descargar las fotos JPEG finales

Obtén los enlaces de descarga temporales cuando el estado de exportación se devuelva como COMPLETED.

GET /v1/projects/<PROJECT_UUID>/export/get_temporary_download_links 

En la solicitud, incluye las fotos exportadas para descargar en el parámetro files_list. Usa formato list.

Aquí están los documentos de referencia de la API para este endpoint.

Ejemplo de respuesta

La respuesta incluye un enlace temporal para cada foto al bucket S3 de Imagen en AWS. Este enlace es la URL prefirmada de AWS.

{

"data": {

"files_list": [

{

"file_name": "922A4846.JPG",

"download_link": "<presigned URL for 922A4846.JPG>"

},

{

"file_name": "922A4832.JPG",

"download_link": "<presigned URL for 922A4832.JPG>"

},

{

"file_name": "922A4818.JPG",

"download_link": "<presigned URL for 922A4818.JPG>"

},

{

"file_name": "922A4809.JPG",

"download_link": "<presigned URL for 922A4809.JPG>"

}

]

}

}

 

4. Descarga las fotos JPEG finales localmente

Descarga las fotos del bucket S3 de Imagen en AWS con los enlaces de descarga temporales de la respuesta del paso anterior. Usa el método que prefieras. Para ver código de ejemplo en Python, consulta api_client.py en el proyecto API de Imagen en Github.

¿Fue útil este artículo?

¿Tiene más preguntas? Enviar una solicitud