HeyPuter/puter · error · HttpError
upstream_failed
upstream_failed
Error message
Video generation failed
What it means
Error "Video generation failed" thrown in HeyPuter/puter.
Source
Thrown at src/backend/drivers/ai-video/providers/openai/OpenAIVideoProvider.ts:147
size: normalizedSize as OpenAI.VideoSize,
};
if (inputReference) {
createParams.input_reference =
inputReference as OpenAI.VideoCreateParams['input_reference'];
}
const createResponse = await this.#openai.videos.create(createParams);
const finalJob = await this.#pollUntilComplete(createResponse);
if (finalJob.status === 'failed') {
const errorMessage =
finalJob.error?.message ?? 'Video generation failed';
// Same reasoning as TogetherVideoProvider — Sora's `failed`
// status covers both user input issues (content policy) and
// their own outages; expose as `upstream_failed` 400 so the
// alarm gate skips it instead of paging on 500.
throw new HttpError(400, errorMessage, {
legacyCode: 'upstream_failed',
fields: { provider: 'openai' },
});
}
const finalResolution =
this.#normalizeSize(finalJob.size, selectedModel) ?? normalizedSize;
const finalTier = this.#determineSizeTier(
selectedModel,
finalResolution,
);
const finalCostPerSecondCents = this.#getCostPerSecond(
selectedModel,
finalTier,
);
if (!finalCostPerSecondCents) {
throw new Error(View on GitHub (pinned to 908ec23eda)
Solutions
- Retry the request; if it persists, check the OpenAI API status and request parameters.
- Inspect logs for the upstream failure detail.
When it happens
Trigger: Thrown at src/backend/drivers/ai-video/providers/openai/OpenAIVideoProvider.ts:147 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HeyPuter/puter@908ec23eda (2026-08-12).
Data as JSON: /api/errors/1442422e5ad1d20d.
Report an issue: GitHub.