{"record":{"id":"ee4ac02b7b08bee3","repo":"HeyPuter/puter","slug":"disallowed-value","errorCode":"disallowed_value","errorMessage":"Video was filtered due to ${reasons}","messagePattern":"Video was filtered due to (.+?)","errorType":"http","errorClass":"HttpError","httpStatus":400,"severity":"error","filePath":"src/backend/drivers/ai-video/providers/gemini/GeminiVideoProvider.ts","lineNumber":230,"sourceCode":"        let operation: GenerateVideosOperation;\n        try {\n            operation =\n                await this.#client.models.generateVideos(generateParams);\n        } catch (e) {\n            console.error('Gemini video generation error:', e);\n            throw e;\n        }\n\n        const completed = await this.#pollUntilComplete(operation);\n\n        const generatedVideos = completed.response?.generatedVideos;\n        if (!generatedVideos || generatedVideos.length === 0) {\n            const filtered = completed.response?.raiMediaFilteredCount ?? 0;\n            if (filtered > 0) {\n                const reasons =\n                    completed.response?.raiMediaFilteredReasons?.join(', ') ||\n                    'content policy';\n                throw new HttpError(\n                    400,\n                    `Video was filtered due to ${reasons}`,\n                    { legacyCode: 'disallowed_value' },\n                );\n            }\n            throw new Error('Gemini response did not include a video');\n        }\n\n        const video = generatedVideos[0].video;\n        if (!video) {\n            throw new Error('Gemini response video entry was empty');\n        }\n\n        const resTier = is4K\n            ? ':4k'\n            : is1080p && selectedModel.costs?.['per-second-1080p']\n              ? ':1080p'\n              : '';","sourceCodeStart":212,"sourceCodeEnd":248,"githubUrl":"https://github.com/HeyPuter/puter/blob/908ec23eda38526170322c3edf71ba45ecb1ca95/src/backend/drivers/ai-video/providers/gemini/GeminiVideoProvider.ts#L212-L248","documentation":"Error \"Video was filtered due to ${reasons}\" thrown in HeyPuter/puter.","triggerScenarios":"Thrown at src/backend/drivers/ai-video/providers/gemini/GeminiVideoProvider.ts:230 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Revise the prompt to comply with the provider content policy and retry.","Review the listed filter reasons and remove the flagged content."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"908ec23eda38526170322c3edf71ba45ecb1ca95","analyzedAt":"2026-08-12T20:53:15.911Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}