HeyPuter/puter · error · HttpError

errText || `Speechify TTS request failed (status ${response.

Error message

errText || `Speechify TTS request failed (status ${response.status})`

What it means

Error "errText || `Speechify TTS request failed (status ${response.status})`" thrown in HeyPuter/puter.

Source

Thrown at src/backend/drivers/ai-tts/providers/speechify/SpeechifyTTSProvider.ts:211

            // Map upstream status to an `upstream_*` HttpError so the
            // alarm gate skips it. Mirrors ElevenLabs/xAI's translator —
            // 4xx and 5xx both surface as 400 to the client (with the
            // appropriate legacyCode), 429 stays 429, auth stays 500.
            const legacyCode =
                response.status >= 500
                    ? 'upstream_provider_unavailable'
                    : response.status === 401 || response.status === 403
                      ? 'upstream_auth_failed'
                      : response.status === 429
                        ? 'upstream_rate_limited'
                        : 'upstream_bad_request';
            const exposedStatus =
                legacyCode === 'upstream_rate_limited'
                    ? 429
                    : legacyCode === 'upstream_auth_failed'
                      ? 500
                      : 400;
            throw new HttpError(
                exposedStatus,
                errText ||
                    `Speechify TTS request failed (status ${response.status})`,
                {
                    legacyCode,
                    fields: {
                        provider: 'speechify',
                        upstreamStatus: response.status,
                    },
                },
            );
        }

        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        const data: any = await response.json();
        if (!data?.audio_data) {
            throw new HttpError(
                400,

View on GitHub (pinned to 908ec23eda)

Solutions

  1. Check the Speechify API key and request parameters, then retry.
  2. Inspect the upstream status code and error text for the underlying cause.

When it happens

Trigger: Thrown at src/backend/drivers/ai-tts/providers/speechify/SpeechifyTTSProvider.ts:211 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/fd38cb5ef5e6b628. Report an issue: GitHub.