{"record":{"id":"6807fd78f7527243","repo":"BerriAI/litellm","slug":"unsupported-encoding-format-value-volcengine-s","errorCode":null,"errorMessage":"Unsupported encoding_format: {value}. Volcengine supports: float, base64, null","messagePattern":"Unsupported encoding_format: (.+?)\\. Volcengine supports: float, base64, null","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/volcengine/embedding/transformation.py","lineNumber":110,"sourceCode":"        Map OpenAI embedding parameters to Volcengine format.\n\n        Args:\n            non_default_params: Parameters that are not default values\n            optional_params: Optional parameters dict to update\n            model: The model name\n            drop_params: Whether to drop unsupported parameters\n\n        Returns:\n            Updated optional_params dict\n        \"\"\"\n        for param, value in non_default_params.items():\n            if param == \"encoding_format\":\n                # Volcengine supports: float, base64, null\n                if value in [\"float\", \"base64\", None]:\n                    optional_params[\"encoding_format\"] = value\n                else:\n                    if not drop_params:\n                        raise ValueError(\n                            f\"Unsupported encoding_format: {value}. Volcengine supports: float, base64, null\"\n                        )\n            elif param == \"user\":\n                # Keep user parameter as-is\n                optional_params[\"user\"] = value\n            elif param in self.get_supported_openai_params(model):\n                optional_params[param] = value\n            elif not drop_params:\n                raise ValueError(f\"Unsupported parameter for Volcengine: {param}\")\n\n        return optional_params\n\n    def transform_embedding_request(\n        self,\n        model: str,\n        input: AllEmbeddingInputValues,\n        optional_params: dict,\n        headers: dict,","sourceCodeStart":92,"sourceCodeEnd":128,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/volcengine/embedding/transformation.py#L92-L128","documentation":"Volcengine (ByteDance Ark) embedding models only accept encoding_format values 'float', 'base64', or null. During map_openai_params, any other value raises ValueError unless drop_params is enabled, in which case the unsupported value is silently skipped.","triggerScenarios":"litellm.embedding(model=\"volcengine/<ep-202...>\", input=[\"text\"], encoding_format=\"int8\") or any OpenAI-style encoding_format other than float/base64; code ported from providers that accept 'embedding_format' variants or custom quantization labels.","commonSituations":"Copy-pasting OpenAI embedding code that used base64/float successfully but then switching the value to a non-standard string; sharing one encoding_format constant across providers where only some support it; SDK upgrades that began validating this field.","solutions":["Use encoding_format=\"float\" (default) or \"base64\".","If the value is optional for you, omit encoding_format entirely.","Set litellm.drop_params = True (or pass drop_params=True) so unsupported values are dropped instead of raising - only if you accept the default behavior.","Branch per provider: keep a dict of supported encoding_format values keyed by provider."],"exampleFix":"# before\nresp = litellm.embedding(\n    model=\"volcengine/ep-20240903144444\",\n    input=[\"hello world\"],\n    encoding_format=\"int8\",  # ValueError\n)\n\n# after\nresp = litellm.embedding(\n    model=\"volcengine/ep-20240903144444\",\n    input=[\"hello world\"],\n    encoding_format=\"base64\",\n)","handlingStrategy":"validation","validationCode":"SUPPORTED = {\"float\", \"base64\", None}\n\ndef normalize_encoding_format(value: str | None, provider: str) -> str | None:\n    if provider == \"volcengine\" and value not in SUPPORTED:\n        return \"float\"  # or raise, per your policy\n    return value\n\nresp = litellm.embedding(\n    model=model,\n    input=inputs,\n    encoding_format=normalize_encoding_format(encoding_format, \"volcengine\"),\n)","typeGuard":"const volcengineEncodingOk = (v: unknown): boolean =>\n    v === null || v === undefined || v === \"float\" || v === \"base64\";","tryCatchPattern":"try:\n    resp = litellm.embedding(model=\"volcengine/ep-...\", input=inputs, encoding_format=fmt)\nexcept ValueError as e:\n    if \"Unsupported encoding_format\" in str(e):\n        resp = litellm.embedding(model=\"volcengine/ep-...\", input=inputs, encoding_format=\"float\")\n    else:\n        raise","preventionTips":["Keep a per-provider allowlist of encoding_format values in your embedding wrapper.","Default to omitting encoding_format when you do not need base64 vectors.","Enable litellm.drop_params only if silently falling back to defaults is acceptable."],"tags":["volcengine","embedding","encoding-format","parameter-validation","litellm"],"backgroundTag":"unsupported-parameter-value","analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","schemaVersion":2},"datasetVersion":"2026-08-21T13:17:26.733Z"}