Beberapa model Model Studio (seperti pembuatan gambar dan video) menggunakan pemanggilan asinkron karena waktu pemrosesan yang lama. Alur kerja umumnya mencakup pembuatan tugas untuk mendapatkan ID-nya, lalu mengkueri hasil menggunakan ID tersebut. Model Studio menyediakan API tugas tujuan umum untuk mengkueri hasil individual, memeriksa status beberapa tugas secara batch, dan membatalkan tugas yang sedang dalam antrian.
Prasyarat
Anda dapat memanggil API tugas asinkron melalui HTTP.
Sebelum memanggil API, dapatkan dan konfigurasikan kunci API, lalu tetapkan kunci API sebagai variabel lingkungan.
Kueri hasil tugas asinkron
Deskripsi API: Mengkueri status dan hasil tugas berdasarkan task_id-nya.
Batas laju: 20 QPS per Akun Alibaba Cloud (termasuk semua Pengguna RAM).
Penting
- Anda dapat mengkueri semua tugas di bawah Akun Alibaba Cloud yang memiliki kunci API saat ini, termasuk tugas yang dikirimkan dengan kunci API apa pun di bawah akun tersebut. Anda tidak dapat mengkueri tugas dari akun lain.
- Tugas yang telah selesai disimpan selama 24 jam (periksa referensi API tugas spesifik untuk periode pastinya). Setelah masa berlaku habis, sistem akan menghapus data tugas secara otomatis.
Titik akhir permintaan
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
Parameter permintaan
Cara pengiriman parameter | Bidang | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|---|
Header | Authorization | String | Ya | Kunci API dalam format | Bearer sk-xxx |
Path | task_id | String | Ya | ID tugas yang akan dikueri. | 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 | Object |
| - |
output.task_id | String | ID tugas yang dikueri. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
output.task_status | String | Status tugas.
| Status tugas:
|
output.submit_time | String | Waktu tugas diajukan. | 2023-12-20 21:36:31.896 |
output.scheduled_time | String | Waktu tugas dijadwalkan (saat mulai berjalan). | 2023-12-20 21:36:39.009 |
output.end_time | String | Waktu tugas berakhir. | 2023-12-20 21:36:45.913 |
output.code | String | Kode kesalahan (hanya dikembalikan jika tugas gagal). | - |
output.message | String | Pesan kesalahan (hanya dikembalikan jika tugas gagal). | - |
output.task_metrics | Object | Metrik tugas termasuk statistik status subtugas. |
|
usage | Object | Informasi penagihan untuk permintaan ini (berbeda-beda tergantung tugas). |
|
Contoh permintaan
curl -X GET 'https://dashscope.aliyuncs.com/api/v1/tasks/73205176-xxxx-xxxx-xxxx-16bd5d902219' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
CatatanJika $DASHSCOPE_API_KEY belum ditetapkan sebagai variabel lingkungan, ganti dengan kunci API aktual Anda (format: 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": "Output data may contain inappropriate content.",
}
],
"task_metrics": {
"TOTAL": 4,
"SUCCEEDED": 3,
"FAILED": 1
}
},
"usage": {
"image_count": 3
}
}
Kueri status beberapa tugas asinkron
Deskripsi API: Mengkueri beberapa tugas asinkron menggunakan berbagai kondisi. Periksa status beberapa tugas dalam satu permintaan.
Batas laju: 20 QPS per Akun Alibaba Cloud (termasuk semua Pengguna RAM).
Penting
- Anda dapat mengkueri semua tugas di bawah Akun Alibaba Cloud yang memiliki kunci API saat ini, termasuk tugas yang dikirimkan dengan kunci API apa pun di bawah akun tersebut. Anda tidak dapat mengkueri tugas dari akun lain.
- Setelah periode retensi berakhir, sistem menghapus tugas tersebut, dan datanya tidak dapat dikueri lagi.
Titik akhir permintaan
GET https://dashscope.aliyuncs.com/api/v1/tasks
Parameter permintaan
Cara pengiriman parameter | Bidang | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|---|
Header | Authorization | String | Ya | Kunci API, dalam format Bearer sk-xxx. | Bearer sk-xxx |
Params | task_id | String | Tidak | ID tugas yang akan dikueri. Tentukan task_id untuk hanya mengembalikan status tugas tersebut, atau kosongkan untuk mengkueri beberapa tugas. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
start_time | String | Tidak | Waktu mulai kueri dalam format | 20230420193058 merepresentasikan pukul 19:30:58 pada 20 April 2023. | |
end_time | String | Tidak | Waktu akhir kueri dalam format | ||
model_name | String | Tidak | Nama model. | wanx-v1 | |
status | String | Tidak | Status tugas:
| ||
page_no | Integer | Tidak | Nomor halaman hasil yang dikembalikan. Default: 1. | - | |
page_size | Integer | Tidak | Jumlah entri per 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 (milidetik sejak epoch). | |
data[].start_time | Long | Waktu tugas dimulai, dalam milidetik sejak epoch. | |
data[].end_time | Long | Waktu tugas berakhir, 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 API unik yang dihasilkan dari parameter API model saat tugas diajukan. | |
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
}
Membatalkan tugas asinkron
Deskripsi API: Membatalkan tugas asinkron. Hanya tugas dalam status PENDING (dalam antrian, belum dimulai) yang dapat dibatalkan.
Batas laju: 20 QPS per Akun Alibaba Cloud (termasuk semua Pengguna RAM).
Penting
- Anda dapat membatalkan tugas apa pun di bawah Akun Alibaba Cloud yang memiliki kunci API saat ini, termasuk tugas yang dikirimkan dengan kunci API apa pun di bawah akun tersebut. Anda tidak dapat membatalkan tugas dari akun lain.
Titik akhir permintaan
POST https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}/cancel
Parameter permintaan
Cara pengiriman parameter | Bidang | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|---|
Header | Authorization | String | Ya | Kunci API, dalam format Bearer sk-xxx. | Bearer sk-xxx |
Path | task_id | String | Ya | ID tugas yang akan dibatalkan. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
Parameter respons
Permintaan pembatalan yang berhasil mengembalikan ID permintaan sebagai string JSON biasa di badan respons. Tidak ada bidang objek JSON dalam respons sukses.
Untuk respons kesalahan, bidang berikut dikembalikan:
Bidang | Tipe | Deskripsi | Contoh |
|---|---|---|---|
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
"45ac7f13-xxxx-xxxx-xxxx-e03c35068d83"
Kode kesalahan
Kode status HTTP | Kode kesalahan | Pesan kesalahan | Deskripsi |
|---|---|---|---|
400 | UnsupportedOperation | Failed to cancel the task. Confirm that the task is in PENDING status. | Pembatalan tugas gagal. Hanya tugas dalam status |