BerriAI/litellm · error · ValueError

input_file_id is required, but not provided

Error message

input_file_id is required, but not provided

What it means

Validation in the OpenAI-to-Vertex batch request transform: the OpenAI batch request carried no input_file_id, so there is no source JSONL file to reference in the Vertex AI batch prediction job.

Source

Thrown at litellm/llms/vertex_ai/batches/transformation.py:32

class VertexAIBatchTransformation:
    """
    Transforms OpenAI Batch requests to Vertex AI Batch requests

    API Ref: https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/batch-prediction-gemini
    """

    @classmethod
    def transform_openai_batch_request_to_vertex_ai_batch_request(
        cls,
        request: CreateBatchRequest,
    ) -> VertexAIBatchPredictionJob:
        """
        Transforms OpenAI Batch requests to Vertex AI Batch requests
        """
        request_display_name: Final = f"litellm-vertex-batch-{uuid.uuid4()}"
        input_file_id: Final = request.get("input_file_id")
        if input_file_id is None:
            raise ValueError("input_file_id is required, but not provided")
        input_config: InputConfig = InputConfig(gcsSource=GcsSource(uris=[input_file_id]), instancesFormat="jsonl")
        model: Final[str] = cls._get_model_from_gcs_file(input_file_id)
        output_config: Final[OutputConfig] = OutputConfig(
            predictionsFormat="jsonl",
            gcsDestination=GcsDestination(outputUriPrefix=cls._get_gcs_uri_prefix_from_file(input_file_id)),
        )
        return VertexAIBatchPredictionJob(
            inputConfig=input_config,
            outputConfig=output_config,
            model=model,
            displayName=request_display_name,
        )

    @classmethod
    def transform_vertex_ai_batch_response_to_openai_batch_response(
        cls, response: VertexBatchPredictionResponse
    ) -> LiteLLMBatch:
        return LiteLLMBatch(

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Provide input_file_id when creating a Vertex AI batch job.
  2. Upload the input file first (POST /v1/files with custom_llm_provider=vertex_ai) and use the returned id.

Example fix

litellm.create_batch(..., input_file_id="<file-id>", custom_llm_provider="vertex_ai")
Defensive patterns

Strategy: validation

When it happens

Trigger: Triggered when creating a Vertex AI batch without providing input_file_id.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/2dd327638959cbac. Report an issue: GitHub.