画像をダウンロード
このドキュメントでは、SDKを使わずに生成された結果画像をダウンロードする方法を紹介します。
タスクオブジェクト
タスクオブジェクトはこのような構造です。
{ "id": "1749902216266450789", "userId": "1541182147551506853", "parameters": { ... }, "outputs": { "duration": 1.26, "detailParameters": { // ... }, "mediaId": "459602685899547043", "extra": { ... } }, "status": "completed", "startedAt": "2024-05-22T06:16:57.124Z", "endAt": "2024-05-22T06:16:59.422Z", "createdAt": "2024-05-22T06:16:56.946Z", "updatedAt": "2024-05-22T06:16:56.946Z",}
タスクのステータスが完了になると、task.outputs
にその結果が返される。outputs
オブジェクトに mediaId
フィールドがあることにお気づきでしょうか。この mediaId
は生成された画像の ID である。batch生成する場合、そのIDは outputs.batch[].mediaId
となる。
{ "id": "1749903535747486198", "userId": "1541182147551506853", "parameters": { ... }, "outputs": { "duration": 4.83, "detailParameters": { ... }, "mediaId": "459604021635814417", "batch": [ { "seed": 3283868009760115, "mediaId": "459604023097100648", "extra": { ... } }, ... ] }, "status": "completed", "startedAt": "2024-05-22T06:22:12.240Z", "endAt": "2024-05-22T06:22:18.229Z", "createdAt": "2024-05-22T06:22:11.557Z", "updatedAt": "2024-05-22T06:22:11.557Z"}
画像ダウンロードurl
mediaIdを取得した後、APIを使用して特定の画像ダウンロードurlを取得する必要があります。
単に画像をダウンロードしたい場合は、以下のエンドポイントを使用してダウンロードurlを取得できます。こうすれば実際の画像のURLにリダイレクトされます。
GET https://api.pixai.art/v1/media/:mediaId/image
画像URLやサムネイルURLなどの詳細な画像情報が必要な場合は、Query.media
クエリにアクセスして、mediaId
をパラメーターとして指定しましょう。
query getMediaById($id: String!) { media(id: $id) { urls { variant url } }}
または、mediaId
をパラメータとして以下のRESTful APIを使いましょう。
GET https://api.pixai.art/v1/media/:mediaId
結果が出たら、Media.urls
フィールドにアクセスしてダウンロード用のurlを取得してください。
Media.urls
オブジェクトの variant
フィールドは画像のタイプである。また、url
フィールドは画像のダウンロードリンクである。
当社は画像の複数のバリエーションを同時に提供します。生成後にオリジナルの画像にアクセスしたい場合は、通常 variant
が PUBLIC
である URL を選択する必要があります。
{ "data": { "media": { "urls": [ { "variant": "PUBLIC", "url": "..." }, { "variant": "THUMBNAIL", "url": "..." }, { "variant": "STILL_THUMBNAIL", "url": "..." } ] } }}
GraphQLバッチクエリを使用して、複数の画像を一度に取得することができます。 以下のようなGraphQLクエリです。
query { media(id: "459604023097100648") { urls { variant url } } media(id: "459604023097100649") { urls { variant url } } media(id: "459604023097100650") { urls { variant url } }}