HeyPuter/puter · error · HttpError

disallowed_value

disallowed_value

Error message

Video was filtered due to ${reasons}

What it means

Error "Video was filtered due to ${reasons}" thrown in HeyPuter/puter.

Solutions

  1. Revise the prompt to comply with the provider content policy and retry.
  2. Review the listed filter reasons and remove the flagged content.

When it happens

Trigger: Thrown at src/backend/drivers/ai-video/providers/gemini/GeminiVideoProvider.ts:230 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/ee4ac02b7b08bee3. Report an issue: GitHub.

Appendix: source

Thrown at src/backend/drivers/ai-video/providers/gemini/GeminiVideoProvider.ts:230

        let operation: GenerateVideosOperation;
        try {
            operation =
                await this.#client.models.generateVideos(generateParams);
        } catch (e) {
            console.error('Gemini video generation error:', e);
            throw e;
        }

        const completed = await this.#pollUntilComplete(operation);

        const generatedVideos = completed.response?.generatedVideos;
        if (!generatedVideos || generatedVideos.length === 0) {
            const filtered = completed.response?.raiMediaFilteredCount ?? 0;
            if (filtered > 0) {
                const reasons =
                    completed.response?.raiMediaFilteredReasons?.join(', ') ||
                    'content policy';
                throw new HttpError(
                    400,
                    `Video was filtered due to ${reasons}`,
                    { legacyCode: 'disallowed_value' },
                );
            }
            throw new Error('Gemini response did not include a video');
        }

        const video = generatedVideos[0].video;
        if (!video) {
            throw new Error('Gemini response video entry was empty');
        }

        const resTier = is4K
            ? ':4k'
            : is1080p && selectedModel.costs?.['per-second-1080p']
              ? ':1080p'
              : '';

View on GitHub (pinned to 908ec23eda)