geminicli2api ist ein Open-Source-Proxy-Server, der auf FastAPI basiert und auf GitHub gehostet wird. Er kombiniert Google Zwillinge CLI-Funktionalität in eine OpenAI-kompatible API-Schnittstelle, sowie Unterstützung für native Zwillings-API Endpunkte. Entwickler können Google Gemini-Modelle über das vertraute OpenAI-API-Format oder die einfache Gemini-API aufrufen, und zwar kostenlos mit einem von Google bereitgestellten Kontingent an APIs. Das Projekt unterstützt Textgenerierung, multimodale Eingaben (z. B. Text und Bilder), Echtzeit-Streaming-Antworten und mehr. Es bietet eine Vielzahl von Authentifizierungsmethoden, die sich für den schnellen Einsatz in lokalen oder Cloud-Umgebungen eignen und in Entwicklungs-, Test- und Produktionsumgebungen weit verbreitet sind. geminicli2api ist leichtgewichtig, einfach zu konfigurieren und eignet sich besonders für Entwickler, die Gemini-Funktionen in ihre bestehenden Arbeitsabläufe integrieren müssen.
Funktionsliste
- Bietet OpenAI-kompatible
/v1/chat/completionsim Gesang antworten/v1/modelsEndpunkte, wobei bestehende OpenAI-Tools angepasst werden. - Unterstützung für native Gemini-API-Endpunkte wie
/v1beta/models/{model}:generateContentDas Gemini-Modell kann direkt aus dem Gemini-Modell aufgerufen werden. - Unterstützt Echtzeit-Streaming-Antworten, geeignet für interaktive Dialoge oder die Erstellung langer Texte.
- Unterstützt multimodale Eingaben und verarbeitet gemischte Inhalte wie Text und Bilder.
- Bietet Google-Suchverbesserungen durch
-searchModellvarianten liefern genauere Antworten. - Unterstützung für die Steuerung des Gemini-Schlussfolgernden Prozesses mit dem
-nothinkingim Gesang antworten-maxthinkingModellvarianten passen die Tiefe der Argumentation an. - Unterstützt eine Vielzahl von Authentifizierungsmethoden, einschließlich Bearer-Tokens, Basic-Authentifizierung, API-Schlüssel usw.
- Unterstützt Docker-Container-Bereitstellungen und ist mit Hugging Face Spaces kompatibel.
Hilfe verwenden
Einbauverfahren
geminicli2api ist einfach zu installieren und zu konfigurieren und unterstützt sowohl lokal laufende als auch containerisierte Implementierungen. Nachfolgend finden Sie die detaillierten Schritte:
- Klon-Lager
Klonen Sie das geminicli2api-Repository lokal mit dem folgenden Befehl:git clone https://github.com/gzzhongqi/geminicli2api cd geminicli2api - Installation von Abhängigkeiten
Das Projekt basiert auf Python und FastAPI, wobei die Abhängigkeiten in derrequirements.txtein. Führen Sie den folgenden Befehl zur Installation aus:pip install -r requirements.txt - Umgebungsvariablen konfigurieren
geminicli2api muss mit authentifizierungsbezogenen Umgebungsvariablen konfiguriert werden. Erstellen Sie eine.envfügen Sie Folgendes hinzu:GEMINI_AUTH_PASSWORD=你的认证密码 GEMINI_CREDENTIALS={"client_id":"你的客户端ID","client_secret":"你的客户端密钥","token":"你的访问令牌","refresh_token":"你的刷新令牌","scopes":["https://www.googleapis.com/auth/cloud-platform"],"token_uri":"https://oauth2.googleapis.com/token"} PORT=8888GEMINI_AUTH_PASSWORDAuthentifizierungspasswort für den API-Zugang, erforderlich.GEMINI_CREDENTIALSJSON-String mit Google OAuth-Anmeldeinformationen, die dieclient_idundclient_secretusw. Felder.- Optionale Variablen:
GOOGLE_APPLICATION_CREDENTIALSPfad zur Datei mit den Google OAuth-Anmeldeinformationen.GOOGLE_CLOUD_PROJECTvielleichtGEMINI_PROJECT_IDGoogle Cloud Projekt-ID.
- Wenn Sie eine Datei mit Anmeldeinformationen verwenden, erstellen Sie
credentialsVerzeichnis in Ihrem Google Cloud Services-Konto.jsonDatei und setzen Sie dieGOOGLE_APPLICATION_CREDENTIALSZeigt auf den Dateipfad.
- lokaler Betrieb
Nachdem die Konfiguration abgeschlossen ist, führen Sie den folgenden Befehl aus, um den Dienst zu starten:python -m uvicorn app.main:app --host 0.0.0.0 --port 8888Dienst Standard Mithören
http://localhost:8888. - Docker-Bereitstellung
geminicli2api unterstützt die Bereitstellung in Docker-Containern und vereinfacht die Konfiguration der Umgebung.- Bauen Sie das Spiegelbild:
docker build -t geminicli2api . - Starten Sie den Container (Standardport 8888):
docker run -p 8888:8888 \ -e GEMINI_AUTH_PASSWORD=your_password \ -e GEMINI_CREDENTIALS='{"client_id":"...","token":"..."}' \ -e PORT=8888 \ geminicli2api - Verwenden Sie Docker Compose:
docker-compose up -dFür die Bereitstellung von Hugging Face Spaces verwenden Sie Port 7860:
docker-compose --profile hf up -d geminicli2api-hf
- Bauen Sie das Spiegelbild:
- Umarmung Gesicht Räume Entfaltung
- Melden Sie sich bei Hugging Face an und erstellen Sie einen neuen Docker Space.
- Laden Sie den Inhalt des Repositorys auf Space hoch.
- Fügen Sie eine Umgebungsvariable zu den Space-Einstellungen hinzu:
GEMINI_AUTH_PASSWORDim Gesang antwortenGEMINI_CREDENTIALS(oder eine andere Quelle für Referenzen). - Space baut den Dienst automatisch auf und stellt ihn bereit, wartet auf
http://<space-url>:7860.
Verwendung der API
geminicli2api bietet OpenAI-kompatible und native Gemini-API-Endpunkte, aus denen Entwickler je nach Bedarf wählen können.
OpenAI-kompatible API
Rufen Sie geminicli2api unter Verwendung der OpenAI-Client-Bibliothek auf, mit Endpunkten, die mit der OpenAI-API übereinstimmen.
typisches Beispiel(Python):
import openai
client = openai.OpenAI(
base_url="http://localhost:8888/v1",
api_key="your_password" # GEMINI_AUTH_PASSWORD
)
response = client.chat.completions.create(
model="gemini-2.5-pro-maxthinking",
messages=[{"role": "user", "content": "用简单语言解释相对论"}],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.reasoning_content:
print(f"推理过程: {chunk.choices[0].delta.reasoning_content}")
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
Native Gemini-API
Direkte Aufrufe an Gemini-API-Endpunkte unterstützen flexiblere Konfigurationen.
typisches Beispiel(Python):
import requests
headers = {
"Authorization": "Bearer your_password",
"Content-Type": "application/json"
}
data = {
"contents": [
{"role": "user", "parts": [{"text": "用简单语言解释相对论"}]}
],
"thinkingConfig": {"thinkingBudget": 32768, "includeThoughts": True}
}
response = requests.post(
"http://localhost:8888/v1beta/models/gemini-2.5-pro:generateContent",
headers=headers,
json=data
)
print(response.json())
Multimodale Eingänge
Unterstützt das Hochladen von Text und Bildern zum Versenden an /v1/chat/completions vielleicht /v1beta/models/{model}:generateContent.
typisches Beispiel(Bilder und Text hochladen):
curl -X POST http://localhost:8888/v1/chat/completions \
-H "Authorization: Bearer your_password" \
-H "Content-Type: application/json" \
-d '{"model": "gemini-2.5-pro", "messages": [{"role": "user", "content": "分析这张图片并描述内容"}], "files": ["./image.jpg"]}'
Verfahren zur Authentifizierung
Die folgenden Authentifizierungsmethoden werden unterstützt:
- Inhaber-Marke::
Authorization: Bearer your_password - Grundlegende Zertifizierung::
Authorization: Basic base64(username:your_password) - Parameter der Anfrage::
?key=your_password - Google Kopf::
x-goog-api-key: your_password
Unterstützte Modelle
- Basismodell:
gemini-2.5-proundgemini-2.5-flashundgemini-1.5-proundgemini-1.5-flashundgemini-1.0-pro - Varianten:
-searchAktivieren Sie Google-Suchverbesserungen (z. B.gemini-2.5-pro-search).-nothinkingReduzierung der Anzahl von Argumentationsschritten (z.B.gemini-2.5-flash-nothinking).-maxthinkingAufstockung des Budgets für Argumentation (z.B.gemini-2.5-pro-maxthinking).
caveat
- sicher
GEMINI_AUTH_PASSWORDgesetzt ist, andernfalls schlägt die API-Anfrage fehl. - Die Google OAuth-Anmeldeinformationen müssen gültig sein und sollten über die Google Cloud-Konsole bezogen werden.
- Streaming-Antworten erfordern eine Client-Unterstützung für die Verarbeitung von Chunked-Daten.
- Überprüfen Sie die Quoten für Google Cloud-Projekte, um zu vermeiden, dass die Grenzen für API-Aufrufe überschritten werden.
Anwendungsszenario
- Integration mit bestehenden OpenAI-Tools
Entwickler verwenden geminicli2api, um Gemini-Modelle in Tools einzubinden, die auf der OpenAI-API basieren (z. B. LangChain), und schnell zu Geminis freier Quote zu wechseln, ohne den Code zu ändern. - Erzeugung multimodaler Inhalte
Inhaltsersteller laden Bilder und Texte hoch, um Beschreibungen, Analysen oder kreative Inhalte zu erstellen, die sich für die Gestaltung von Werbung oder die Produktion von Lehrmaterial eignen. - Automatisierte Arbeitsabläufe
Unternehmen automatisieren die Verarbeitung von Dokumenten, die Erstellung von Berichten oder die Beantwortung von Kundenanfragen durch geminicli2api und verbessern so die betriebliche Effizienz.
QA
- Welche Authentifizierungsmethoden werden von geminicli2api unterstützt?
Unterstützt Bearer-Tokens, Basic-Authentifizierung, Abfrageparameter und Google-Header-Authentifizierung, was die Einrichtung desGEMINI_AUTH_PASSWORD. - Wie erhalte ich Google OAuth-Anmeldeinformationen?
Erstellen Sie ein Dienstkonto in der Google Cloud-Konsole, laden Sie die JSON-Schlüsseldatei herunter, geben Sie dieGEMINI_CREDENTIALSoder setzenGOOGLE_APPLICATION_CREDENTIALSPfad. - Welche Modellvarianten werden unterstützt?
etw. unterstützen-search(Google Search Enhanced),-nothinking(Reduzierte Argumentation),-maxthinking(Erhöhte Argumentation) Variante für diegemini-2.5-proim Gesang antwortengemini-2.5-flash. - Wie kann man sich in Hugging Face Spaces entfalten?
Forken Sie das Repository, erstellen Sie einen Docker Space, richten Sie dieGEMINI_AUTH_PASSWORDim Gesang antwortenGEMINI_CREDENTIALSDer Platz wird automatisch bereitgestellt.

































