/download/info/batch
API 端點允許您查詢批次下載任務的狀態與詳細資訊。
API 詳細資訊
端點
POST https://dlapi.abcproxy.com/download/info/batch
說明
此 API 用於擷取 YouTube 視頻批次下載任務的詳細資訊,包括每一筆下載的狀態,以及已完成項目的視頻中繼資料。
請求
HTTP 請求
curl -X POST "https://dlapi.abcproxy.com/download/info/batch" \
-H "Content-Type: application/json" \
-d '{
"batch_id": "aa3aba32-796f-4449-929e-3809d366f72c"
}'
import requests
payload = {
"batch_id": "aa3aba32-796f-4449-929e-3809d366f72c"
}
response = requests.post("https://dlapi.abcproxy.com/download/info/batch", json=payload)
print(response.json())
const axios = require('axios');
const payload = {
batch_id: "aa3aba32-796f-4449-929e-3809d366f72c"
};
axios.post("https://dlapi.abcproxy.com/download/info/batch", payload)
.then(response => console.log(response.data));
POST /download/info/batch HTTP/1.1
Host: https://dlapi.abcproxy.com
Content-Type: application/json
{
"batch_id": "aa3aba32-796f-4449-929e-3809d366f72c"
}
參數
請求主體(Request Body)
"aa3aba32-796f-4449-929e-3809d366f72c"
回應
成功 200
回應主體 - 完成範例
{
"code": 200,
"msg": "Success",
"data": {
"batch_id": "edcdce7d-9e17-4094-a25f-3c6a14f22a30",
"status": "completed",
"total_job_count": 2,
"completed_job_count": 2,
"failed_job_count": 0,
"job_list": [
{
"job_id": "1785515f-fb26-4a22-b656-e40da7856f49",
"video_id": "knGEaQk0slc",
"status": "completed",
"error": "",
"video_info": {
"url": "https://www.youtube.com/watch?v=knGEaQk0slc",
"video_id": "knGEaQk0slc",
"download_url": "http://s3-service.abcproxy.net/files/youtube/videos/knGEaQk0slc_17ce85bfe28ff7040ed5e168ee164e48.mp4",
"title": "ai video",
"duration": 721,
"resolution": "640x360"
}
},
{
"job_id": "ae21c52c-2f95-47b0-9a8c-a44739ee8754",
"video_id": "26ZDFX-t8jE",
"status": "completed",
"error": "",
"video_info": {
"url": "https://www.youtube.com/watch?v=26ZDFX-t8jE",
"video_id": "26ZDFX-t8jE",
"download_url": "http://s3-service.abcproxy.net/files/youtube/videos/26ZDFX-t8jE_a002bfbf16e9989fae3eec9321561972.mp4",
"title": "GPT-4o",
"duration": 595,
"resolution": "640x360"
}
}
]
}
}
回應主體 - 等待中範例
{
"code": 200,
"msg": "Success",
"data": {
"batch_id": "25ba9534-bb83-4496-ac5b-6bc94f83e963",
"status": "pending",
"total_job_count": 2,
"completed_job_count": 0,
"failed_job_count": 0,
"job_list": [
{
"job_id": "3283017f-c4bf-45e9-9f33-0021c1bd1cf3",
"status": "pending",
"error": "",
"video_info": null
},
{
"job_id": "dc773dd5-57d7-435b-8a5d-aff9d536adb3",
"status": "pending",
"error": "",
"video_info": null
}
]
}
}
回應主體 - 部分完成範例
{
"code": 200,
"msg": "Success",
"data": {
"batch_id": "7c2130b9-a43e-44d9-8548-39b99394f6e2",
"status": "partial",
"total_job_count": 2,
"completed_job_count": 1,
"failed_job_count": 1,
"job_list": [
{
"job_id": "8c7c1d1c-d82c-443f-b209-a098c8d2ec24",
"video_id": "fSs51c45515ddfm5Lk",
"status": "failed",
"error": "Download failed",
"video_info": {}
},
{
"job_id": "cc1be69b-b9f6-4cc6-bbbf-ce4950aa88ff",
"video_id": "ONZZvc_IqQg",
"status": "completed",
"error": "",
"video_info": {
"url": "https://www.youtube.com/watch?v=ONZZvc_IqQg",
"video_id": "ONZZvc_IqQg",
"download_url": "https://abcproxy.oss-us-west-1.aliyuncs.com/youtube/videos/ONZZvc_IqQg_eaae2b6c7321ab7e86ea2b426e5f8bc1.mp4",
"title": "Rust and Linux",
"duration": 729,
"resolution": "640x360"
}
}
]
}
}
回應主體 - 失敗範例
{
"code": 200,
"msg": "Success",
"data": {
"batch_id": "7c2130b9-a43e-44d9-8548-39b99394f6e2",
"status": "failed",
"total_job_count": 2,
"completed_job_count": 0,
"failed_job_count": 2,
"job_list": [
{
"job_id": "8c7c1d1c-d82c-443f-b209-a098c8d2ec24",
"video_id": "fSs51c45515ddfm5Lk",
"status": "failed",
"error": "Download failed",
"video_info": {}
},
{
"job_id": "cc1be69b-b9f6-4cc6-bbbf-ce4950aa88ff",
"video_id": "ONZZvc_IqQg",
"status": "failed",
"error": "Download failed",
"video_info": {}
}
]
}
}
回應欄位
批次總體狀態(pending、completed、partial、failed)
任務狀態(pending、completed、failed)
狀態值說明
錯誤回應
常見錯誤
錯誤回應範例
{
"code": 404,
"msg": "Batch not found",
"data": null
}
備註
回應中的 download_url
可能為以下其中之一:
若任務處於 pending 狀態,則 video_info
欄位將為空值(null)。
若任務失敗,error
欄位將包含詳細的失敗原因,可能包含來自 YouTube 的錯誤訊息。