{"record":{"id":"e923ecb48de61b17","repo":"docling-project/docling","slug":"the-specified-picture-description-kind-is-not-supp","errorCode":null,"errorMessage":"The specified picture description kind is not supported: {pipeline_options.picture_description_options.kind}.","messagePattern":"The specified picture description kind is not supported: (.+?)\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"docling/pipeline/base_pipeline.py","lineNumber":169,"sourceCode":"        super().__init__(pipeline_options)\n        self.pipeline_options: ConvertPipelineOptions\n\n        # We need picture classification to do chart_extraction\n        # Use local variable to avoid mutating shared pipeline_options\n        do_picture_classification = (\n            pipeline_options.do_picture_classification\n            or pipeline_options.do_chart_extraction\n        )\n\n        # ------ Common enrichment models working on all backends\n\n        # Picture description model\n        if (\n            picture_description_model := self._get_picture_description_model(\n                artifacts_path=self.artifacts_path\n            )\n        ) is None:\n            raise RuntimeError(\n                f\"The specified picture description kind is not supported: {pipeline_options.picture_description_options.kind}.\"\n            )\n\n        self.enrichment_pipe = [\n            # Document Picture Classifier\n            DocumentPictureClassifier(\n                enabled=do_picture_classification,\n                artifacts_path=self.artifacts_path,\n                options=pipeline_options.picture_classification_options,\n                accelerator_options=pipeline_options.accelerator_options,\n                enable_remote_services=pipeline_options.enable_remote_services,\n            ),\n            # Document Picture description\n            picture_description_model,\n        ]\n\n        # Lazily import torch-backed chart extraction only when enabled so\n        # docling-slim / ONNX-only installs can import DocumentConverter without","sourceCodeStart":151,"sourceCodeEnd":187,"githubUrl":"https://github.com/docling-project/docling/blob/61d76f1ff3f8428065465889f7b4577da7df704c/docling/pipeline/base_pipeline.py#L151-L187","documentation":"During pipeline initialization, _get_picture_description_model(artifacts_path) returns None when picture_description_options.kind does not match any supported backend (the registry of picture description models has no entry for that kind string). Because the model is unconditionally assigned (even when picture description is disabled), an unknown kind aborts pipeline construction with RuntimeError.","triggerScenarios":"Setting PdfPipelineOptions(do_picture_description=True/False) with picture_description_options=PictureDescriptionApiOptions or a custom options object whose kind is not in the supported set (e.g. a typo like 'smolvlm' vs 'SMOLDOCLING_SERVICE' or an API kind used where a local model is required). Also triggered by carrying an options object from an older docling version whose kinds were removed/renamed.","commonSituations":"Upgrading docling and reusing persisted pipeline options; enabling picture enrichment with a kind string from docs of a different version; API-description options used while enable_remote_services=False or artifacts_path forces local models.","solutions":["Set picture_description_options.kind to a supported value — check PictureDescriptionOptions/defaults via PdfPipelineOptions().picture_description_options and the models registry in this docling version","After upgrading, rebuild options from the current version's defaults instead of reusing serialized options","If you do not need picture descriptions, leave picture_description_options at its default rather than a hand-written kind string"],"exampleFix":"# before\nopts.picture_description_options = PictureDescriptionApiOptions(kind='smoldocling')  # unknown kind\n\n# after\nopts.picture_description_options.kind = 'SMOLDOCLING_SERVICE'  # a kind registered in this version","handlingStrategy":"validation","validationCode":"kind = opts.picture_description_options.kind\n# introspect the supported kinds registered in this docling version\nfrom docling.models.picture_description_model import PictureDescriptionModel  # module path may vary; check registry\nsupported = set(PictureDescriptionModel.get_models().keys()) if hasattr(PictureDescriptionModel, 'get_models') else None\nif supported is not None and kind not in supported:\n    raise ValueError(f'kind {kind!r} not in {sorted(supported)}')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Start from PdfPipelineOptions() defaults and change only documented fields instead of constructing options classes by hand","After a docling upgrade, re-validate any persisted/serialized pipeline options against the new version"],"tags":["picture-description","pipeline-options","configuration","enrichment"],"backgroundTag":null,"analyzedSha":"61d76f1ff3f8428065465889f7b4577da7df704c","analyzedAt":"2026-08-14T23:53:18.727Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}