> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Integração e Uso da API Kling Tasks

> Kling video generation 集成指南 - XHuoAPI

A principal função da API Kling Tasks é consultar o status de execução de uma tarefa através do ID da tarefa gerado pela API Kling Videos Generation.

Este documento irá detalhar as instruções de integração da API Kling Tasks, ajudando você a integrar facilmente e aproveitar ao máximo o poderoso recurso dessa API. Com a API Kling Tasks, você pode consultar facilmente o status de execução das tarefas da API Kling Videos Generation.

## Processo de Solicitação

Para usar a API Kling Tasks, você precisa primeiro ir à página de solicitação [Kling Videos Generation API](https://api.xhuoapi.ai/documents/3b921a16-a411-4557-8335-53f21d3f9e46) para solicitar o serviço correspondente e, em seguida, copiar o ID da tarefa da API Kling Videos Generation, como mostrado na imagem:

<p>
  <img src="https://cdn.xhuoapi.ai/om6p6g.png" width="500" className="m-auto" />
</p>

Por fim, acesse a página da API Tasks [Kling Tasks API](https://api.xhuoapi.ai/documents/6b43ff7b-8298-49c8-a390-83df85c2c5e5) para solicitar o serviço correspondente. Após entrar na página, clique no botão "Acquire", como mostrado na imagem:

![Página de Solicitação](https://cdn.xhuoapi.ai/rci31i.png)

Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a [página de login](https://api.xhuoapi.ai) que o convidará a se registrar e fazer login. Após o login ou registro, você será redirecionado automaticamente de volta para a página atual.

Na primeira solicitação, haverá um crédito gratuito disponível, permitindo que você use a API gratuitamente.

## Exemplo de Solicitação

A API Kling Tasks pode ser usada para consultar os resultados da API Kling Videos Generation. Para saber como usar a API Kling Videos Generation, consulte o documento [Kling Videos Generation API](https://api.xhuoapi.ai/documents/3b921a16-a411-4557-8335-53f21d3f9e46).

Usaremos um exemplo de ID de tarefa retornado pelo serviço da API Kling Videos Generation. Suponha que temos um ID de tarefa: 20068983-0cc9-4c6a-aeb6-9c6a3c668be0, a seguir, demonstraremos como passar um ID de tarefa.

### Exemplo de Tarefa

<p>
  <img src="https://cdn.xhuoapi.ai/om6p6g.png" width="500" className="m-auto" />
</p>

### Configurando Cabeçalhos e Corpo da Solicitação

**Request Headers** incluem:

* `accept`: especifica que a resposta deve estar no formato JSON, preenchido como `application/json`.
* `authorization`: chave para chamar a API, que pode ser selecionada diretamente após a solicitação.

**Request Body** inclui:

* `id`: ID da tarefa enviada.
* `action`: modo de operação da tarefa.

Configuração conforme mostrado na imagem abaixo:

<p>
  <img src="https://cdn.xhuoapi.ai/xztiqi.png" width="500" className="m-auto" />
</p>

### Exemplo de Código

Pode-se notar que, no lado direito da página, já foram gerados automaticamente códigos em várias linguagens, como mostrado na imagem:

<p>
  <img src="https://cdn.xhuoapi.ai/bsqh3i.png" width="500" className="m-auto" />
</p>

Alguns exemplos de código são os seguintes:

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/kling/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0",
  "action": "retrieve"
}'
```

#### Python

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/kling/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

### Exemplo de Resposta

Após uma solicitação bem-sucedida, a API retornará as informações detalhadas da tarefa de vídeo aqui. Por exemplo:

```json theme={null}
{
  "_id": "67c5163f550a4144a5b68698",
  "id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0",
  "api_id": "29187cb2-1acb-43b8-baf5-3f3f709292eb",
  "application_id": "f35762fe-e8a4-4613-bb70-e5c1be4f9fc2",
  "created_at": 1740969535.333,
  "credential_id": "ce81345f-7e2a-4871-b539-aefb5f725220",
  "request": {
    "action": "text2video",
    "model": "kling-v1",
    "prompt": "Caneca de café de cerâmica branca sobre balcão de mármore brilhante com luz da janela da manhã. A câmera gira lentamente 360 graus ao redor da caneca, parando brevemente na alça.",
    "callback_url": "https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3"
  },
  "trace_id": "0a907f69-4ae2-4a08-b34c-ee15c1c47077",
  "type": "videos",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "job_id": "CjJzzGfBfqcAAAAAAKdVMQ",
  "response": {
    "success": true,
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/text2video/CjJzzGfBfqcAAAAAAKdVMQ-0_raw_video_1.mp4",
    "duration": "5.1",
    "state": "succeed",
    "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
  },
  "duration": 317.1300001144409,
  "finished_at": 1740969852.463
}
```

O resultado retornado contém vários campos, o campo request é o corpo da solicitação quando a tarefa foi iniciada, enquanto o campo response é o corpo da resposta retornada após a conclusão da tarefa. A descrição dos campos é a seguinte.

* `id`, ID da tarefa de vídeo gerada, usado para identificar exclusivamente esta tarefa de geração de vídeo.
* `request`, informações da solicitação na tarefa de vídeo.
* `response`, informações da resposta na tarefa de vídeo.

## Operação de Consulta em Lote

Esta operação é para consultar detalhes de tarefas de vídeo para vários IDs de tarefa. Diferente do anterior, é necessário selecionar a ação como retrieve\_batch.

**Request Body** inclui:

* `ids`: array de IDs de tarefas enviadas.
* `action`: modo de operação da tarefa.

Configuração conforme mostrado na imagem abaixo:

<p>
  <img src="https://cdn.xhuoapi.ai/4p5uvq.png" width="500" className="m-auto" />
</p>

### Exemplo de Código

Pode-se notar que, no lado direito da página, já foram gerados automaticamente códigos em várias linguagens, como mostrado na imagem:

<p>
  <img src="https://cdn.xhuoapi.ai/g3b7g6.png" width="500" className="m-auto" />
</p>

Alguns exemplos de código são os seguintes:

### Exemplo de Resposta

Após uma solicitação bem-sucedida, a API retornará as informações detalhadas de todas as tarefas de vídeo em lote. Por exemplo:

```json theme={null}
{
  "items": [
    {
      "_id": "67c5163f550a4144a5b68698",
      "id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0",
      "api_id": "29187cb2-1acb-43b8-baf5-3f3f709292eb",
      "application_id": "f35762fe-e8a4-4613-bb70-e5c1be4f9fc2",
      "created_at": 1740969535.333,
      "credential_id": "ce81345f-7e2a-4871-b539-aefb5f725220",
      "request": {
        "action": "text2video",
        "model": "kling-v1",
        "prompt": "Caneca de café de cerâmica branca em uma bancada de mármore brilhante com luz da janela da manhã. A câmera gira lentamente 360 graus ao redor da caneca, pausando brevemente na alça.",
        "callback_url": "https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3"
      },
      "trace_id": "0a907f69-4ae2-4a08-b34c-ee15c1c47077",
      "type": "videos",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "job_id": "CjJzzGfBfqcAAAAAAKdVMQ",
      "response": {
        "success": true,
        "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
        "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/text2video/CjJzzGfBfqcAAAAAAKdVMQ-0_raw_video_1.mp4",
        "duration": "5.1",
        "state": "succeed",
        "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
      },
      "duration": 317.1300001144409,
      "finished_at": 1740969852.463
    },
    {
      "_id": "67c51415550a4144a5b442a5",
      "id": "e3a575aa-a4bd-49c8-9b12-cde38d5462e0",
      "api_id": "29187cb2-1acb-43b8-baf5-3f3f709292eb",
      "application_id": "f35762fe-e8a4-4613-bb70-e5c1be4f9fc2",
      "created_at": 1740968981.619,
      "credential_id": "ce81345f-7e2a-4871-b539-aefb5f725220",
      "request": {
        "action": "text2video",
        "model": "kling-v1",
        "prompt": "Caneca de café de cerâmica branca em uma bancada de mármore brilhante com luz da janela da manhã. A câmera gira lentamente 360 graus ao redor da caneca, pausando brevemente na alça."
      },
      "trace_id": "4f32ba2d-8846-4ea9-9253-997ec0b2e052",
      "type": "videos",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "job_id": "Cjil4mfBfs0AAAAAAKbMQQ",
      "response": {
        "success": true,
        "video_id": "af9a1af0-9aa0-4638-81c1-d41d6143c508",
        "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7485378259/text2video/Cjil4mfBfs0AAAAAAKbMQQ-0_raw_video_1.mp4",
        "duration": "5.1",
        "state": "succeed",
        "task_id": "e3a575aa-a4bd-49c8-9b12-cde38d5462e0"
      },
      "duration": 316.3180000782013,
      "finished_at": 1740969297.937
    }
  ],
  "count": 2
}
```

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/kling/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["e3a575aa-a4bd-49c8-9b12-cde38d5462e0","20068983-0cc9-4c6a-aeb6-9c6a3c668be0"],
  "action": "retrieve_batch"
}'
```

## Erro de tratamento

Ao chamar a API, se encontrar um erro, a API retornará o respectivo código de erro e informações. Por exemplo:

* `400 token_mismatched`：Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
* `400 api_not_implemented`：Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
* `401 invalid_token`：Não autorizado, token de autorização inválido ou ausente.
* `429 too_many_requests`：Muitas solicitações, você excedeu o limite de taxa.
* `500 api_error`：Erro interno do servidor, algo deu errado no servidor.

### Exemplo de resposta de erro

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Conclusão

Através deste documento, você já entendeu como usar a API Kling Tasks para consultar detalhes de tarefas de vídeo individuais ou em lote. Esperamos que este documento possa ajudá-lo a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.
