HeyPuter/puter · error · HttpError

bad_request

bad_request

Error message

prompt must be a non-empty string

What it means

Error "prompt must be a non-empty string" thrown in HeyPuter/puter.

Source

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

    }

    async generate(params: IGenerateVideoParams): Promise<unknown> {
        const {
            prompt,
            model: requestedModel,
            seconds,
            duration,
            size,
            resolution: _resolution,
            negative_prompt: negativePrompt,
            reference_images: referenceImages,
            input_reference: inputReference,
            last_frame: lastFrame,
            test_mode: testMode,
        } = params ?? {};

        if (typeof prompt !== 'string' || !prompt.trim()) {
            throw new HttpError(400, 'prompt must be a non-empty string', {
                legacyCode: 'bad_request',
            });
        }

        const selectedModel = this.#getModel(requestedModel);

        if (testMode) {
            return DEFAULT_TEST_VIDEO_URL;
        }

        const hasFirstFrame =
            selectedModel.supportsImageInput &&
            typeof inputReference === 'string' &&
            inputReference.trim().length > 0;
        const hasRefImages =
            selectedModel.supportsReferenceImages &&
            Array.isArray(referenceImages) &&
            referenceImages.length > 0;

View on GitHub (pinned to 908ec23eda)

Solutions

  1. Pass a non-empty string as the `prompt` argument.
  2. Validate the prompt client-side before calling the driver.

When it happens

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