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 :
- Failed : Contactez par email l'équipe de support client.
-
Completed : L'API Imagen a terminé l'édition des photos. Continuez avec l'une des options suivantes :
-
Obtenez des liens de téléchargement temporaires pour télécharger les photos éditées ou les XMP pour ajuster les éditions et exporter les photos avec votre logiciel d'édition.
OU - Exporter les photos pour la livraison pour créer des JPEG exportés pour les clients.
-
Obtenez des liens de téléchargement temporaires pour télécharger les photos éditées ou les XMP pour ajuster les éditions et exporter les photos avec votre logiciel d'édition.
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 :
- En attente : Le processus d'édition n'a pas commencé. Une fois que l'édition démarre, le statut changera en En cours.
- En cours : L'API Imagen est en train d'éditer les photos.
- Échoué : Envoie un e-mail à l'équipe customer success.
-
Terminé : L'API Imagen a fini d'éditer les photos. Continue avec l'une des options suivantes :
-
Obtiens des liens de téléchargement temporaires pour télécharger les photos éditées ou les XMP pour ajuster les éditions et exporter les photos avec ton logiciel d'édition.
OU - Exporte les photos pour la livraison pour créer des JPEG exportés pour les clients.
-
Obtiens des liens de téléchargement temporaires pour télécharger les photos éditées ou les XMP pour ajuster les éditions et exporter les photos avec ton logiciel d'édition.
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 :
- Lightroom Classic : Mes photos ne sont pas modifiées après le téléchargement des modifications
- Lightroom : Mes photos ne sont pas modifiées après le téléchargement des modifications
- Photoshop : Mes photos ne sont pas modifiées après le téléchargement des modifications
- Bridge : Mes photos ne sont pas modifiées après le téléchargement des modifications
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.