Imagen API クイックスタート

  • 更新

クイックスタートで 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に対して開放されている必要があります。

リクエストで送信される可能性のあるステータス:

レスポンス例

{“project_uuid”: “<プロジェクトUUID>”, “status”: “Failed/Completed”, “action”: “edit/export”“}

 

7. 編集ステータスを確認

編集リクエストにコールバックURLを追加しなかった場合は、編集処理の最新ステータスを取得します。ステータスが完了になるまで、ロングポーリングでこのエンドポイントを呼び出し続けてください。

このエンドポイントのAPIリファレンスドキュメントはこちらです。

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

レスポンスのステータスは以下の通りです:

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.pyImagen API プロジェクト内)をご覧ください。

Adobe 編集ソフトウェアで編集内容をレビューします。PC の初期設定フォトビューアーで写真を開いても、編集は表示されません。詳しくは以下をご覧ください:

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プロジェクトにあります。

この記事は役に立ちましたか?

他にご質問がございましたら、リクエストを送信してください