BerriAI/litellm · error · SonioxException

Missing Soniox API key. Set the SONIOX_API_KEY environment v

Error message

Missing Soniox API key. Set the SONIOX_API_KEY environment variable or pass api_key=... to litellm.transcription().

What it means

Validation in validate_environment: get_soniox_api_key returned an empty key, meaning neither an explicit api_key argument, litellm.soniox_key, nor the SONIOX_API_KEY env var is set, so the Soniox transcription request cannot be authenticated.

Source

Thrown at litellm/llms/soniox/audio_transcription/transformation.py:112

        return optional_params

    def get_error_class(self, error_message: str, status_code: int, headers: dict | Headers) -> BaseLLMException:
        return SonioxException(message=error_message, status_code=status_code, headers=headers)

    def validate_environment(
        self,
        headers: dict,
        model: str,
        messages: list[AllMessageValues],
        optional_params: dict,
        litellm_params: dict,
        api_key: str | None = None,
        api_base: str | None = None,
    ) -> dict:
        resolved_key: Final = get_soniox_api_key(api_key)
        if not resolved_key:
            raise SonioxException(
                message=(
                    "Missing Soniox API key. Set the SONIOX_API_KEY environment "
                    "variable or pass api_key=... to litellm.transcription()."
                ),
                status_code=401,
                headers=None,
            )

        merged_headers: Final[dict[str, str]] = {
            "Authorization": f"Bearer {resolved_key}",
        }
        if headers:
            merged_headers.update(headers)
        return merged_headers

    def get_complete_url(
        self,
        api_base: str | None,

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Set the SONIOX_API_KEY environment variable.
  2. Or pass api_key=... to litellm.transcription().

Example fix

os.environ["SONIOX_API_KEY"] = "<key>"
Defensive patterns

Strategy: validation

When it happens

Trigger: Triggered when calling Soniox transcription without SONIOX_API_KEY set or api_key passed.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/5e9a98fe5d42b932. Report an issue: GitHub.