Ler uma execução de workflow
Acompanhe uma execução até um status final e colete seus ativos.
GET {base_url}/workflow-runs/{run_id}
GET {base_url}/workflow-runs/{run_id}?wait=45Requer runs:read.
aguardar mantém a resposta aberta por até essa quantidade de segundos e retorna assim que o status mudar — mais barato do que fazer polling, e mais rápido para saber quando terminou. O limite é de 45 segundos; sem isso, a chamada retorna imediatamente.
Resposta
{
"run": {
"id": "0192f3d0-6c31-7a52-b4e8-3f9d1a7c5e20",
"status": "bem-sucedido",
"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": "imagem",
"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
}
}Status
status | Significado | Consultar novamente? |
|---|---|---|
na fila | aceito, não iniciado | sim |
em execução | o fluxo de trabalho está em execução | sim |
bem-sucedida | concluído; ativos contém a saída | não |
com falha | interrompido; erro explica por quê | não |
precisa_de_entrada | o fluxo de trabalho fez uma pergunta e está aguardando uma resposta | veja abaixo |
expirada | nunca foi concluído antes expires_at | não |
Trate qualquer status que você não reconhecer como não terminal e continue consultando — novos podem surgir sem aumento de versão.
credits_used é o que a execução já gastou até agora, líquido de reembolsos — presente desde a primeira cobrança, não apenas quando termina. Uma chave limitada a fluxos de trabalho específicos interpreta uma execução de qualquer outro fluxo de trabalho como não encontrada.
precisa_de_entrada
Alguns fluxos de trabalho fazem uma pergunta no meio da execução. A execução aguarda uma pessoa no Morphic Studio responder; abra chat_id para fazer isso. A execução continua sozinha assim que respondida e expira se ninguém fizer isso antes expires_at.
Ativos
ativos contém somente os assets que o fluxo de trabalho declara como sua saída — não todo arquivo intermediário produzido por suas etapas. O que fica aqui é uma decisão que seus autores fazem no Studio.
| Campo do asset | Significado |
|---|---|
id | id estável do asset no Morphic; seguro para armazenar |
tipo | imagem, vídeo, áudio ou documento |
largura, altura | pixels, para imagem e vídeo |
duration_seconds | para vídeo e áudio |
url | um link de download assinado e de curta duração |
url_expires_at | quando esse link para de funcionar |
url expira. Baixe os bytes para seu próprio armazenamento quando os receber; leia a execução novamente para obter um link novo se precisar de um depois. Nunca armazene url como se fosse permanente.
Uma bem-sucedida uma execução com um array vazio ativos significa que o fluxo de trabalho não declara nenhuma saída final. Isso é uma lacuna na autoria do fluxo de trabalho, não uma falha da API — peça aos autores no Studio para marcar qual saída de qual etapa é o entregável.