nexu-io/open-design · error · Error
Vela video task returned unsupported status ${lastStatus}
Error message
Vela video task returned unsupported status ${lastStatus} What it means
The polled task status is not one of the six recognized values: succeeded, failed, cancelled, canceled, queued, running. After checking for succeeded, then failed/cancelled/canceled, then asserting queued/running, any other status string hits this guard.
Source
Thrown at apps/daemon/src/media/vela.ts:509
);
}
lastStatus = nonEmptyString(task.status) ?? 'missing';
const elapsedSeconds = Math.round((Date.now() - startedAt) / 1000);
input.onProgress?.(`Vela video status ${lastStatus}; elapsed ${elapsedSeconds}s`);
if (lastStatus === 'succeeded') {
const bytes = await readNonEmptyOutput(outputPath, 'video get');
return {
bytes,
providerNote: `vela/${wireModel} · ${ratio} · ${input.length ?? 5}s · ${DEFAULT_VELA_VIDEO_RESOLUTION} default · ${bytes.length} bytes`,
suggestedExt: '.mp4',
};
}
if (lastStatus === 'failed' || lastStatus === 'cancelled' || lastStatus === 'canceled') {
throw new Error(`Vela video task ended with status ${lastStatus}: ${videoTaskError(task)}`);
}
if (lastStatus !== 'queued' && lastStatus !== 'running') {
throw new Error(`Vela video task returned unsupported status ${lastStatus}`);
}
}
throw new Error(
`Vela video task timed out after ${totalTimeoutMs}ms; last status ${lastStatus}`,
);
} finally {
await rm(tempDir, { recursive: true, force: true });
}
}
View on GitHub (pinned to 5be4028344)
Solutions
- Update the Vela CLI and daemon to mutually compatible versions
- Inspect the raw status string in the poll response to identify the new value
- Report the unrecognized status to maintainers if running the latest version
Defensive patterns
Strategy: try-catch
Try / catch
try {
const result = await renderVelaVideo(input);
} catch (err) {
if (err.message.includes('unsupported status')) {
logger.error('Vela returned unrecognized task status', err);
throw err;
}
throw err;
} Prevention
- Keep the Vela CLI and daemon at mutually compatible versions
- Report unrecognized status strings to maintainers promptly
- Monitor Vela API changelogs for new status values
When it happens
Trigger: The Vela API introduces a new status value the daemon doesn't handle (e.g. 'paused', 'pending_review'); the status field contains unexpected casing or a typo; the response is malformed and contains an arbitrary string.
Common situations: Vela CLI/API version upgrade adds a new intermediate status; a localized or aliased status string leaks through; backend returns a transient diagnostic status.
Related errors
- Vela video only supports aspect ratios 16:9, 9:16, or 1:1; r
- Vela video only supports durations of 5 or 10 seconds; recei
- Vela video gen response is missing task_id
- Vela video get returned unexpected task_id ${returnedTaskId
- Vela video task ended with status ${lastStatus}: ${videoTask
AI-assisted analysis of nexu-io/open-design@5be4028344 (2026-08-12).
Data as JSON: /api/errors/9f60f30b574c6fed.
Report an issue: GitHub.