HeyPuter/puter · error · HttpError
field_invalid
field_invalid
Error message
Invalid model: ${model}. Expected: ${OPENAI_TTS_MODELS.map(({ id }) => id).join(', ')} What it means
Error "Invalid model: ${model}. Expected: ${OPENAI_TTS_MODELS.map(({ id }) => id).join(', ')}" thrown in HeyPuter/puter.
Source
Thrown at src/backend/drivers/ai-tts/providers/openai/OpenAITTSProvider.ts:146
response_format,
instructions,
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 (!OPENAI_TTS_MODELS.find(({ id }) => id === model)) {
throw new HttpError(
400,
`Invalid model: ${model}. Expected: ${OPENAI_TTS_MODELS.map(({ id }) => id).join(', ')}`,
{
legacyCode: 'field_invalid',
fields: {
key: 'model',
expected: OPENAI_TTS_MODELS.map(({ id }) => id).join(
', ',
),
got: model,
},
},
);
}
const voice = voiceArg || DEFAULT_VOICE;
if (!OPENAI_TTS_VOICES.find(({ id }) => id === voice)) {
throw new HttpError(View on GitHub (pinned to 908ec23eda)
Solutions
- Use one of the supported OpenAI TTS models listed in the error message.
- Check OPENAI_TTS_MODELS for the valid model ids and update the `model` parameter.
When it happens
Trigger: Thrown at src/backend/drivers/ai-tts/providers/openai/OpenAITTSProvider.ts:146 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/eaad8f2831570a49.
Report an issue: GitHub.