Model Studio の一部のモデル (画像生成や動画生成など) は、処理時間が長いため非同期呼び出しを使用します。一般的なワークフローは次のとおりです。タスクを作成して ID を取得し、その ID を使用して結果をクエリします。Model Studio は、個別の結果をクエリしたり、複数のタスクのステータスをバッチで確認したり、キュー内のタスクをキャンセルしたりするための汎用タスク API を提供します。
前提条件
非同期タスク API は HTTP 経由で呼び出すことができます。
API を呼び出す前に、API キーを取得して設定し、次に API キーを環境変数として設定する必要があります。
非同期タスク結果のクエリ
API の説明:task_id に基づいて、タスクのステータスと結果をクエリします。
レート制限:Alibaba Cloud アカウントあたり 20 QPS (すべての RAM ユーザーを含む)。
重要
- 現在の API キーを所有する Alibaba Cloud アカウント配下のすべてのタスクをクエリできます。これには、そのアカウント配下の任意の API キーで送信されたタスクが含まれます。他のアカウントのタスクはクエリできません。
- 完了したタスクは 24 時間保持されます(正確な期間については、特定のタスク API リファレンスをご確認ください)。有効期限が切れると、システムは自動的にタスクデータを削除します。
リクエストエンドポイント
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
リクエストパラメーター
パラメーター渡し | フィールド | タイプ | 必須 | 説明 | 例 |
|---|---|---|---|---|---|
ヘッダー | Authorization | 文字列 | はい |
| Bearer sk-xxx |
パス | task_id | 文字列 | はい | クエリするタスク ID。 | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
レスポンスパラメーター
フィールド | タイプ | 説明 | 例 |
|---|---|---|---|
request_id | 文字列 | このリクエストの一意の ID。 | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
output | オブジェクト |
| - |
output.task_id | 文字列 | クエリされたタスク ID。 | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
output.task_status | 文字列 | タスクステータス。
| タスクステータス:
|
output.submit_time | 文字列 | タスクが送信された時刻。 | 2023-12-20 21:36:31.896 |
output.scheduled_time | 文字列 | タスクがスケジュールされた時刻(実行が開始された時刻)。 | 2023-12-20 21:36:39.009 |
output.end_time | 文字列 | タスクが終了した時刻。 | 2023-12-20 21:36:45.913 |
output.code | 文字列 | エラーコード(タスクが失敗した場合のみ返されます)。 | - |
output.message | 文字列 | エラーメッセージ(タスクが失敗した場合のみ返されます)。 | - |
output.task_metrics | オブジェクト | サブタスクステータスの統計を含むタスクメトリクス。 |
|
usage | オブジェクト | このリクエストの請求情報 (タスクによって異なります)。 |
|
リクエスト例
curl -X GET 'https://dashscope.aliyuncs.com/api/v1/tasks/73205176-xxxx-xxxx-xxxx-16bd5d902219' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
注記$DASHSCOPE_API_KEY が環境変数として設定されていない場合は、実際の API キー(フォーマット:Bearer sk-xxx)に置き換えてください。
レスポンス例
{
"request_id": "45ac7f13-xxxx-xxxx-xxxx-e03c35068d83",
"output": {
"task_id": "73205176-xxxx-xxxx-xxxx-16bd5d902219",
"task_status": "SUCCEEDED",
"submit_time": "2023-12-20 21:36:31.896",
"scheduled_time": "2023-12-20 21:36:39.009",
"end_time": "2023-12-20 21:36:45.913",
"results": [
{
"url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx1.png"
},
{
"url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx2.png"
},
{
"url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx3.png"
},
{
"code": "DataInspectionFailed",
"message": "Output data may contain inappropriate content.",
}
],
"task_metrics": {
"TOTAL": 4,
"SUCCEEDED": 3,
"FAILED": 1
}
},
"usage": {
"image_count": 3
}
}
複数の非同期タスクステータスのクエリ
API の説明:さまざまな条件を使用して複数の非同期タスクをクエリします。1 回のリクエストで複数のタスクステータスを確認します。
レート制限:Alibaba Cloud アカウントあたり 20 QPS (すべての RAM ユーザーを含む)。
重要
- 現在の API キーが属する Alibaba Cloud アカウント配下のすべてのタスク (そのアカウント配下のいずれかの API キーで送信されたタスクを含む) をクエリできます。他のアカウントのタスクはクエリできません。
- 保持期間が終了すると、システムはタスクを削除し、そのデータはクエリできなくなります。
リクエストエンドポイント
GET https://dashscope.aliyuncs.com/api/v1/tasks
リクエストパラメーター
パラメーターの場所 | フィールド | タイプ | 必須 | 説明 | 例 |
|---|---|---|---|---|---|
ヘッダー | Authorization | 文字列 | はい |
| Bearer sk-xxx |
パラメーター | task_id | 文字列 | いいえ | クエリ対象のタスク ID。 | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
start_time | 文字列 | いいえ | クエリの開始時刻。フォーマットは | 20230420193058 は 2023 年 4 月 20 日 19:30:58 を表します。 | |
end_time | 文字列 | いいえ | クエリの終了時刻。フォーマットは | ||
model_name | 文字列 | いいえ | モデル名。 | wanx-v1 | |
status | 文字列 | いいえ | タスクステータス:
| ||
page_no | 整数 | いいえ | 返される結果のページ番号。デフォルト値は 1 です。 | - | |
page_size | 整数 | いいえ | 1 ページあたりの件数。デフォルト値は 10 です。 | - |
レスポンスパラメーター
| フィールド | タイプ | 説明 | 例 |
|---|---|---|---|
request_id | 文字列 | このリクエストの一意な ID です。 | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
data | 配列 | クエリ結果のリストです。 | |
data[].api_key_id | 文字列 | API キー ID です。 | |
data[].caller_parent_id | 文字列 | Alibaba Cloud アカウント ID です。 | |
data[].caller_uid | 文字列 | Alibaba Cloud アカウント ID です。 | |
data[].gmt_create | 長整数 | タスクの作成時刻 (Unix エポックからのミリ秒単位) です。 | |
data[].start_time | 長整数 | タスクの開始時刻 (Unix エポックからのミリ秒単位) です。 | |
data[].end_time | 長整数 | タスクの終了時刻 (Unix エポックからのミリ秒単位) です。 | |
data[].region | 文字列 | リージョンです。例: cn-hangzhou | |
data[].request_id | 文字列 | タスク送信時のリクエスト ID です。 | |
data[].status | 文字列 | タスクステータス:
| |
data[].task_id | 文字列 | タスク ID です。 | |
data[].user_api_unique_key | 文字列 | タスク送信時に、モデルの API パラメーターから生成された一意な API キーです。 | |
data[].model_name | 文字列 | モデル名です。 | |
page_no | 整数 | 現在のページ番号です。 |
|
page_size | 整数 | 1 ページあたりの件数です。 |
|
total_page | 整数 | 総ページ数です。 |
|
total | 整数 | 総件数です。 |
|
code | 文字列 | API 呼び出しが失敗した場合に返されるエラーコードです。 |
|
message | 文字列 | API 呼び出しが失敗した場合に返されるエラーメッセージです。 |
|
リクエスト例
curl -X GET 'https://dashscope.aliyuncs.com/api/v1/tasks/?start_time=xxx&end_time=xxx&status=xxx' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
レスポンス例
{
"total": 2,
"data": [
{
"api_key_id": "15xxxx",
"caller_parent_id": "xxxxxxxxx",
"caller_uid": "xxxxxxxxx",
"gmt_create": 1745568428109,
"model_name": "wanx2.1-kf2v-plus",
"region": "cn-beijing",
"request_id": "1abfc3c8-dd25-98da-ad0b-xxxxxx",
"start_time": 1745568428138,
"status": "RUNNING",
"task_id": "50e2ccea-abc4-43d7-a0dc-xxxxxx",
"user_api_unique_key": "apikey:v1:aigc:image2video:video-synthesis:wanx2.1-kf2v-plus"
},
{
"api_key_id": "15xxxx",
"caller_parent_id": "xxxxxxxxx",
"caller_uid": "xxxxxxxxx",
"end_time": 1745568302481,
"gmt_create": 1745568293253,
"model_name": "wanx2.1-t2i-turbo",
"region": "cn-beijing",
"request_id": "f6bf34d9-bf87-9e8b-9ed4-xxxxxx",
"start_time": 1745568293273,
"status": "SUCCEEDED",
"task_id": "3c777dbc-8cc6-4d80-aa90-xxxxxx",
"user_api_unique_key": "apikey:v1:aigc:text2image:image-synthesis:wanx2.1-t2i-turbo"
}
],
"total_page": 1,
"page_no": 1,
"request_id": "f6756b7e-d0bb-9b74-813a-xxxxxx",
"page_size": 10
}
非同期タスクのキャンセル
API の説明:非同期タスクをキャンセルします。PENDING 状態 (キューに入れられた、まだ開始されていない) のタスクのみキャンセルできます。
レート制限:Alibaba Cloud アカウントあたり 20 QPS (すべての RAM ユーザーを含む)。
重要
- 現在の API キーが属する Alibaba Cloud アカウント配下の任意のタスクをキャンセルできます。これには、そのアカウント配下の任意の API キーで送信されたタスクが含まれます。他のアカウントのタスクはキャンセルできません。
リクエストエンドポイント
POST https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}/cancel
リクエストパラメーター
パラメーター渡し | フィールド | タイプ | 必須 | 説明 | 例 |
|---|---|---|---|---|---|
ヘッダー | Authorization | 文字列 | はい | API キーを Bearer sk-xxx 形式で指定します。 | Bearer sk-xxx |
パス | task_id | 文字列 | はい | キャンセルするタスクの ID。 | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
レスポンスパラメーター
キャンセルリクエストが成功した場合、レスポンスボディにリクエスト ID が JSON 文字列として返されます。成功レスポンスには JSON オブジェクトのフィールドはありません。
エラーレスポンスの場合、次のフィールドが返されます。
フィールド | タイプ | 説明 | 例 |
|---|---|---|---|
code | 文字列 | 呼び出しが失敗した場合に返されるエラーコード。 |
|
message | 文字列 | 呼び出しが失敗した場合に返されるエラーメッセージ。 |
|
リクエストの例
curl -X POST 'https://dashscope.aliyuncs.com/api/v1/tasks/73205176-xxxx-xxxx-xxxx-16bd5d902219/cancel' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
レスポンスの例
"45ac7f13-xxxx-xxxx-xxxx-e03c35068d83"
エラーコード
HTTP ステータスコード | エラーコード | エラーメッセージ | 説明 |
|---|---|---|---|
400 | UnsupportedOperation | Failed to cancel the task. Confirm that the task is in PENDING status. | タスクのキャンセルに失敗しました。キャンセルできるのは、 |