クイックスタートで Imagen API の仕組みを学び、フローをカスタマイズしましょう。
オンボーディングを完了する
このクイックスタートを使う前に、Imagen にサインアップし、環境をセットアップし、AI プロファイルを選択するなど、いくつかのステップが必要です。詳しくはオンボーディングをご覧ください。
コーディングをほとんど行わずに Imagen API を使いたい場合は、Python SDKをご利用ください。
1. 利用可能な AI プロファイルのリストを取得する
AI プロファイルとそのキーのリストを取得します。このエンドポイントのリファレンス API ドキュメント はこちらです。
GET /v1/profiles/
レスポンス例
レスポンスには利用可能な AI プロファイルが含まれます。各 AI プロファイルには、それを識別するprofile_keyがあります。プロジェクト内の写真を編集するには、このprofile_keyが必要です。
{
"data": {
"profiles": [
{
"profile_key": <個人用AIプロファイルのプロファイルキー>,
"profile_name": "結婚式",
"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. APIを使わずに写真を選別する
編集用にアップロードする前に写真を選別しましょう。セレクトはImagen APIには含まれていません。
3. プロジェクトを作成してプロジェクトIDを取得する
撮影ごとにプロジェクトを作成することをおすすめします。プロジェクトは、編集用に選んだAIプロファイルと写真をまとめて管理します。詳しくはAPIリファレンスドキュメントのエンドポイントです。
POST /v1/projects/
レスポンス例
レスポンスは、このプロジェクトを識別するためのproject_uuidです。写真をJPEGにエクスポートするまで、このproject_uuidを使用してください。
{
"data": {
"project_uuid": "<project_uuid>"
}
}
4. 写真をアップロードするための一時アップロードリンクを作成
各写真をアップロードするには一時リンクが必要です。リクエストのfiles_listパラメータに、アップロードする写真のファイル名を含めてください。list形式を使用します。このエンドポイントのAPIリファレンスドキュメントはこちらです。
POST /v1/projects/<PROJECT_UUID>/get_temporary_upload_links
リクエスト例
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”}
]
}'
レスポンス例
レスポンスには、各写真のAWS上のImagenのS3バケットへの一時リンクが含まれます。このリンクはAWS署名付きURLです。
{
"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. 各写真を一時アップロードリンクにアップロード
写真をPUT リクエスト でImagenのAWS S3バケットにアップロードします。前のステップのレスポンスから取得した一時アップロードリンクを使用してください。
Postmanでのテスト
- ヘッダーのContent-Typeを無効にします。
- クエリパラメータにContent-Typeを送信しないでください。
コード内のリクエストヘッダー要件
ヘッダーにContent-Typeを追加し、値として空文字列("")を設定します。
6. プロジェクト内の写真を編集
写真を編集に送信する前に、以下が必要です:
- あなたの project_uuid
- あなたのprofile_key。レスポンスは1. 利用可能なAIプロファイルのリストを取得を参照してprofile_keyを確認してください。
- AIツール。Imagen AIツールを参照して、プロジェクトに適したツールを選んでください。
- (オプション) コールバックURL。[ステータスメッセージを受け取るためのコールバックURLを追加]を参照してください
このエンドポイントのAPIリファレンスドキュメントはこちらです。
POST /v1/projects/{project_uuid}/edit
リクエスト例
{
"profile_key": <profile key>,
"hdr_merge": true,
"photography_type": "REAL_ESTATE",
"callback_url": "string",
"perspective_correction": true,
"sky_replacement": true,
"sky_replacement_template_id": “2”
}
レスポンス例
レスポンスは、プロジェクトが正常に編集されたことを示すメッセージです。エラーが発生した場合は、カスタマーサクセスチームにメールしてください。
{“project_uuid”: “<プロジェクトUUID>”, “status”: “Failed/Completed/Pending”, “action”: “edit/export”“}
コールバックURLを追加してステータスメッセージを受信
callback_urlは、Imagenがステータスメッセージを送信できるPOSTエンドポイントです。このパラメータはオプションです。使用する場合、編集ステータスを確認する必要はありません。このエンドポイントはImagenに対して開放されている必要があります。
リクエストで送信される可能性のあるステータス:
- Failed:カスタマーサクセスチームにメールしてください。
-
Completed:Imagen APIが写真の編集を完了しました。次のいずれかに進んでください:
-
編集済み写真またはXMPの一時ダウンロードリンクを取得して、編集を微調整し、編集ソフトウェアで写真をエクスポートします。
または - 納品用に写真をエクスポートして、顧客向けのエクスポート済みJPEGを作成します。
-
編集済み写真またはXMPの一時ダウンロードリンクを取得して、編集を微調整し、編集ソフトウェアで写真をエクスポートします。
レスポンス例
{“project_uuid”: “<プロジェクトUUID>”, “status”: “Failed/Completed”, “action”: “edit/export”“}
7. 編集ステータスを確認
編集リクエストにコールバックURLを追加しなかった場合は、編集処理の最新ステータスを取得します。ステータスが完了になるまで、ロングポーリングでこのエンドポイントを呼び出し続けてください。
このエンドポイントのAPIリファレンスドキュメントはこちらです。
GET /v1/projects/<PROJECT_UUID>/edit/status
レスポンスのステータスは以下の通りです:
- 保留中:編集処理がまだ開始されていません。編集が開始されると、ステータスは処理中に変わります。
- 処理中:Imagen APIが写真を編集中です。
- 失敗:メールでカスタマーサクセスチームにご連絡ください。
-
完了:Imagen APIが写真の編集を完了しました。次のいずれかに進んでください:
-
一時ダウンロードリンクを取得して、編集済み写真またはXMPをダウンロードして、編集ソフトウェアで編集を微調整し、写真をエクスポートします。
または - 配信用に写真をエクスポートして、お客様向けのエクスポート済みJPEGを作成します。
-
一時ダウンロードリンクを取得して、編集済み写真またはXMPをダウンロードして、編集ソフトウェアで編集を微調整し、写真をエクスポートします。
8. 一時ダウンロードリンクを取得して、編集済み写真またはXMPをダウンロード
ステータスが完了になったら、一時ダウンロードリンクを取得して編集済み写真をダウンロードします。
このエンドポイントのAPIリファレンスドキュメントはこちらです。
GET /v1/projects/<PROJECT_UUID>/edit/get_temporary_download_links
レスポンス例
レスポンスには、各写真のImagenのAWS S3バケットへの一時リンクが含まれます。このリンクはAWS署名付きURLです。
{
"data": {
"files_list": [
{
"file_name": "922A4846.DNG",
"download_link": "<presigned URL for 922A4846.DNG>"
},
{
"file_name": "922A4832.DNG",
"download_link": "<presigned URL for 922A4832.DNG>"
},
{
"file_name": "922A4818.DNG",
"download_link": "<presigned URL for 922A4818.DNG>"
},
{
"file_name": "922A4809.DNG",
"download_link": "<presigned URL for 922A4809.DNG>"
}
]
}
}
9. 編集済み写真をローカルにダウンロード
Imagenが編集済みファイルを返す際、それぞれ次の形式になります:
| 編集前のファイル形式 | 編集後に返されるファイル形式 |
| RAW |
XMP 注意:HDR マージで写真を編集する場合、編集前のファイル形式が RAW であっても、返されるフォーマットは常に DNG です。 |
| RAW + DNG | XMP 埋め込み DNG |
| DNG | XMP 埋め込み DNG |
| JPEG | XMP 埋め込み JPEG |
前のステップのレスポンスにある一時ダウンロードリンクを使って、AWS の Imagen S3 バケットから写真をダウンロードします。お好きな方法を使ってください。Python のサンプルコードは、Github のapi_client.py(Imagen API プロジェクト内)をご覧ください。
Adobe 編集ソフトウェアで編集内容をレビューします。PC の初期設定フォトビューアーで写真を開いても、編集は表示されません。詳しくは以下をご覧ください:
- ライトルーム Classic:編集をダウンロードしても写真が未編集のまま
- ライトルーム:編集をダウンロードしても写真が未編集のまま
- Photoshop:編集をダウンロードしても写真が未編集のまま
- Bridge:編集をダウンロードしても写真が未編集のまま
10. オプション:納品用の最終 JPEG をエクスポート
Imagen API はプロジェクト内のすべての写真を JPEG 形式でエクスポートします。このステップはオプションです。編集を微調整してから編集ソフトウェアでエクスポートするフォトグラファーもいます。最終 JPEG をエクスポートしたら、納品するかギャラリーにアップロードします。
1. プロジェクト内の写真をエクスポート
POST /v1/projects/<PROJECT_UUID>/export
このエンドポイントのAPIリファレンスドキュメントはこちらです。
レスポンスにはproject_uuidとエクスポートが成功したことを示すメッセージが含まれます。エラーが発生した場合は、カスタマーサクセスチームにメールしてください。
2. エクスポートステータスを確認
編集リクエストにコールバックURLを追加しなかった場合は、エクスポートステータスを取得します。
GET /v1/projects/<PROJECT_UUID>/export/status。
このエンドポイントのAPIリファレンスドキュメントはこちらです。
レスポンスにはエクスポートのステータスが含まれます。可能なステータスは以下の通りです:
- 処理中:Imagen APIが写真を編集中です。
- 失敗:カスタマーサクセスチームにメールしてください。
- 完了:Imagen APIが写真のJPEGへのエクスポートを完了しました。
3. 最終的なJPEG写真をダウンロードするための一時ダウンロードリンクを取得
エクスポートステータスがCOMPLETEDとして返されたら、一時ダウンロードリンクを取得します。
GET /v1/projects/<PROJECT_UUID>/export/get_temporary_download_links
リクエストには、ダウンロードするエクスポート済み写真をfiles_listパラメータに含めます。list形式を使用してください。
このエンドポイントのAPIリファレンスドキュメントはこちらです。
レスポンス例
レスポンスには、AWS上のImagenのS3バケットへの各写真の一時リンクが含まれます。このリンクはAWS署名付きURLです。
{
"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. 最終的なJPEG写真をローカルにダウンロード
前のステップのレスポンスから取得した一時ダウンロードリンクを使って、AWS上のImagenのS3バケットから写真をダウンロードします。お好きな方法を使ってください。Pythonのサンプルコードについては、GitHubの前のステップを参照してください。api_client.pyは、Imagen APIプロジェクトにあります。