Beberapa model dari Model Studio, seperti model untuk pembuatan citra dan video, memiliki waktu pemrosesan yang lama dan menggunakan mekanisme pemanggilan asinkron. Untuk menyelesaikan suatu operasi, Anda biasanya perlu memanggil dua API: pertama, membuat tugas untuk mendapatkan ID; kemudian, gunakan ID tersebut untuk menanyakan hasilnya. Untuk menyederhanakan manajemen tugas asinkron, Model Studio menyediakan serangkaian API umum yang memungkinkan Anda menanyakan hasil satu tugas, status beberapa tugas dalam batch, serta membatalkan tugas yang sedang antre tetapi belum diproses.
Prasyarat
Anda dapat memanggil API tugas asinkron melalui HTTP.
Sebelum memanggil API, peroleh dan konfigurasikan Kunci API, lalu konfigurasikan Kunci API sebagai variabel lingkungan.
Tanyakan hasil dari tugas asinkron
Deskripsi API: Memeriksa status dan hasil tugas berdasarkan task_id.
Batas Laju: 20 permintaan per detik (QPS). Setiap Akun Alibaba Cloud, termasuk Pengguna RAM-nya, dapat melakukan hingga 20 permintaan per detik.
Anda dapat menanyakan semua tugas yang dimiliki oleh Akun Alibaba Cloud dengan kunci API saat ini. Ini mencakup tugas yang dikirimkan menggunakan kunci API apa pun di bawah akun tersebut. Anda tidak dapat menanyakan tugas dari Akun Alibaba Cloud lainnya.
Tugas asinkron yang telah selesai biasanya disimpan selama 24 jam. Untuk periode retensi yang tepat, lihat referensi API untuk tugas tertentu. Setelah periode ini, sistem secara otomatis menghapus data tugas.
Titik akhir permintaan
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}Parameter permintaan
Pengoperan Parameter | Bidang | Tipe | Diperlukan | Deskripsi | Contoh |
Header | Authorization | String | Ya | Kunci API. Contoh: Bearer sk-xxx | Bearer sk-xxx |
Path | task_id | String | Ya | ID tugas yang akan ditanyakan. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
Parameter respons
Bidang | Tipe | Deskripsi | Contoh |
request_id | String | ID unik untuk permintaan ini. | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
output | Objek |
| - |
output.task_id | String | ID tugas yang ditanyakan. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
output.task_status | String | Status tugas.
| Status tugas:
|
output.submit_time | String | Waktu pengiriman tugas. | 2023-12-20 21:36:31.896 |
output.scheduled_time | String | Waktu penjadwalan tugas, yaitu ketika mulai berjalan. | 2023-12-20 21:36:39.009 |
output.end_time | String | Waktu berakhirnya tugas. | 2023-12-20 21:36:45.913 |
output.code | String | Kode kesalahan. Ini hanya dikembalikan ketika tugas gagal. | - |
output.message | String | Pesan kesalahan. Ini hanya dikembalikan ketika tugas gagal. | - |
output.task_metrics | Objek | Metrik tugas, yang mencakup statistik tentang status subtugas. |
|
usage | Objek | Informasi penagihan untuk permintaan ini. Informasi penagihan bervariasi tergantung pada tugas. |
|
Contoh permintaan
curl -X GET 'https://dashscope.aliyuncs.com/api/v1/tasks/73205176-xxxx-xxxx-xxxx-16bd5d902219' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"Jika Anda belum mengonfigurasi Kunci API Model Studio sebagai variabel lingkungan, ganti $DASHSCOPE_API_KEY dengan kunci API aktual Anda. Contohnya: --header "Authorization: Bearer sk-xxx".
Contoh respons
{
"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": "Data keluaran mungkin berisi konten yang tidak pantas.",
}
],
"task_metrics": {
"TOTAL": 4,
"SUCCEEDED": 3,
"FAILED": 1
}
},
"usage": {
"image_count": 3
}
}Tanyakan status beberapa tugas asinkron
Deskripsi API: Memungkinkan Anda menggunakan kombinasi kondisi untuk mengambil status saat ini dari beberapa tugas asinkron dalam satu permintaan. API ini dapat digunakan untuk memeriksa kemajuan eksekusi beberapa tugas sekaligus.
Batas Laju: 20 QPS. Setiap Akun Alibaba Cloud, termasuk Pengguna RAM-nya, dapat melakukan hingga 20 permintaan per detik.
Anda dapat menanyakan semua tugas yang dimiliki oleh Akun Alibaba Cloud dengan kunci API saat ini. Ini mencakup tugas yang dikirimkan menggunakan kunci API apa pun di bawah akun tersebut. Anda tidak dapat menanyakan tugas dari Akun Alibaba Cloud lainnya.
Setelah periode retensi tugas yang telah selesai berakhir, sistem secara otomatis menghapusnya. Anda tidak akan lagi dapat menanyakan datanya.
Titik akhir permintaan
GET https://dashscope.aliyuncs.com/api/v1/tasks/Parameter permintaan
Pengoperan parameter | Bidang | Tipe | Diperlukan | Deskripsi | Contoh |
Header | Authorization | String | Ya | Kunci API. Contoh: Bearer sk-xxx | Bearer sk-xxx |
Params | task_id | String | Tidak | ID tugas yang akan ditanyakan. Jika Anda menentukan task_id, API hanya mengembalikan status tugas tersebut. Untuk menanyakan beberapa tugas, jangan gunakan parameter ini. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
start_time | String | Tidak | Waktu mulai rentang kueri. Formatnya adalah
| 20230420193058 merepresentasikan 19:30:58 pada tanggal 20 April 2023. | |
end_time | String | Tidak | Waktu akhir rentang kueri. Formatnya adalah
| ||
model_name | String | Tidak | Nama model. | wanx-v1 | |
status | String | Tidak | Status tugas:
| ||
page_no | Integer | Tidak | Nomor halaman hasil yang akan dikembalikan. Default: 1. | - | |
page_size | Integer | Tidak | Jumlah entri yang akan dikembalikan di setiap halaman. Default: 10. | - |
Parameter respons
Bidang | Tipe | Deskripsi | Contoh |
request_id | String | ID unik untuk permintaan ini. | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
data | Array | Daftar hasil kueri. | |
data[].api_key_id | String | ID Kunci API. | |
data[].caller_parent_id | String | ID Akun Alibaba Cloud. | |
data[].caller_uid | String | ID Akun Alibaba Cloud. | |
data[].gmt_create | Long | Waktu pembuatan tugas, dalam milidetik sejak epoch. | |
data[].start_time | Long | Waktu mulai tugas, dalam milidetik sejak epoch. | |
data[].end_time | Long | Waktu berakhirnya tugas, dalam milidetik sejak epoch. | |
data[].region | String | Wilayah. Contoh: cn-hangzhou | |
data[].request_id | String | ID permintaan untuk pengiriman tugas. | |
data[].status | String | Status tugas:
| |
data[].task_id | String | ID Tugas. | |
data[].user_api_unique_key | String | Kunci unik untuk API, yang merupakan indeks unik yang dibuat dari parameter API model ketika tugas dikirimkan. | |
data[].model_name | String | Nama model. | |
page_no | Integer | Nomor halaman saat ini. |
|
page_size | Integer | Jumlah entri per halaman. |
|
total_page | Integer | Total jumlah halaman. |
|
total | Integer | Total jumlah entri. |
|
code | String | Kode kesalahan yang dikembalikan ketika pemanggilan gagal. |
|
message | String | Pesan kesalahan yang dikembalikan ketika pemanggilan gagal. |
|
Contoh permintaan
curl -X GET 'https://dashscope.aliyuncs.com/api/v1/tasks/?start_time=xxx&end_time=xxx&status=xxx' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"Contoh respons
{
"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
}Batalkan tugas asinkron
Deskripsi API: Membatalkan Tugas asinkron. Anda hanya dapat membatalkan tugas dengan status PENDING, yang menunjukkan bahwa tugas tersebut masih dalam antrean dan belum diproses. Tugas dengan status lain tidak dapat dibatalkan.
Batas Laju: 20 QPS. Setiap Akun Alibaba Cloud, termasuk Pengguna RAM-nya, dapat melakukan hingga 20 permintaan per detik.
Anda dapat membatalkan tugas apa pun yang dimiliki oleh Akun Alibaba Cloud dengan kunci API saat ini, termasuk tugas yang dikirimkan menggunakan kunci API apa pun di bawah akun tersebut. Namun, Anda tidak dapat membatalkan tugas yang dikirimkan oleh Akun Alibaba Cloud lainnya.
Titik akhir permintaan
POST https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}/cancelParameter permintaan
Pengoperan Parameter | Bidang | Tipe | Diperlukan | Deskripsi | Contoh |
Header | Authorization | String | Ya | Kunci API. Contoh: Bearer sk-xxx | Bearer sk-xxx |
Path | task_id | String | Ya | ID tugas yang akan dibatalkan. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
Parameter respons
Bidang | Tipe | Deskripsi | Contoh |
request_id | String | ID unik untuk permintaan ini. | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
code | String | Kode kesalahan yang dikembalikan ketika pemanggilan gagal. |
|
message | String | Pesan kesalahan yang dikembalikan ketika pemanggilan gagal. |
|
Contoh permintaan
curl -X POST 'https://dashscope.aliyuncs.com/api/v1/tasks/73205176-xxxx-xxxx-xxxx-16bd5d902219/cancel' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"Contoh respons
{
"request_id": "45ac7f13-xxxx-xxxx-xxxx-e03c35068d83"
}Kode kesalahan
Kode status HTTP | Kode kesalahan | Pesan kesalahan | Deskripsi |
400 | UnsupportedOperation | Gagal membatalkan tugas, harap konfirmasi apakah status tugas adalah PENDING. | Gagal membatalkan tugas. Pastikan status tugas adalah Hanya tugas dalam status PENDING yang dapat dibatalkan. Tugas dalam status lain tidak dapat dibatalkan. |