任务状态查询
检查语音克隆任务的当前状态。
请求信息
- 方法:
GET
- 端点:
/api/instant/task-status
请求参数
参数 | 类型 | 必需 | 描述 |
---|---|---|---|
task_id | string | 是 | 要检查的任务 ID |
api_key | string | 是 | 您的唯一 API 密钥 |
响应
成功响应 (200 OK)
{
"task_id": "1406bf34-735c-4b21-98ac-a135b2afb1c8",
"status": "processing",
"created_at": "2025-01-25 10:30:00",
"updated_at": "2025-01-25 10:32:15"
}
错误响应
- 400 Bad Request: 缺少必需参数(例如
api_key
)
任务状态说明
状态值 | 描述 |
---|---|
pending | 任务已提交,等待处理 |
processing | 任务正在处理中 |
completed | 任务已完成,可以获取结果 |
failed | 任务处理失败 |
示例请求
curl -X GET "https://aivoiceclonefree.com/api/instant/task-status?task_id=1406bf34-735c-4b21-98ac-a135b2afb1c8&api_key=your_api_key_here"
轮询建议
- 轮询间隔: 建议每30秒查询一次状态
- 超时处理: 如果任务超过10分钟仍未完成,请联系技术支持
- 状态变化:
pending
→processing
→completed
pending
→processing
→failed
使用示例
JavaScript 轮询示例
async function pollTaskStatus(taskId, apiKey) {
const maxAttempts = 20; // 最多查询20次
const interval = 30000; // 30秒间隔
for (let i = 0; i < maxAttempts; i++) {
try {
const response = await fetch(
`https://aivoiceclonefree.com/api/instant/task-status?task_id=${taskId}&api_key=${apiKey}`
);
const data = await response.json();
console.log(`状态检查 ${i + 1}: ${data.status}`);
if (data.status === 'completed') {
console.log('任务完成!');
return data;
} else if (data.status === 'failed') {
console.log('任务失败');
return data;
}
// 等待30秒后继续查询
await new Promise(resolve => setTimeout(resolve, interval));
} catch (error) {
console.error('查询状态时出错:', error);
}
}
console.log('查询超时');
return null;
}
Python 轮询示例
import requests
import time
def poll_task_status(task_id, api_key, max_attempts=20, interval=30):
for i in range(max_attempts):
try:
response = requests.get(
'https://aivoiceclonefree.com/api/instant/task-status',
params={
'task_id': task_id,
'api_key': api_key
}
)
data = response.json()
print(f"状态检查 {i + 1}: {data['status']}")
if data['status'] == 'completed':
print('任务完成!')
return data
elif data['status'] == 'failed':
print('任务失败')
return data
# 等待30秒后继续查询
time.sleep(interval)
except Exception as e:
print(f'查询状态时出错: {e}')
print('查询超时')
return None
下一步
当任务状态变为 completed
时,您可以:
- 使用 获取任务结果 下载音频文件
- 如果状态为
failed
,检查错误信息并重新提交任务
Last updated on