BerriAI/litellm · error · ValueError
OCR is not supported for provider: {custom_llm_provider}
Error message
OCR is not supported for provider: {custom_llm_provider} What it means
Raised during OCR request preparation when ProviderConfigManager has no OCR handler registered for the resolved provider — i.e. litellm.LlmProviders(custom_llm_provider) names a provider for which LiteLLM implements no /ocr transformation. The request never leaves the router; the caller must use a provider with OCR support (or go through a supported integration such as azure_ai document intelligence).
Source
Thrown at litellm/ocr/main.py:120
)
suppress_dynamic_api_base: Final = (
not caller_supplied_api_base
and custom_llm_provider == "azure_ai"
and is_azure_document_intelligence_model(model)
)
if dynamic_api_key:
api_key = dynamic_api_key
if dynamic_api_base and not suppress_dynamic_api_base:
api_base = dynamic_api_base
ocr_provider_config: Final = ProviderConfigManager.get_provider_ocr_config(
model=model,
provider=litellm.LlmProviders(custom_llm_provider),
)
if ocr_provider_config is None:
raise ValueError(f"OCR is not supported for provider: {custom_llm_provider}")
verbose_logger.debug("OCR call - model: %s, provider: %s", model, custom_llm_provider)
litellm_params: Final = GenericLiteLLMParams.model_validate(kwargs)
supported_params: Final = ocr_provider_config.get_supported_ocr_params(model=model)
non_default_params: Final = {}
for param in supported_params:
if param in kwargs:
non_default_params[param] = kwargs.pop(param)
optional_params: Final = ocr_provider_config.map_ocr_params(
non_default_params=non_default_params,
optional_params={},
model=model,
)
verbose_logger.debug("OCR optional_params after mapping: %s", optional_params)View on GitHub (pinned to 77b7c6c40c)
Solutions
- Use a provider that supports OCR (e.g. mistral, vertex_ai) for the OCR request.
- Check the litellm docs for the list of OCR-capable providers and adjust the model/provider prefix.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at litellm/ocr/main.py:120 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/4580b92353694683.
Report an issue: GitHub.