Gemini yerel

İçerik Oluştur

Google Gemini API formatını kullanarak içerik oluşturur

POST
/v1beta/models/{model}:generateContent

Gemini Models API tarafından döndürülen bir modelle Gemini istek ve yanıt biçimlerini kullanın. ProtoJSON lowerCamelCase ve karşılık gelen proto snake_case alan adları kabul edilir. Desteklenen isteğe bağlı alanlar ve değerler seçilen modele bağlıdır.

Yol Parametreleri

modelstringpathzorunlu

Model adı (örneğin, gemini-2.5-pro, gemini-3.5-flash).

Sorgu Parametreleri

keystringquery

API anahtarı (header kimlik doğrulamasına alternatif).

Kimlik Doğrulama

Gemini uç noktaları birden fazla kimlik doğrulama yöntemini destekler:

  • ?key=YOUR_API_KEY sorgu parametresi
  • x-goog-api-key: YOUR_API_KEY üst bilgisi
  • Authorization: Bearer YOUR_API_KEY üst bilgisi

İstek Gövdesi

contentsarrayzorunlu

parts ve isteğe bağlı role içeren konuşma içeriği. Medya için inlineData / inline_data veya fileData / file_data kullanılır. TokenLab’in oluşturduğu Files ve Cache ID’leri yalnızca sahibi olan Workspace içinde kullanılabilir.

systemInstructionobject

Model için sistem talimatı.

generationConfigobject

temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema ve thinkingConfig gibi üretim ayarları. Karşılık gelen snake_case adları da kabul edilir. Değerler ve kombinasyonlar modele bağlıdır.

safetySettingsarray

Güvenlik filtresi ayarları.

Yanıt

candidatesarray

Oluşturulan içerik adayları.

usageMetadataobject

Token kullanım bilgisi.

İstek

curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [{"text": "Hello, Gemini!"}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'

Çok modlu giriş örnekleri

Gemini çok modlu isteklerinde medyayı contents[].parts[] içine yerleştirin ve satır içi byte ya da URL tabanlı dosya referansı kullanın.

Genel Gemini sözleşmesinde şu anda desteklenen medya kategorileri:

  • görsel
  • ses
  • video

Satır içi medya için inlineData veya inline_data kullanın ve Base64 kodlanmış dosya baytlarını gönderin.

URL tabanlı medya için fileData veya file_data kullanın ve herkese açık bir https URL'i gönderin.

Görsel giriş örneği

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Lütfen bu görseli açıklayın." },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

Ses giriş örneği

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Lütfen bu sesi yazıya dökün ve özetleyin." },
        {
          "file_data": {
            "mime_type": "audio/mpeg",
            "file_uri": "https://example.com/sample.mp3"
          }
        }
      ]
    }
  ]
}

Video giriş örneği

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Lütfen bu videoyu kısaca açıklayın." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/sample.mp4"
          }
        }
      ]
    }
  ]
}

Yanıt

Response
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {"text": "Hello! How can I assist you today?"}
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 5,
    "candidatesTokenCount": 10,
    "totalTokenCount": 15
  }
}

Video Girdi Örneği

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this video." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/demo.mp4"
          }
        }
      ]
    }
  ]
}

Ses Girdi Örneği

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this audio." },
        {
          "fileData": {
            "mimeType": "audio/mpeg",
            "fileUri": "https://example.com/demo.mp3"
          }
        }
      ]
    }
  ]
}

Yetkilendirme

BearerAuth
AuthorizationBearer <token>

API Anahtarı kimlik doğrulaması. API anahtarlarını Dashboard > API > API Keys bölümünden oluşturun veya yönetin.

Konum: header

Yol parametreleri

model*string

Model adı (ör. gemini-2.5-pro)

Sorgu parametreleri

key?string

API anahtarı (başlık kimlik doğrulamasına alternatif)

Başlıklar

X-TokenLab-Delivery-Policy?string

İstek bazlı Teslimat politikası. API anahtarı ve Çalışma Alanı varsayılanlarını geçersiz kılar. Otomatik olarak önce TokenLab Verified dener ve çıktı, istek kabulü veya kalıcı kaynak oluşturma öncesinde bir kez Official seçeneğine geçiş yapabilir.

Geçerli değerler

  • "auto"
  • "verified"
  • "official"

İstek gövdesi

application/json

Yerel Gemini GenerateContent isteği. ProtoJSON lowerCamelCase ve orijinal proto snake_case isimlerinin her ikisi de kabul edilir ve korunur; karma istekler dahil. Bir alanın her iki yazımı da mevcutsa, TokenLab bunları birleştirmez veya yerel bir öncelik belirlemez. Bilinmeyen alanlar en iyi çaba esasına göre iletilir.

Yanıt

application/json

application/json

application/json

application/json

application/json

application/json