googleapis / googleapis/python-genai

register_files should not require google.auth.credentials.Credentials when client uses Gemini API Key

Open
#2,535 8 comments 0 reactions 1 assignee Claimed by @Venkaiahbabuneelam View on GitHub
priority: p2 type: bug
Dominant language
Python
Stars
4k
Forks
1k
Avg merge
2d 11h
Merged PRs (30d)
40

Description

#### Environment details

- Programming language: Python 3.14
- OS: Linux
- Package version: 1.68.0

#### Steps to reproduce

`register_files` currently requires `google.auth.credentials.Credentials`.

But the API request was rejected by Gemini API backend when:
1. a `google.auth.credentials.Credentials` is supplied; **and**
2. the client is instantiated with a Gemini API Key.

```
ClientError: 401 UNAUTHENTICATED. {'error': {'code': 401, 'message': 'API key for authentication is used with other authentication credentials. Expected only one form of authentication.', 'status': 'UNAUTHENTICATED', 'details': [{'@type':
'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'OVERLOADED_CREDENTIALS', 'metadata': {'method': 'google.ai.generativelanguage.v1beta.FileService.RegisterFiles', 'service': 'generativelanguage.googleapis.com'}}]}}
```

When calling the file register API directly with only the Gemini API Key (service account bound), it works as expected.

It requires a workaround to call the private `_register_files` method to dance around this check. This seems to be the case even for the latest google-genai@2.7.0.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.