docling-project/docling · error · ValueError
No ASR model support for {asr_options}
Error message
No ASR model support for {asr_options} What it means
The ASR model factory (_get_asr_model / equivalent dispatcher) only maps specific option classes to transcribers: InlineAsrWhisperOptions -> _WhisperModel, InlineAsrMlxWhisperOptions -> _MlxWhisperModel, InlineAsrWhisperS2TOptions -> _WhisperS2TModel. Any other value — including a typo'd class, a custom subclass the factory does not isinstance-match, or None — falls through to ValueError.
Source
Thrown at docling/pipeline/asr_transcriber.py:807
artifacts_path=artifacts_path,
accelerator_options=accelerator_options,
asr_options=asr_options,
)
elif isinstance(asr_options, InlineAsrMlxWhisperOptions):
return _MlxWhisperModel(
enabled=True,
artifacts_path=artifacts_path,
accelerator_options=accelerator_options,
asr_options=asr_options,
)
elif isinstance(asr_options, InlineAsrWhisperS2TOptions):
return _WhisperS2TModel(
enabled=True,
artifacts_path=artifacts_path,
accelerator_options=accelerator_options,
asr_options=asr_options,
)
raise ValueError(f"No ASR model support for {asr_options}")
View on GitHub (pinned to 61d76f1ff3)
Solutions
- Set asr_options to one of the concrete engine option classes: InlineAsrWhisperOptions(), InlineAsrMlxWhisperOptions(), or InlineAsrWhisperS2TOptions()
- After upgrading/downgrading docling, re-create options via that version's own get_default_options()/classes so isinstance matches
- For custom engines, monkeypatch/extend the factory rather than passing an unknown options class
Example fix
# before pipeline_options.asr_options = MyCustomAsrOptions() # unknown to factory # after from docling.pipeline.asr_transcriber import InlineAsrWhisperOptions pipeline_options.asr_options = InlineAsrWhisperOptions()
Defensive patterns
Strategy: type-guard
Validate before calling
from docling.pipeline.asr_transcriber import (
InlineAsrMlxWhisperOptions, InlineAsrWhisperOptions, InlineAsrWhisperS2TOptions)
SUPPORTED_ASR_OPTIONS = (InlineAsrWhisperOptions, InlineAsrMlxWhisperOptions, InlineAsrWhisperS2TOptions)
assert isinstance(asr_options, SUPPORTED_ASR_OPTIONS), f'unsupported engine options: {type(asr_options).__name__}' Type guard
def is_supported_asr_options(o) -> bool:
return isinstance(o, (InlineAsrWhisperOptions, InlineAsrMlxWhisperOptions, InlineAsrWhisperS2TOptions)) Prevention
- Always set asr_options to a concrete engine class from the docling version you run
- After upgrades, construct options via the installed version's own API instead of reusing serialized/config files
When it happens
Trigger: Passing an unrecognized object as asr_options to the inline ASR pipeline: e.g. a user-defined AsrOptions subclass, a dict, an options object from an older/newer docling version whose class identity differs, or a plain AsrOptions base instance where a specific engine options class is required.
Common situations: Version mismatches after upgrade/downgrade (options classes live in different modules, isinstance fails across duplicates); plugins trying to add a custom ASR engine by subclassing; forgetting to set a concrete engine in asr_options.
Related errors
- Expected OnnxRuntimeImageClassificationEngineOptions, got {t
- Expected TransformersImageClassificationEngineOptions, got {
- Expected ApiKserveV2ImageClassificationEngineOptions, got {t
- Unknown engine type: {options.engine_type}
- Expected OnnxRuntimeObjectDetectionEngineOptions, got {type(
AI-assisted analysis of docling-project/docling@61d76f1ff3 (2026-08-14).
Data as JSON: /api/errors/471eb81005e84bfa.
Report an issue: GitHub.