{"record":{"id":"2dd327638959cbac","repo":"BerriAI/litellm","slug":"input-file-id-is-required-but-not-provided","errorCode":null,"errorMessage":"input_file_id is required, but not provided","messagePattern":"input_file_id is required, but not provided","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/vertex_ai/batches/transformation.py","lineNumber":32,"sourceCode":"class VertexAIBatchTransformation:\n    \"\"\"\n    Transforms OpenAI Batch requests to Vertex AI Batch requests\n\n    API Ref: https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/batch-prediction-gemini\n    \"\"\"\n\n    @classmethod\n    def transform_openai_batch_request_to_vertex_ai_batch_request(\n        cls,\n        request: CreateBatchRequest,\n    ) -> VertexAIBatchPredictionJob:\n        \"\"\"\n        Transforms OpenAI Batch requests to Vertex AI Batch requests\n        \"\"\"\n        request_display_name: Final = f\"litellm-vertex-batch-{uuid.uuid4()}\"\n        input_file_id: Final = request.get(\"input_file_id\")\n        if input_file_id is None:\n            raise ValueError(\"input_file_id is required, but not provided\")\n        input_config: InputConfig = InputConfig(gcsSource=GcsSource(uris=[input_file_id]), instancesFormat=\"jsonl\")\n        model: Final[str] = cls._get_model_from_gcs_file(input_file_id)\n        output_config: Final[OutputConfig] = OutputConfig(\n            predictionsFormat=\"jsonl\",\n            gcsDestination=GcsDestination(outputUriPrefix=cls._get_gcs_uri_prefix_from_file(input_file_id)),\n        )\n        return VertexAIBatchPredictionJob(\n            inputConfig=input_config,\n            outputConfig=output_config,\n            model=model,\n            displayName=request_display_name,\n        )\n\n    @classmethod\n    def transform_vertex_ai_batch_response_to_openai_batch_response(\n        cls, response: VertexBatchPredictionResponse\n    ) -> LiteLLMBatch:\n        return LiteLLMBatch(","sourceCodeStart":14,"sourceCodeEnd":50,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/vertex_ai/batches/transformation.py#L14-L50","documentation":"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.","triggerScenarios":"Triggered when creating a Vertex AI batch without providing input_file_id.","commonSituations":"See trigger scenarios.","solutions":["Provide input_file_id when creating a Vertex AI batch job.","Upload the input file first (POST /v1/files with custom_llm_provider=vertex_ai) and use the returned id."],"exampleFix":"litellm.create_batch(..., input_file_id=\"<file-id>\", custom_llm_provider=\"vertex_ai\")","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}