langgenius/dify · error · ProviderNotSupportSpeechToTextError

provider_not_support_speech_to_text

provider_not_support_speech_to_text

Error message

Provider not support speech to text.

What it means

Raised by _transcribe_audio_to_text when AudioService raises ProviderNotSupportSpeechToTextServiceError — the currently configured model provider has no speech-to-text capability/model available. Translated to ProviderNotSupportSpeechToTextError (400, error_code 'provider_not_support_speech_to_text').

Source

Thrown at api/controllers/console/app/audio.py:161

            response = AudioService.transcript_agent_asr(
                app_model=app_model,
                agent_soul=agent_soul,
                file=file,
                session=session,
                end_user=None,
            )
        return dump_response(AudioTranscriptResponse, response)
    except services.errors.app_model_config.AppModelConfigBrokenError:
        logger.exception("App model config broken.")
        raise AppUnavailableError()
    except NoAudioUploadedServiceError:
        raise NoAudioUploadedError()
    except AudioTooLargeServiceError as e:
        raise AudioTooLargeError(str(e))
    except UnsupportedAudioTypeServiceError:
        raise UnsupportedAudioTypeError()
    except ProviderNotSupportSpeechToTextServiceError:
        raise ProviderNotSupportSpeechToTextError()
    except SpeechToTextDisabledServiceError:
        raise SpeechToTextDisabledError()
    except ProviderTokenNotInitError as ex:
        raise ProviderNotInitializeError(ex.description)
    except QuotaExceededError:
        raise ProviderQuotaExceededError()
    except ModelCurrentlyNotSupportError:
        raise ProviderModelCurrentlyNotSupportError()
    except InvokeError as e:
        raise CompletionRequestError(e.description)
    except HTTPException:
        raise
    except ValueError:
        raise
    except Exception as e:
        logger.exception("Failed to transcribe audio to text")
        raise InternalServerError() from e

View on GitHub (pinned to ef8544b173)

Solutions

  1. In Settings -> Model Provider, enable a provider that offers speech-to-text (e.g., OpenAI Whisper) and configure credentials.
  2. Re-select the STT model in the app's model settings.
  3. Switch the app to a provider whose model catalog includes STT.
  4. Verify the provider plugin version supports STT.
Defensive patterns

Strategy: validation

Try / catch

try { await axios.post(`/apps/${id}/audio-to-text`, form); }
catch (e) { if (e.code === 'provider_not_support_speech_to_text') { /* prompt to configure an STT-capable provider */ } }

Prevention

When it happens

Trigger: Hitting the audio-to-text endpoint on an app whose provider only does text generation (e.g., a provider with no STT model in its catalog), or where the STT model was not configured.

Common situations: Switching the app's provider to one without STT support; provider plugin regression removing STT capability; tenant never configured a speech-to-text model.

Related errors


AI-assisted analysis of langgenius/dify@ef8544b173 (2026-08-12). Data as JSON: /api/errors/8b95dc752721b6d2. Report an issue: GitHub.