HeyPuter/puter · warning · HttpError
bad_request
bad_request
Error message
Streaming transcription is not yet supported
What it means
The OpenAI STT provider checks args.stream and rejects with 400 / bad_request — neither transcriptions nor translations are wired for streaming in this driver yet. The check sits before the API-key and file guards so a streaming request fails fast. Streaming transcription may arrive later; until then the flag is unsupported.
Source
Thrown at src/backend/drivers/ai-speech2txt/providers/openai/OpenAISpeechToTextProvider.ts:151
}
async translate(args: ITranscribeArgs) {
return this.#handleTranscription(args, true);
}
async #handleTranscription(args: ITranscribeArgs, translate: boolean) {
if (args.test_mode) {
return {
...SAMPLE_TRANSCRIPT,
model:
args.model ||
(translate
? DEFAULT_TRANSLATE_MODEL
: DEFAULT_TRANSCRIBE_MODEL),
};
}
if (args.stream) {
throw new HttpError(
400,
'Streaming transcription is not yet supported',
{ legacyCode: 'bad_request' },
);
}
if (!this.#openai)
throw new HttpError(500, 'OpenAI API key not configured', {
legacyCode: 'internal_error',
});
this.requireFile(args);
const actor = this.requireActor();
const loaded = await loadFileInput(
this.deps.stores,
this.deps.fs,
actor,
args.file,View on GitHub (pinned to 908ec23eda)
Solutions
- Drop stream (or set it false) for STT calls.
- If progressive results are needed, design around request/response polling until streaming ships.
Example fix
// before
driver.transcribe({ file, stream: true })
// after
driver.transcribe({ file }) Defensive patterns
Strategy: validation
Validate before calling
// STT does not stream; strip the flag before sending
const { stream: _stream, ...rest } = args;
await driver.transcribe(rest); Prevention
- Don't forward generic AI args blindly into STT.
- Strip stream before calling transcribe/translate.
- Check release notes — streaming support may arrive later.
When it happens
Trigger: Calling transcribe({ file, stream: true }) or translate({ file, stream: true }) against the openai provider; forwarding generic AI args that default stream to true.
Common situations: Reusing an args object from a chat-completion call that legitimately streams; an SDK helper defaulting stream to true across all AI methods.
Related errors
AI-assisted analysis of HeyPuter/puter@908ec23eda (2026-08-12).
Data as JSON: /api/errors/dbe69ad4186543d8.
Report an issue: GitHub.