Skip to content

Cannot delete file from gemini using openai client #21

@KarolGongolaCledar

Description

@KarolGongolaCledar

I have script like this:

import os
from pathlib import Path
from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()

api_key = os.environ.get("LITELLM_API_KEY")
base_url = os.environ.get("LITELLM_BASE_URL")

# Create openai client using litellm-proxy
client = OpenAI(base_url=base_url, api_key=api_key)

# Upload file to gemini
pdf_path = Path("SOME_FILE.pdf")
with pdf_path.open("rb") as f:
    pdf_file = client.files.create(
        file=f,
        purpose="user_data",
        extra_body={"custom_llm_provider": "gemini"}
    )
# Delete file from gemini
client.files.delete(
    file_id=pdf_file.id,
    extra_body={"custom_llm_provider": "gemini"}
)

Upload works, but it fails to delete file with following error:

Traceback (most recent call last):
  File "XXX/test_delete_file_litellm.py", line 23, in <module>
    client.files.delete(
  File "XXX/.venv/lib/python3.12/site-packages/openai/resources/files.py", line 247, in delete
    return self._delete(
           ^^^^^^^^^^^^^
  File "XXX/.venv/lib/python3.12/site-packages/openai/_base_client.py", line 1292, in delete
    return self.request(cast_to, opts)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "XXX/.venv/lib/python3.12/site-packages/openai/_base_client.py", line 1044, in request
    raise self._make_status_error_from_response(err.response) from None
openai.BadRequestError: Error code: 400 - {'error': {'message': "litellm.BadRequestError: LiteLLM doesn't support gemini for 'create_batch'. Only 'openai' is supported.", 'type': None, 'param': None, 'code': '400'}}

My litellm_config.yaml is:

model_list:
  - model_name: "gemini-2.5-flash"
    litellm_params:
      model: gemini/gemini-2.5-flash
      api_key: os.environ/GEMINI_API_KEY
files_settings:
  - custom_llm_provider: gemini
    api_key: os.environ/GEMINI_API_KEY
general_settings:
  master_key: sk-1234
  database_url: "postgres://postgres:postgres@pg:5432/litellm"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions