メインコンテンツへスキップ
Luma Tasks API の主な機能は、Luma Videos Generation API によって生成されたタスクIDを入力することで、そのタスクの実行状況を照会することです。 この文書では、Luma Tasks API の接続説明を詳しく紹介し、簡単に統合し、この API の強力な機能を十分に活用できるようにします。Luma Tasks API を使用することで、Luma Videos Generation API のタスク実行状況を簡単に照会できます。

申請プロセス

Luma Tasks API を使用するには、まず申請ページ Luma Videos Generation API にアクセスして、該当するサービスを申請し、その後 Luma Videos Generation API のタスクIDをコピーします。以下の図のように: 最後に、Tasks API ページ Luma Tasks API にアクセスして、該当するサービスを申請します。ページに入ったら、「Acquire」ボタンをクリックします。以下の図のように: 申請ページ まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。ログインまたは登録後、現在のページに自動的に戻ります。 初回申請時には無料のクレジットが付与され、この API を無料で使用できます。

リクエスト例

Luma Tasks API は、Luma Videos Generation API の結果を照会するために使用できます。Luma Videos Generation API の使用方法については、文書 Luma Videos Generation API を参照してください。 Luma Videos Generation API サービスから返されたタスクIDを例に、どのようにこの API を使用するかを示します。仮にタスクIDが:50fc6182-fa86-4c7d-ac12-2fa27ec2f151 だとします。次に、タスクIDを渡してどのように実行するかを示します。

タスク例の画像

リクエストヘッダーとリクエストボディの設定

Request Headers には以下が含まれます:
  • accept:JSON形式のレスポンス結果を受け取ることを指定します。ここには application/json と記入します。
  • authorization:APIを呼び出すためのキーで、申請後に直接ドロップダウンから選択できます。
Request Body には以下が含まれます:
  • id:アップロードされたタスクID。
  • action:タスクの操作方法。
設定は以下の図のようになります:

コード例

ページの右側には、さまざまな言語のコードが自動生成されていることがわかります。以下の図のように:

一部のコード例は以下の通りです:

CURL

curl -X POST 'https://api.acedata.cloud/luma/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
  "action": "retrieve"
}'

Python

import requests

url = "https://api.acedata.cloud/luma/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

レスポンス例

リクエストが成功すると、API はこのビデオタスクの詳細情報を返します。例えば:
{
  "_id": "66d297a3550a4144a5a5db42",
  "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
  "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
  "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
  "created_at": 1725077411.961,
  "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
  "request": {
    "action": "generate",
    "prompt": "Astronauts shuttle from space to volcano"
  },
  "trace_id": "0b7c1c1a-045c-4145-a434-609cba88f0a9",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
    "video_id": "4b088fc8-2bbc-4706-80a6-a0fb118adc1a",
    "prompt": "Astronauts shuttle from space to volcano",
    "video_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
    "video_height": 752,
    "video_width": 1360,
    "state": "completed",
    "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
    "thumbnail_width": 1360,
    "thumbnail_height": 752
  },
  "finished_at": 1725077566.241
}
返された結果には複数のフィールドがあり、request フィールドはタスクを開始したときの request body であり、response フィールドはタスク完了後に返される response body です。その結果は Luma Videos Generation API のリクエストとレスポンスと一致します。フィールドの説明は以下の通りです。
  • id:このビデオタスクを生成するための ID で、今回のビデオ生成タスクを一意に識別します。
  • video_id:ここで照会されたビデオタスクの中のビデオの一意の識別子で、次回ビデオに対して拡張操作を行う際にこのパラメータを渡す必要があります。
  • request:ビデオタスクの中のリクエスト情報を照会します。
  • response:ビデオタスクの中の返却情報を照会します。

バッチ照会操作

これは複数のタスクIDに対してビデオタスクの詳細を照会するもので、上記とは異なり、action を retrieve_batch に設定する必要があります。 Request Body には以下が含まれます:
  • ids:アップロードされたタスクIDの配列。
  • action:タスクの操作方法。
設定は以下の図のようになります:

コード例

ページの右側には、さまざまな言語のコードが自動生成されていることがわかります。以下の図のように:

一部のコード例は以下の通りです:

レスポンス例

リクエストが成功すると、API は今回のすべてのバッチビデオタスクの具体的な詳細情報を返します。例えば:
{
  "items": [
    {
      "_id": "66d297a3550a4144a5a5db42",
      "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
      "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
      "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
      "created_at": 1725077411.961,
      "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
      "request": {
        "action": "generate",
        "prompt": "宇宙から火山へ移動する宇宙飛行士"
      },
      "trace_id": "0b7c1c1a-045c-4145-a434-609cba88f0a9",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
        "video_id": "4b088fc8-2bbc-4706-80a6-a0fb118adc1a",
        "prompt": "宇宙から火山へ移動する宇宙飛行士",
        "video_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "completed",
        "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725077566.241
    },
    {
      "_id": "66d29ed3550a4144a5a6c089",
      "id": "76a05f61-68ad-4c1a-838f-a00cd08cf65b",
      "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
      "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
      "created_at": 1725079250.921,
      "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
      "request": {
        "action": "generate",
        "prompt": "ラララ"
      },
      "trace_id": "338f1616-741d-40b6-8d62-c025434024c6",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "76a05f61-68ad-4c1a-838f-a00cd08cf65b",
        "video_id": "5a638d6a-7481-4c5e-8843-36c9d1b5bcd5",
        "prompt": "ラララ",
        "video_url": "https://platform.cdn.acedata.cloud/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "completed",
        "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725079406.71
    }
  ],
  "count": 2
}

CURL

curl -X POST 'https://api.acedata.cloud/luma/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["50fc6182-fa86-4c7d-ac12-2fa27ec2f151","76a05f61-68ad-4c1a-838f-a00cd08cf65b"],
  "action": "retrieve_batch"
}'

Python

import requests

url = "https://api.acedata.cloud/luma/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "ids": ["50fc6182-fa86-4c7d-ac12-2fa27ec2f151","76a05f61-68ad-4c1a-838f-a00cd08cf65b"],
    "action": "retrieve_batch"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

エラー処理

APIを呼び出す際にエラーが発生した場合、APIは対応するエラーコードと情報を返します。例えば:
  • 400 token_mismatched:不正なリクエスト、パラメータが不足しているか無効である可能性があります。
  • 400 api_not_implemented:不正なリクエスト、パラメータが不足しているか無効である可能性があります。
  • 401 invalid_token:認証されていない、無効または不足している認証トークン。
  • 429 too_many_requests:リクエストが多すぎます、レート制限を超えています。
  • 500 api_error:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

エラー応答の例

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "取得に失敗しました"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

結論

本ドキュメントを通じて、Luma Tasks APIを使用して単一またはバッチのビデオタスクのすべての具体的な詳細情報を取得する方法を理解しました。このドキュメントがAPIの接続と使用に役立つことを願っています。ご不明な点がございましたら、いつでも技術サポートチームにお問い合わせください。