---
title: Estado de la solicitud
description: GET /v1/requests/{request_id}/status — una consulta ligera del estado y el progreso de una generación por su request_id. No se necesita ningún permiso adicional de la clave.
icon: Activity
---

Consulte el estado de una generación enviada a partir de su `request_id`. La llamada es ligera y sirve para consultas frecuentes cuando no usa un webhook.

## Playground

<ApiPlayground path="/v1/requests/{request_id}/status" method="get" />

`GET /v1/requests/:id/status` devuelve el estado actual de la generación y, cuando se conoce, su progreso. Sirve cualquier clave válida de la misma cuenta: no se necesita ningún permiso adicional.

<Method name="GET" path="/v1/requests/:id/status" />

## Solicitud

<TypeTable
  type={{
    id: { type: 'string', description: 'El request_id de la respuesta de submit: un UUID, o un identificador con el prefijo cmp_ o prs_ para las composiciones de vídeo y las presentaciones creadas a través de MCP.', required: true }
  }}
/>

<Tabs items={['cURL', 'TypeScript', 'Python']}>
<Tab value="cURL">

```bash
curl https://api.clipia.ai/v1/requests/764cabcf-b745-4b3e-ae38-1200304cf45b/status \
  -H "Authorization: Bearer $CLIPIA_KEY"
```

</Tab>
<Tab value="TypeScript">

```ts
const status = await clipia.queue.status('764cabcf-b745-4b3e-ae38-1200304cf45b');
console.log(status.status, status.progress);
```

</Tab>
<Tab value="Python">

```python
status = client.status("764cabcf-b745-4b3e-ae38-1200304cf45b")
print(status.status, status.progress)
```

</Tab>
</Tabs>

**Respuesta `200`**

```json
{
  "request_id": "764cabcf-b745-4b3e-ae38-1200304cf45b",
  "status": "IN_PROGRESS",
  "queue_position": 0,
  "progress": 45
}
```

<TypeTable
  type={{
    request_id: { type: 'string', description: 'Identificador de la solicitud' },
    status: { type: 'string', description: 'IN_QUEUE, IN_PROGRESS, COMPLETED, FAILED o CANCELED' },
    queue_position: { type: 'integer', description: 'Posición en la cola; actualmente suele ser 0' },
    progress: { type: 'integer', description: 'Progreso de 0 a 100. Se omite si no se conoce: no todos los modelos lo comunican' },
    warnings: { type: 'array', description: '[{ code, parameter, message }]: parámetros que el servidor descartó al ejecutar la solicitud, por ejemplo audio_dropped: el vídeo se genera sin sonido. Se omite cuando no hay nada que avisar. Más detalles en «Resultado de la generación»' }
  }}
/>

## Errores

| HTTP | `code` | `message` | Cuándo |
|------|--------|-----------|--------|
| 400 | `invalid_request` | `invalid_request_id` | el identificador no tiene el formato de un `request_id` |
| 404 | `not_found` | `request_not_found` | la solicitud no existe o pertenece a otra cuenta |

<Callout type="info" title="Qué llamada usar">
`/status` está pensado para consultas frecuentes. Obtenga los enlaces a los medios con [`GET /v1/requests/:id`](/es/docs/api-reference/result). Si pasó un `webhook_url` al enviar, no necesita hacer consultas: consulte [Webhooks](/es/docs/api-reference/webhooks). No consulte más de una vez por segundo: estas llamadas cuentan para su [límite de solicitudes](/es/docs/api-reference/rate-limits).
</Callout>
