BerriAI/litellm · error · ValueError

Unsupported file content type

Error message

Unsupported file content type

What it means

Error "Unsupported file content type" thrown in BerriAI/litellm.

Source

Thrown at litellm/llms/bedrock/files/transformation.py:893

        if FilesAPIUtils.is_batch_jsonl_file(
            create_file_data=create_file_data,
            extracted_file_data=extracted_file_data,
        ):
            ## Transform JSONL content to Bedrock format
            original_file_content: Final = self._get_content_from_openai_file(extracted_file_data_content)
            openai_jsonl_content = [json.loads(line) for line in original_file_content.splitlines() if line.strip()]
            litellm_params_model: Final = litellm_params.get("model")
            target_model: Final = model or (litellm_params_model if isinstance(litellm_params_model, str) else "")
            bedrock_jsonl_content = self._transform_openai_jsonl_content_to_bedrock_jsonl_content(
                openai_jsonl_content, target_model=target_model
            )
            file_content = "\n".join(json.dumps(item) for item in bedrock_jsonl_content)
        elif isinstance(extracted_file_data_content, bytes):
            file_content = extracted_file_data_content.decode("utf-8")
        elif isinstance(extracted_file_data_content, str):
            file_content = extracted_file_data_content
        else:
            raise ValueError("Unsupported file content type")

        # Get the S3 URL for upload
        api_base: Final = self.get_complete_file_url(
            api_base=None,
            api_key=None,
            model=model,
            optional_params=optional_params,
            litellm_params=litellm_params,
            data=create_file_data,
        )

        # s3_region_name always wins for S3 operations (same priority as in
        # get_complete_file_url above). Overwrite aws_region_name unconditionally,
        # after the deployment-credential merge, so the SigV4 region matches the
        # URL region, avoiding SignatureDoesNotMatch.
        merged_params: Final = merge_bedrock_aws_request_params(litellm_params, optional_params)
        s3_region_name: Final = litellm_params.get("s3_region_name") or optional_params.get("s3_region_name")
        request_params: Final = (

View on GitHub (pinned to 6c2dcb801b)

Solutions

  1. Pass file content as a supported type (bytes or file-like object).

When it happens

Trigger: Thrown at litellm/llms/bedrock/files/transformation.py:893 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15). Data as JSON: /api/errors/f10dc493971ad042. Report an issue: GitHub.