Démarrage rapide de l'API Imagen

  • Mise à jour

Utilise notre guide de démarrage rapide pour comprendre le fonctionnement de l'API Imagen et personnaliser ton flux.

Termine l'intégration

Tu dois t'inscrire sur Imagen, configurer ton environnement, choisir un Profil IA et effectuer quelques autres étapes avant d'utiliser ce guide de démarrage rapide. Consulte Intégration.

Si tu veux utiliser l'API Imagen avec peu de code, voici le SDK en Python.

1. Obtiens la liste des Profils IA disponibles

Récupère la liste des Profils IA et leurs clés. Voici la documentation de référence de l'API pour ce point de terminaison.

GET /v1/profiles/ 

Exemple de réponse

La réponse inclut les Profils IA disponibles. Chaque Profil IA possède une profile_key qui l'identifie. Tu as besoin de cette profile_key pour éditer les photos de ton projet.

{

"data": {

"profiles": [

{

"profile_key": <clé de profil du Profil IA Personnel>,

"profile_name": "mariage",

"profile_type": "Personnel",

"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. Triez vos photos sans l'API

Triez vos photos avant de les télécharger pour l'édition. Le tri ne fait pas partie de l'API Imagen.
 

3. Créez un projet et obtenez un ID de projet

On te recommande de créer un projet pour chaque shooting. Un projet organise tes photos avec le Profil IA que tu as choisi pour éditer ces photos. Voici la doc de référence de l'API pour ce endpoint.

POST /v1/projects/

Exemple de réponse

La réponse est le project_uuid utilisé pour identifier ce projet. Utilise ce project_uuid jusqu'à ce que tu exportes tes photos en JPEG.

{

"data": {

"project_uuid": "<project_uuid>"

}

}
 

4. Créer des liens de téléchargement temporaires pour uploader les photos

Tu as besoin d'un lien temporaire pour uploader chaque photo. Dans la requête, dans le paramètre files_list, inclus les noms de fichiers des photos à uploader. Utilise le format list. Voici la doc API de référence pour ce endpoint.

POST /v1/projects/<PROJECT_UUID>/get_temporary_upload_links

Exemple de requête

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”}

    ]

}'

 

Exemple de réponse

La réponse inclut un lien temporaire pour chaque photo vers le bucket S3 d'Imagen sur AWS. Ce lien est l'URL présignée 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. Télécharge chaque photo vers son lien de téléchargement temporaire

Télécharge les photos avec une PUT demande vers le bucket S3 d'Imagen sur AWS. Utilise les liens de téléchargement temporaires de la réponse de l'étape précédente.

Test dans Postman

  • Désactive Content-Type dans les en-têtes.
  • N'envoie pas Content-Type dans les paramètres de requête.

Exigences d'en-tête de requête dans le code

Ajoute Content-Type à l'en-tête avec une chaîne vide ("") comme valeur.
 

6. Édite les photos de ton projet

Avant d'envoyer tes photos à éditer, tu as besoin de :

  • La valeur de ton project_uuid
  • La valeur de ton profile_key. Voir la réponse de 1. Obtenir une liste des profils IA disponibles pour votre profile_key.
  • Outils IA. Voir Outils IA Imagen pour choisir les bons outils pour votre projet.
  • (Optionnel) URL de callback. Voir [Ajouter une URL de callback pour recevoir les messages de statut]

Voici la documentation de référence de l'API pour ce endpoint.

POST /v1/projects/{project_uuid}/edit

Exemple de requête

{

  "profile_key": <clé de profil>,

  "hdr_merge": true,

  "photography_type": "REAL_ESTATE",

  "callback_url": "string",

  "perspective_correction": true,

"sky_replacement": true,

"sky_replacement_template_id": “2”

}

Exemple de réponse

La réponse est un message confirmant que le projet a été modifié avec succès. En cas d'erreur, contactez par email notre équipe de support client.

{“project_uuid”: “<l'UUID du projet>”, “status”: “Failed/Completed/Pending”, “action”: “edit/export”“}

 

Ajouter une URL de callback pour recevoir les messages de statut

Le callback_url est un endpoint POST qu'Imagen peut utiliser pour vous envoyer des messages de statut. Ce paramètre est optionnel. Si vous l'utilisez, vous n'avez pas besoin de vérifier le statut d'édition. Cet endpoint doit être accessible à Imagen.

Les statuts possibles envoyés dans la demande sont :

Exemple de réponse

{“project_uuid”: “<l'UUID du projet>”, “status”: “Failed/Completed”, “action”: “edit/export”“}

 

7. Vérifier le statut de l'édition

Si tu n'as pas ajouté d'URL de callback à ta demande d'édition, obtiens le statut actuel du processus d'édition. Continue d'appeler ce endpoint avec un long polling jusqu'à ce que le statut soit Terminé.

Voici la documentation API de référence pour ce endpoint.

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

Voici les statuts dans la réponse :

8. Obtiens des liens de téléchargement temporaires pour télécharger les photos éditées ou les XMP

Après avoir reçu un statut Terminé, obtiens les liens de téléchargement temporaires pour télécharger les photos éditées.

Voici la documentation API de référence pour ce endpoint.

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

Exemple de réponse

La réponse inclut un lien temporaire pour chaque photo vers le bucket S3 d'Imagen sur AWS. Ce lien est l'URL présignée AWS.

{

"data": {

"files_list": [

{

"file_name": "922A4846.DNG",

"download_link": "<URL présignée pour 922A4846.DNG>"

},

{

"file_name": "922A4832.DNG",

"download_link": "<URL présignée pour 922A4832.DNG>"

},

{

"file_name": "922A4818.DNG",

"download_link": "<URL présignée pour 922A4818.DNG>"

},

{

"file_name": "922A4809.DNG",

"download_link": "<URL présignée pour 922A4809.DNG>"

}

]

}

}

 

9. Télécharge les photos éditées en local

Quand Imagen renvoie les fichiers édités, voici les formats respectifs :

Format de fichier avant édition Format de fichier renvoyé après édition
RAW

XMP

Remarque : Lors de l'édition de photos avec Fusion HDR, le format renvoyé est toujours DNG, même si le format du fichier avant édition était RAW.

RAW + DNG DNG avec XMP intégré
DNG DNG avec XMP intégré
JPEG JPEG avec XMP intégré


Téléchargez les photos depuis le bucket S3 d'Imagen sur AWS avec les liens de téléchargement temporaires de la réponse de l'étape précédente. Utilisez la méthode de votre choix. Pour un exemple de code en Python, consultez api_client.py dans le projet Imagen API sur Github.

Examinez les modifications dans le logiciel d'édition Adobe. Si vous ouvrez les photos avec la visionneuse par défaut de votre ordinateur, vous ne verrez pas les modifications. Pour obtenir de l'aide, consultez :

10. Facultatif : Exporter les JPEG finaux pour la livraison

L'API Imagen exporte toutes les photos d'un projet au format JPEG. Cette étape est facultative. Certains photographes ajustent les modifications et les exportent avec leur logiciel d'édition. Après avoir exporté les JPEG finaux, vous les livrez ou les téléchargez dans une galerie.

1. Exportez les photos du projet

POST /v1/projects/<PROJECT_UUID>/export 

Voici la documentation de référence de l'API pour ce endpoint.

La réponse inclut le project_uuid et un message confirmant que l'export a réussi. En cas d'erreur, contactez par email notre équipe customer success.

 

2. Vérifier le statut de l'export

Si vous n'avez pas ajouté d'URL de callback dans votre requête d'édition, récupérez le statut de l'export.

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

Voici la documentation de référence de l'API pour ce endpoint.

La réponse inclut le statut de l'export. Les statuts possibles sont :

  • En cours : l'API Imagen est en train d'éditer les photos.
  • Échec : Contactez par email l'équipe customer success.
  • Terminé : l'API Imagen a fini d'exporter les photos en JPEG.

3. Obtenir les liens de téléchargement temporaires pour télécharger les photos JPEG finales

Récupère les liens de téléchargement temporaires quand le statut d'export est retourné comme COMPLETED.

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

Dans la requête, inclus les photos exportées à télécharger dans le paramètre files_list. Utilise le format list.

Voici la documentation de référence de l'API pour ce endpoint.

Exemple de réponse

La réponse inclut un lien temporaire pour chaque photo vers le bucket S3 d'Imagen sur AWS. Ce lien est l'URL présignée 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. Télécharge les photos JPEG finales en local

Télécharge les photos depuis le bucket S3 d'Imagen sur AWS avec les liens de téléchargement temporaires de la réponse de l'étape précédente. Utilise la méthode de ton choix. Pour un exemple de code en Python, consulte api_client.py dans le projet API Imagen sur Github.

Cet article vous a-t-il été utile ?

Vous avez d’autres questions ? Envoyer une demande