Skip to content

Deepgram Nova-3 multilingual STT: mismatch with pipecat Language enum causing warning #4134

@SwAt1563

Description

@SwAt1563

pipecat version

0.0.106

Python version

3.13

Operating System

Docker

Use Case Description

We are using Deepgram Nova-3 STT models with multilingual detection enabled.

According to Deepgram documentation:
https://developers.deepgram.com/docs/models-languages-overview

To enable multi-language detection, the language parameter should be set to "multi".

Current Approach

We pass `"multi"` as the language value when initializing the STT service.

However, in pipecat, the `Language` enum does not support `"multi"` as a valid value. This results in a warning during initialization:


WARNING | pipecat.services.stt_service:__init__:135 - Language string 'multi' is not a recognized Language code. It will be passed to the service as-is.


Previously, this worked without warning when using `LiveOptions`, which supported `"multi"` directly.

Errors or Unexpected Behavior

  • Warning is raised when using "multi":

    Language string 'multi' is not a recognized Language code
    

Additional Context

To align with pipecat’s Language enum while still supporting Deepgram multilingual detection:

  • Allow language=None in STT settings (do not default to "EN" or any specific language)

  • Before sending the request to Deepgram:

    • Convert None"multi"
  • This avoids enum conflicts while preserving intended behavior

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions