HeyPuter/puter · error · HttpError
field_invalid
field_invalid
Error message
Invalid model: ${model}. Expected: ${SPEECHIFY_TTS_MODELS.map(({ id }) => id).join(', ')} What it means
Error "Invalid model: ${model}. Expected: ${SPEECHIFY_TTS_MODELS.map(({ id }) => id).join(', ')}" thrown in HeyPuter/puter.
Source
Thrown at src/backend/drivers/ai-tts/providers/speechify/SpeechifyTTSProvider.ts:133
response_format,
output_format,
test_mode,
} = args;
if (test_mode) {
return { url: SAMPLE_AUDIO_URL, content_type: 'audio' };
}
if (typeof text !== 'string' || !text.trim()) {
throw new HttpError(400, 'Missing required field: text', {
legacyCode: 'field_required',
fields: { key: 'text' },
});
}
const model = modelArg || DEFAULT_MODEL;
if (!SPEECHIFY_TTS_MODELS.find(({ id }) => id === model)) {
throw new HttpError(
400,
`Invalid model: ${model}. Expected: ${SPEECHIFY_TTS_MODELS.map(({ id }) => id).join(', ')}`,
{
legacyCode: 'field_invalid',
fields: {
key: 'model',
expected: SPEECHIFY_TTS_MODELS.map(({ id }) => id).join(
', ',
),
got: model,
},
},
);
}
const voice = voiceArg || DEFAULT_VOICE;
const format = output_format || response_format || 'mp3';
View on GitHub (pinned to 908ec23eda)
Solutions
- Use one of the supported Speechify TTS models listed in the error message.
- Check SPEECHIFY_TTS_MODELS for the valid model ids and update the `model` parameter.
When it happens
Trigger: Thrown at src/backend/drivers/ai-tts/providers/speechify/SpeechifyTTSProvider.ts:133 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/26d4cdc2e7ea0d0b.
Report an issue: GitHub.