Einen Workflow-Run lesen
Verfolgen Sie eine Ausführung bis zu einem Endstatus und sammeln Sie ihre Assets ein.
GET {base_url}/workflow-runs/{run_id}
GET {base_url}/workflow-runs/{run_id}?wait=45Erfordert runs:read.
wait hält die Antwort bis zu so viele Sekunden offen und gibt sie zurück, sobald sich der Status ändert — günstiger als Polling und schneller, um von einem Abschluss zu erfahren. Das Limit liegt bei 45 Sekunden; ohne es gibt der Aufruf sofort zurück.
Antwort
{
"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
}
}Status
status | Bedeutung | Nochmals abfragen? |
|---|---|---|
queued | angenommen, noch nicht gestartet | ja |
running | der Workflow wird ausgeführt | ja |
succeeded | beendet; assets enthält die Ausgabe | nein |
failed | gestoppt; error sagt, warum | nein |
needs_input | der Workflow hat eine Frage gestellt und wartet auf eine Antwort | siehe unten |
expired | vor expires_at nicht abgeschlossen | nein |
Behandle jeden Status, den du nicht erkennst, als nicht terminal und frage weiter ab — neue können ohne Versionssprung hinzukommen.
credits_used ist das, was der Lauf bisher ausgegeben hat, abzüglich Rückerstattungen — vorhanden ab seiner ersten Belastung, nicht erst, wenn er abgeschlossen ist. Ein auf bestimmte Workflows beschränkter Schlüssel liest einen Lauf eines anderen Workflows als nicht gefunden.
needs_input
Manche Workflows stellen während des Laufs eine Frage. Der Lauf wartet darauf, dass eine Person in Morphic Studio sie beantwortet; öffnen Sie dazu chat_id. Der Lauf setzt sich nach der Antwort von selbst fort und läuft ab, wenn niemand vor expires_at antwortet.
Assets
assets enthält nur die Assets, die der Workflow als seine Ausgabe deklariert — nicht jede Zwischendatei, die seine Schritte erzeugt haben. Was hier landet, ist eine Entscheidung, die seine Autoren in Studio treffen.
| Asset-Feld | Bedeutung |
|---|---|
id | stabile ID des Assets in Morphic; kann sicher gespeichert werden |
kind | image, video, audio oder document |
width, height | Pixel, für image und video |
duration_seconds | für video und audio |
url | ein signierter, kurzlebiger Download-Link |
url_expires_at | wann dieser Link nicht mehr funktioniert |
url läuft ab. Laden Sie die Bytes in Ihren eigenen Speicher herunter, wenn Sie sie erhalten; lesen Sie den Lauf erneut, um bei Bedarf später einen frischen Link zu erhalten. Speichern Sie url niemals, als wäre er dauerhaft.
Ein succeeded-Lauf mit einem leeren assets-Array bedeutet, dass der Workflow keine endgültige Ausgabe deklariert. Das ist eine Lücke bei der Workflow-Erstellung, kein API-Fehler — bitten Sie seine Autoren in Studio, zu markieren, welcher Schritt die auszuliefernde Ausgabe ist.