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/together/TogetherVideoProvider.ts:87

            no_extra_params,
            duration,
            width,
            height,
            fps,
            steps,
            guidance_scale: guidanceScale,
            seed,
            output_format: outputFormat,
            output_quality: outputQuality,
            negative_prompt: negativePrompt,
            reference_images: referenceImages,
            frame_images: frameImages,
            metadata,
            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 = await this.#getModel(requestedModel);
        const model =
            selectedModel?.model ??
            this.#stripTogetherPrefix(requestedModel ?? DEFAULT_MODEL);

        if (testMode) {
            return DEFAULT_TEST_VIDEO_URL;
        }

        const costPerVideoCents = selectedModel?.costs?.['per-video'];
        if (!costPerVideoCents) {
            throw new Error(`No pricing configured for video model ${model}`);
        }
        const costInMicroCents = costPerVideoCents * 1_000_000;

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/together/TogetherVideoProvider.ts:87 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/bcc14e84ed7c563a. Report an issue: GitHub.