Leer una ejecución de flujo de trabajo
Sigue una ejecución hasta un estado terminal y recopila sus recursos.
GET {base_url}/workflow-runs/{run_id}
GET {base_url}/workflow-runs/{run_id}?wait=45Requiere runs:read.
wait mantiene la respuesta abierta durante hasta ese número de segundos y devuelve tan pronto como cambia el estado — más barato que hacer sondeos y más rápido para enterarse de que terminó. El límite es de 45 segundos; sin él, la llamada devuelve inmediatamente.
Respuesta
{
"run": {
"id": "0192f3d0-6c31-7a52-b4e8-3f9d1a7c5e20",
"status": "succeeded",
"created_at": "2026-09-22T04:10:00Z",
"completed_at": "2026-09-22T04:17:12Z",
"credits_used": 1792,
"chat_id": "0192f3c6-2e75-7b14-9a63-7c4e2d8f1b09",
"assets": [
{
"id": "0192f3e1-8b52-7c03-a41d-6e2f9b7c1d44",
"kind": "image",
"mime_type": "image/png",
"width": 1920,
"height": 1080,
"size_bytes": 2841233,
"url": "https://storage.googleapis.com/…",
"url_expires_at": "2026-09-22T05:17:12Z"
}
],
"error": null,
"poll_after_seconds": 60
}
}Estados
status | Significado | ¿Volver a consultar? |
|---|---|---|
queued | aceptado, no iniciado | sí |
running | el flujo de trabajo se está ejecutando | sí |
succeeded | terminado; assets contiene la salida | no |
failed | detenido; error dice por qué | no |
needs_input | el flujo de trabajo hizo una pregunta y está esperando una respuesta | ver más abajo |
expired | no terminó antes de expires_at | no |
Trata cualquier estado que no reconozcas como no terminal y sigue consultando — pueden aparecer nuevos sin un cambio de versión.
credits_used es lo que la ejecución ha gastado hasta ahora, neto de reembolsos — presente desde su primer cargo, no solo una vez que finaliza. Una clave limitada a flujos de trabajo específicos interpreta una ejecución de cualquier otro flujo de trabajo como no encontrada.
needs_input
Algunos flujos de trabajo hacen una pregunta a mitad de la ejecución. La ejecución espera a que una persona en Morphic Studio la responda; abre chat_id para hacerlo. La ejecución se reanuda por sí sola una vez respondida, y expira si nadie lo hace antes de expires_at.
Recursos
assets contiene solo los recursos que el flujo de trabajo declara como su salida — no todos los archivos intermedios que produjeron sus pasos. Lo que llega aquí es una decisión que sus autores toman en Studio.
| Campo de activo | Significado |
|---|---|
id | id estable del recurso en Morphic; seguro de almacenar |
kind | image, video, audio o document |
width, height | píxeles, para image y video |
duration_seconds | para video y audio |
url | un enlace de descarga firmado y de corta duración |
url_expires_at | cuando ese enlace deja de funcionar |
url caduca. Descarga los bytes en tu propio almacenamiento cuando los recibas; vuelve a leer la ejecución para obtener un enlace nuevo si luego necesitas uno. Nunca almacenes url como si fuera permanente.
Una ejecución succeeded con un array assets vacío significa que el flujo de trabajo no declara una salida final. Eso es una laguna en la creación del flujo de trabajo, no un fallo de la API — pide a sus autores en Studio que indiquen qué salida del paso es el entregable.