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
- Set the SONIOX_API_KEY environment variable.
- 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.