BerriAI/litellm · error · ProxyException
{detail}
Error message
{detail} What it means
Error normalization in the realtime transcription session endpoint: the upstream request or a failure hook raised; known exception types (ProxyException/HTTPException) are re-raised as-is and anything else is wrapped with the original detail text surfaced to the caller.
Source
Thrown at litellm/proxy/realtime_endpoints/endpoints.py:606
llm_router=llm_router,
user_model=user_model,
)
upstream_resp: Final[httpx.Response] = await llm_call
except Exception as e:
await proxy_logging_obj.post_call_failure_hook(
user_api_key_dict=user_api_key_dict,
original_exception=e,
request_data=data,
)
verbose_proxy_logger.error(
"litellm.proxy.realtime_endpoints.create_realtime_transcription_session(): Exception - %s",
str(e),
)
if isinstance(e, ProxyException):
raise e
if isinstance(e, HTTPException):
raise ProxyException(
message=getattr(e, "detail", getattr(e, "message", str(e))),
type=getattr(e, "type", "None"),
param=getattr(e, "param", "None"),
code=getattr(e, "status_code", http_status.HTTP_400_BAD_REQUEST),
)
raise ProxyException(
message=getattr(e, "message", str(e)),
type=getattr(e, "type", "None"),
param=getattr(e, "param", "None"),
code=getattr(e, "status_code", 500),
)
if upstream_resp.status_code != 200:
verbose_proxy_logger.error(
"Realtime transcription_sessions upstream error %s: %s",
upstream_resp.status_code,
upstream_resp.text,
)View on GitHub (pinned to 77b7c6c40c)
Solutions
- Check the error detail returned; fix the realtime endpoint request or provider configuration accordingly.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at litellm/proxy/realtime_endpoints/endpoints.py:606 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/778c50c6746d1a92.
Report an issue: GitHub.