Dokümantasyona Dön

Gemini API ve CLI

Yerel Gemini protokolü

ustaGPT, Google'ın yerel Gemini tel protokolünü uygular; bu protokole konuşan her SDK veya istemci taban URL olarak ustaGPT'yi kullanabilir ve ustaGPT API anahtarınızla çalışabilir.

Üçüncü taraf bir fork'a, yamalanmış bir derlemeye veya birinin npm postinstall betiklerine ihtiyacınız yok. Resmi istemciyi ustaGPT'ye yönlendirin, doğrudan çalışır.

Adım 1: Yerel API'yi çağırın

Endpoint POST /v1beta/models/gemini-2.5-flash:generateContent. Google'ın kendi istemcilerinin gönderdiği başlıkla, x-goog-api-key ile kimlik doğrulama yapın.

cURL
curl -X POST "https://api.ustagpt.com.tr/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: YOUR_API_KEY" \
  -d '{
    "contents": [
      {"parts": [{"text": "Hello!"}]}
    ]
  }'

Üç başlık kabul edilir: Authorization: Bearer, x-api-key (Anthropic biçimi) ve x-goog-api-key (Gemini biçimi).

API anahtarları yalnızca istek başlıklarında kabul edilir. Anahtarı ?key= sorgu parametresi olarak geçmek desteklenmez; çünkü URL'deki bir anahtar proxy günlüklerine, tarayıcı geçmişine ve Referer başlığına sızar.

Adım 2: Bir eylem seçin

Aynı yolda üç eylem desteklenir. Diğer tüm eylemler "Unknown action" hatasıyla 400 döner.

EylemAmaç
generateContentTek seferde üretim, tam bir GenerateContentResponse döner
streamGenerateContentGenerateContentResponse parçalarını Server-Sent Events olarak akıtır
countTokensVerilen içerik için {"totalTokens": N} döner

Google'ın API'si akışı seçmek için ?alt=sse ister. ustaGPT :streamGenerateContent isteğine her zaman Content-Type: text/event-stream ile yanıt verir, bu yüzden burada parametre isteğe bağlıdır — ancak aynı URL'nin Google'ın kendi endpointsında da çalışması için korumanızı öneririz.

Streaming
curl -N "https://api.ustagpt.com.tr/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: YOUR_API_KEY" \
  -d '{
    "contents": [
      {"parts": [{"text": "Write a haiku about Istanbul"}]}
    ]
  }'

Adım 3: Token sayın

countTokens
curl -X POST "https://api.ustagpt.com.tr/v1beta/models/gemini-2.5-flash:countTokens" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: YOUR_API_KEY" \
  -d '{
    "contents": [
      {"parts": [{"text": "Hello, how many tokens is this?"}]}
    ]
  }'

Adım 4: Bir SDK kullanın

Resmi Google Gen AI SDK değişiklik olmadan çalışır; yalnızca taban URL ve anahtar farklıdır.

Python (Google Gen AI SDK)
from google import genai

client = genai.Client(
    api_key="YOUR_API_KEY",
    http_options={"base_url": "https://api.ustagpt.com.tr"}
)

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="Hello!"
)

print(response.text)

Adım 5: Resmi Gemini CLI'yi kullanın

Google'ın resmi CLI'si iki ortam değişkeniyle ustaGPT'ye yönlendirilebilir. Node.js 20 veya üzeri gerekir.

Kurulum
npm install -g @google/gemini-cli

GOOGLE_GEMINI_BASE_URL API endpointsını geçersiz kılar; GEMINI_API_KEY kimlik bilgisini sağlar. Fork'a veya özel bir dala gerek yok.

Yapılandırma
export GOOGLE_GEMINI_BASE_URL="https://api.ustagpt.com.tr"
export GEMINI_API_KEY="your_ustagpt_api_key"

Ortam yapılandırması

CLI'nin model seçicisi kendi yerleşik Gemini listesinden beslenir; bu yüzden yalnızca ustaGPT'de olan model adları orada görünmeyebilir. Modeli -m bayrağıyla açıkça belirtin.
Çalıştırma
gemini -m gemini-2.5-flash

Gemini CLI başlatma

Çalıştıktan sonra CLI her istek için ustaGPT'yi kullanır. Google hesabınızla giriş yapmazsınız.

Gemini CLI kullanım sonuçları

Desteklenen Modeller

Bu endpointda adresleyebileceğiniz Google ailesi modeller:

  • gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite
  • gemini-3.1-pro-preview, gemini-3.6-flash, gemini-3.5-flash
  • gemini-embedding-2