Gerenciar tarefas assíncronas
Rastreie e controle trabalhos assíncronos
Alguns modelos (como geração de imagens e vídeos) são executados de forma assíncrona: você cria uma tarefa, obtém um ID e consulta o resultado com esse ID. Use essas APIs para consultar resultados, verificar o status em lotes e cancelar tarefas na fila.
Pré-requisitos
Chame essas APIs por HTTP.
Obtenha uma chave de API, então defina-o como uma variável de ambiente.
Consulta o resultado de uma tarefa assíncrona
Descrição da API: consulte o status e o resultado de uma tarefa por task_id.
Limite de taxa: 20 QPS por QwenCloud conta.
-
Você pode consultar todas as tarefas sob o QwenCloud conta que possui a chave de API, incluindo tarefas de qualquer chave de API dessa conta. Você não pode consultar tarefas de outras contas.
-
Os dados da tarefa concluída são retidos por 24 horas por padrão (verifique a referência específica da API para saber a duração exata) antes da exclusão automática.
Ponto de extremidade da solicitação
GET https://maas.qwencloudapi.com/api/v1/tasks/{task_id}
Parâmetros de solicitação
| Passagem de parâmetros | Campo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| Cabeçalho | Autorização | Corda | Sim | A chave de API, no formato Bearer sk-ws-xxx. | Portador sk-ws-xxx |
| Caminho | tarefa_id | Corda | Sim | O ID da tarefa a ser consultada. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
Parâmetros de resposta
| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
| solicitação_id | Corda | O ID exclusivo desta solicitação. | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
| saída | Objeto | Contém o resultado em caso de sucesso ou o código de erro e a mensagem em caso de falha. Para solicitações de múltiplas subtarefas, pode incluir resultados e erros. | - |
| saída.tarefa_id | Corda | O ID da tarefa consultada. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
| saída.task_status | Corda | O status da tarefa. Um trabalho de múltiplas subtarefas será marcado como BEM SUCEDIDO se pelo menos uma subtarefa for bem-sucedida. As subtarefas com falha mostram seus erros na saída. | PENDENTE, EM EXECUÇÃO, BEM SUCEDIDO, FALHADO, DESCONHECIDO |
| saída.submit_time | Corda | A hora em que a tarefa foi enviada. | 20/12/2023 21:36:31.896 |
| saída.agendado_time | Corda | A hora em que a tarefa começou a ser executada. | 20/12/2023 21:36:39.009 |
| saída.end_time | Corda | A hora em que a tarefa terminou. | 20/12/2023 21:36:45.913 |
| código de saída | Corda | O código de erro. Retornado apenas em caso de falha. | - |
| saída.mensagem | Corda | A mensagem de erro. Retornado apenas em caso de falha. | - |
| saída.task_metrics | Objeto | Estatísticas de status da subtarefa. | { "TOTAL": 4, "SUCCEEDED": 3, "FAILED": 1 } |
| uso | Objeto | Informações de faturamento para esta solicitação. Varia de acordo com o tipo de tarefa. | "usage": {"image_count": 1} |
Exemplo de solicitação
curl -X GET 'https://maas.qwencloudapi.com/api/v1/tasks/73205176-xxxx-xxxx-xxxx-16bd5d902219' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Se você não definiu a chave de API como variável de ambiente, substitua $DASHSCOPE_API_KEY com sua chave real. Exemplo: --header "Authorization: Bearer sk-ws-xxx".
Exemplo de resposta
{
"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
}
}
Consulte o status de múltiplas tarefas assíncronas
Descrição da API: consulte o status de várias tarefas de uma só vez por intervalo de tempo, modelo ou status.
Limite de taxa: 20 QPS por QwenCloud conta.
-
Você pode consultar todas as tarefas sob o QwenCloud conta que possui a chave de API, incluindo tarefas de qualquer chave de API dessa conta. Você não pode consultar tarefas de outras contas.
-
Os dados da tarefa concluída são retidos por 24 horas por padrão (verifique a referência específica da API para saber a duração exata) antes da exclusão automática.
Ponto de extremidade da solicitação
GET https://maas.qwencloudapi.com/api/v1/tasks/
Parâmetros de solicitação
| Passagem de parâmetros | Campo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| Cabeçalho | Autorização | Corda | Sim | A chave de API, no formato Bearer sk-ws-xxx. | Portador sk-ws-xxx |
| Parâmetros | tarefa_id | Corda | Não | Um ID de tarefa específico. Se definido, somente essa tarefa será retornada. Omita a consulta de várias tarefas. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
| Parâmetros | início_hora | Corda | Não | Hora de início (formato: AAAAMMDDhhmmss). O padrão é 24 horas antes de end_time ou as últimas 24 horas se end_time também for omitido. O intervalo não pode exceder 24 horas. | 20230420193058 representa 19:30:58 em 20 de abril de 2023. |
| Parâmetros | fim_hora | Corda | Não | Hora de término (formato: AAAAMMDDhhmmss). O padrão é 24 horas após start_time. O intervalo não pode exceder 24 horas. | 20230420193058 representa 19:30:58 em 20 de abril de 2023. |
| Parâmetros | modelo_nome | Corda | Não | O nome do modelo. | wan2.6-t2v |
| Parâmetros | estado | Corda | Não | O status da tarefa: PENDENTE, EM EXECUÇÃO, BEM SUCEDIDO, FALHADO, CANCELADO, DESCONHECIDO | |
| Parâmetros | página_não | Inteiro | Não | O número da página. Padrão: 1. | - |
| Parâmetros | página_tamanho | Inteiro | Não | O número de entradas por página. Padrão: 10. | - |
Parâmetros de resposta
| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
| solicitação_id | Corda | O ID exclusivo desta solicitação. | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
| dados | Matriz | Uma lista de resultados da consulta. | Veja exemplo abaixo |
| dados[].api_key_id | Corda | O ID da chave de API. | Veja exemplo abaixo |
| dados[].caller_parent_id | Corda | O QwenCloud ID da conta. | Veja exemplo abaixo |
| dados[].caller_uid | Corda | O QwenCloud UID da conta. | Veja exemplo abaixo |
| dados[].gmt_create | Longo | O tempo de criação da tarefa em milissegundos desde a época. | Veja exemplo abaixo |
| dados[].start_time | Longo | A hora de início da tarefa em milissegundos desde a época. | Veja exemplo abaixo |
| dados[].end_time | Longo | O horário de término da tarefa em milissegundos desde a época. | Veja exemplo abaixo |
| dados[].região | Corda | A região. | Veja exemplo abaixo |
| dados[].solicitação_id | Corda | O ID da solicitação para o envio da tarefa. | Veja exemplo abaixo |
| dados[].status | Corda | O status da tarefa: PENDENTE, EM EXECUÇÃO, BEM SUCEDIDO, FALHADO, CANCELADO, DESCONHECIDO | Veja exemplo abaixo |
| dados[].tarefa_id | Corda | O ID da tarefa. | Veja exemplo abaixo |
| dados[].usuário_api_unique_key | Corda | Um índice exclusivo derivado dos parâmetros da API do modelo no momento do envio. | Veja exemplo abaixo |
| dados[].modelo_nome | Corda | O nome do modelo. | Veja exemplo abaixo |
| página_não | Inteiro | O número da página atual. | "page_no": 1 |
| página_tamanho | Inteiro | O número de entradas por página. | "page_size": 10 |
| total_página | Inteiro | O número total de páginas. | "total_page": 4 |
| total | Inteiro | O número total de entradas. | "total": 39 |
| código | Corda | O código de erro. Retornado apenas em caso de falha. | "code": "Throttling.RateQuota" |
| mensagem | Corda | A mensagem de erro. Retornado apenas em caso de falha. | "message": "Requests rate limit exceeded, please try again later." |
Exemplo de solicitação
curl -X GET 'https://maas.qwencloudapi.com/api/v1/tasks/?start_time=xxx&end_time=xxx&status=xxx' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Exemplo de resposta
{
"total": 2,
"data": [
{
"api_key_id": "15xxxx",
"caller_parent_id": "xxxxxxxxx",
"caller_uid": "xxxxxxxxx",
"gmt_create": 1745568428109,
"model_name": "wanx2.1-kf2v-plus",
"region": "ap-southeast-1",
"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": "ap-southeast-1",
"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
}
Cancelar uma tarefa assíncrona
Descrição da API: Cancele uma tarefa em PENDING estado. As tarefas em outros estados não podem ser canceladas.
Limite de taxa: 20 QPS por QwenCloud conta.
- Você pode cancelar qualquer tarefa sob o QwenCloud conta que possui a chave de API, incluindo tarefas de qualquer chave de API dessa conta. Você não pode cancelar tarefas de outras contas.
Ponto de extremidade da solicitação
POST https://maas.qwencloudapi.com/api/v1/tasks/{task_id}/cancel
Parâmetros de solicitação
| Passagem de parâmetros | Campo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| Cabeçalho | Autorização | Corda | Sim | A chave de API, no formato Bearer sk-ws-xxx. | Portador sk-ws-xxx |
| Caminho | tarefa_id | Corda | Sim | O ID da tarefa a ser cancelada. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
Parâmetros de resposta
| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
| solicitação_id | Corda | O ID exclusivo desta solicitação. | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
| código | Corda | O código de erro. Retornado apenas em caso de falha. | "code": "Throttling.RateQuota" |
| mensagem | Corda | A mensagem de erro. Retornado apenas em caso de falha. | "message": "Requests rate limit exceeded, please try again later." |
Exemplo de solicitação
curl -X POST 'https://maas.qwencloudapi.com/api/v1/tasks/73205176-xxxx-xxxx-xxxx-16bd5d902219/cancel' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Exemplo de resposta
{
"request_id": "45ac7f13-xxxx-xxxx-xxxx-e03c35068d83"
}
Códigos de erro
| Código de status HTTP | Código de erro | Mensagem de erro | Descrição |
|---|---|---|---|
| 400 | Operação não suportada | Falha ao cancelar a tarefa. Confirme se a tarefa está no status PENDENTE. | Falha no cancelamento da tarefa. Somente tarefas em PENDING estado pode ser cancelado. |