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

# Obter Status da Tarefa

> Recupere o status e o resultado de qualquer tarefa assíncrona usando a poll_url retornada pelos endpoints de criação

## Visão geral

Use este endpoint para polling assíncrono unificado entre tipos de tarefa como geração de vídeo, imagem, música e 3D.

Se uma resposta de criação incluir `poll_url`, chame esse caminho exato. Para workflows assíncronos mais recentes, `poll_url` pode apontar para `/v1/tasks/{id}`.

## Parâmetros de caminho

<ParamField path="id" type="string" required>
  O ID da tarefa retornado pela requisição de criação.
</ParamField>

## Resposta

<ResponseField name="id" type="string">
  Identificador da tarefa.
</ResponseField>

<ResponseField name="task_id" type="string">
  Alias do identificador de tarefa assíncrona.
</ResponseField>

<ResponseField name="poll_url" type="string">
  URL de polling preferencial quando a resposta de criação a fornece.
</ResponseField>

<ResponseField name="status" type="string">
  Status da tarefa, como `pending`, `processing`, `completed` ou `failed`. Tarefas canceladas são representadas como `failed` com `cancelled: true`.
</ResponseField>

<ResponseField name="cancelled" type="boolean">
  `true` quando uma tarefa assíncrona em fila foi cancelada antes da execução.
</ResponseField>

<ResponseField name="cancellation_status" type="string">
  Marcador de cancelamento. Presente como `cancelled` quando o cancelamento é bem-sucedido.
</ResponseField>

<ResponseField name="data" type="array">
  Para tarefas de imagem concluídas, os resultados de imagem gerados são retornados aqui. Tarefas de imagem retornam URLs em `data[].url`.
</ResponseField>

<ResponseField name="progress" type="number">
  Valor de progresso opcional. Retornado apenas quando houver um progresso real disponível; use `status` para determinar a conclusão.
</ResponseField>

<ResponseField name="video_url" type="string">
  URL do asset resultante quando a tarefa é concluída e produz um vídeo.
</ResponseField>

<ResponseField name="error" type="string">
  Mensagem de erro quando a tarefa falha.
</ResponseField>

## Comportamento de erro

Se a tarefa não existir mais, tiver expirado ou não estiver mais disponível no registro público da tarefa, o TokenLab retorna:

```json theme={null}
{
  "error": {
    "message": "Task not found or no longer available.",
    "type": "invalid_request_error",
    "code": "async_task_not_found"
  }
}
```

## Exemplos

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
    -H "Authorization: Bearer sk-your-api-key"
  ```
</RequestExample>

```python Python theme={null}
import requests

poll_url = "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
response = requests.get(
    f"https://api.tokenlab.sh{poll_url}",
    headers={"Authorization": "Bearer sk-your-api-key"},
)
print(response.json())
```

```javascript JavaScript theme={null}
const pollUrl = '/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
const response = await fetch(`https://api.tokenlab.sh${pollUrl}`, {
  headers: { Authorization: 'Bearer sk-your-api-key' },
});
console.log(await response.json());
```
