BerriAI/litellm · error · ValueError

Batch record for /v1/responses is missing required `input` f

Error message

Batch record for /v1/responses is missing required `input` field: model={openai_request_body.get('model', '')}

What it means

Error "Batch record for /v1/responses is missing required `input` field: model={openai_request_body.get('model', '')}" thrown in BerriAI/litellm.

Source

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

    @staticmethod
    def _transform_responses_body_to_chat_body(openai_request_body: _OpenAIBatchRecordBody) -> Mapping[str, object]:
        """
        Rewrite an OpenAI `/v1/responses` batch body as a Chat Completions body.

        Delegates to the same Responses-to-Chat bridge the real-time path uses
        for providers without a native Responses API (which is every Bedrock
        model), so `input`, `instructions`, `max_output_tokens` and the tool
        params translate identically in batch and real time. The bridge always
        emits a `tools` key; an empty one is dropped rather than shipped as an
        empty array inside `modelInput`.
        """
        from litellm.responses.litellm_completion_transformation.transformation import (
            LiteLLMCompletionResponsesConfig,
        )

        responses_input: Final = openai_request_body.get("input")
        if responses_input is None:
            raise ValueError(
                "Batch record for /v1/responses is missing required `input` field: "
                f"model={openai_request_body.get('model', '')}"
            )
        chat_body: Final[Mapping[str, object]] = (
            LiteLLMCompletionResponsesConfig.transform_responses_api_request_to_chat_completion_request(
                model=openai_request_body.get("model", ""),
                input=_responses_input_adapter().validate_python(responses_input),
                responses_api_request=_responses_request_adapter().validate_python(
                    _frozen_mapping(
                        (key, value) for key, value in openai_request_body.items() if key not in ("model", "input")
                    )
                ),
                metadata=openai_request_body.get("metadata"),
            )
        )
        return _frozen_mapping((key, value) for key, value in chat_body.items() if key != "tools" or value)

    @staticmethod

View on GitHub (pinned to 6c2dcb801b)

Solutions

  1. Include an `input` field in each /v1/responses batch record.

When it happens

Trigger: Thrown at litellm/llms/bedrock/files/transformation.py:675 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/58deaf4e1947d032. Report an issue: GitHub.