BerriAI/litellm · error · HTTPException

Failed to create file. Please try again.

Error message

Failed to create file. Please try again.

What it means

HTTPException raised as a catch-all when routing/creating the file through the provider or storage backend raised an unexpected exception. The client sees a generic retryable failure message while details are logged — typically transient upstream or DB errors during file creation.

Source

Thrown at litellm/proxy/openai_files_endpoints/files_endpoints.py:517

            **data,
        )

        response = await route_create_file(
            llm_router=llm_router,
            _create_file_request=_create_file_request,
            purpose=purpose,
            proxy_logging_obj=proxy_logging_obj,
            user_api_key_dict=user_api_key_dict,
            target_model_names_list=target_model_names_list,
            is_router_model=is_router_model,
            router_model=router_model,
            custom_llm_provider=custom_llm_provider,
            model=model_param,
            target_storage=target_storage,
        )

        if response is None:
            raise HTTPException(
                status_code=500,
                detail={"error": "Failed to create file. Please try again."},
            )
        ### ALERTING ###
        asyncio.create_task(
            proxy_logging_obj.update_request_status(litellm_call_id=data.get("litellm_call_id", ""), status="success")
        )

        ## POST CALL HOOKS ###
        _response: Final = await proxy_logging_obj.post_call_success_hook(
            data=data, user_api_key_dict=user_api_key_dict, response=response
        )
        if _response is not None and isinstance(_response, OpenAIFileObject):
            response = _response

        ### RESPONSE HEADERS ###
        hidden_params: Final = getattr(response, "_hidden_params", {}) or {}
        model_id: Final = hidden_params.get("model_id", None) or ""

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Retry the file creation; if it persists, check proxy logs and the storage backend.
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at litellm/proxy/openai_files_endpoints/files_endpoints.py:517 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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