Gemini yerel
İçerik Oluşturma (Generate Content)
Google Gemini API formatını kullanarak içerik oluşturur
Gemini Models API tarafından döndürülen bir modeli kullanarak Gemini istek ve yanıt formatlarını kullanın. ProtoJSON lowerCamelCase ve buna 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 (Path Parameters)
Model adı (örneğin, gemini-2.5-pro, gemini-3.5-flash).
Sorgu Parametreleri (Query Parameters)
API anahtarı (başlık kimlik doğrulamasına alternatif).
Kimlik Doğrulama (Authentication)
Gemini uç noktaları birden fazla kimlik doğrulama yöntemini destekler:
?key=YOUR_API_KEYsorgu parametresix-goog-api-key: YOUR_API_KEYbaşlığıAuthorization: Bearer YOUR_API_KEYbaşlığı
İstek Gövdesi (Request Body)
parts ve isteğe bağlı bir role içeren konuşma içerikleri. Medya parçaları inlineData / inline_data veya fileData / file_data kullanır. TokenLab tarafından oluşturulan Dosyalar ve Önbellek Kimlikleri (Cache IDs) yalnızca kendi Çalışma Alanlarında (Workspace) kullanılabilir.
Model için sistem talimatı.
temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema ve thinkingConfig gibi oluşturma ayarları. Karşılık gelen snake_case isimleri de kabul edilir. Desteklenen değerler ve kombinasyonlar modele bağlıdır.
Güvenlik filtresi ayarları.
Yukarıda gösterilen her lowerCamelCase alan, resmi proto snake_case yazımıyla da kullanılabilir; örneğin system_instruction, generation_config, safety_settings, tool_config, cached_content, file_data.file_uri ve inline_data.mime_type.
Desteklenen Yöntemler (Supported Methods)
Gemini uyumlu API; model listeleme/getirme, generateContent, streamGenerateContent, countTokens, embedContent ve batchEmbedContents yöntemlerini içerir. Gemini Interactions ve Live kullanılamaz.
Yanıt (Response)
Oluşturulan içerik adayları.
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
}
}'Görsel Giriş Örneği (Vision Input Example)
Gemini çok modlu (multimodal) istekleri için medyayı contents[].parts[] içine satır içi baytlar veya URL tabanlı dosya referansları kullanarak yerleştirin.
Genel Gemini sözleşmesindeki desteklenen medya kategorileri:
- image
- audio
- video
Satır içi medya için inlineData veya inline_data kullanın ve Base64 kodlu dosya baytlarını iletin.
URL tabanlı medya için fileData veya file_data kullanın ve herkese açık bir https URL'si iletin.
Video Giriş Örneği
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this video." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/demo.mp4"
}
}
]
}
]
}Ses Giriş Örneği
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this audio." },
{
"fileData": {
"mimeType": "audio/mpeg",
"fileUri": "https://example.com/demo.mp3"
}
}
]
}
]
}Görsel Giriş Örneği
Satır içi görsel baytlarını kullanın:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this image." },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}Bir görsel URL'si kullanın:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this image." },
{
"fileData": {
"mimeType": "image/jpeg",
"fileUri": "https://example.com/demo.jpg"
}
}
]
}
]
}Ses Giriş Örneği
Bir ses URL'si kullanın:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Transcribe and summarize this audio." },
{
"file_data": {
"mime_type": "audio/mpeg",
"file_uri": "https://example.com/sample.mp3"
}
}
]
}
]
}Video Giriş Örneği
Bir video URL'si kullanın:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Describe this video briefly." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/sample.mp4"
}
}
]
}
]
}Yanıt
{
"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
}
}İlgili Arayüzler (Related interfaces)
Başka bir arayüz kullanmadan önce seçilen modelin güncel model ayrıntılarını okuyun. Kullanılabilirlik ve istek alanları modele bağlıdır.
| HTTP | API |
|---|---|
| POST | /v1beta/models/{model}:countTokens |
| POST | /v1beta/models/{model}:embedContent |
| POST | /v1beta/models/{model}:batchEmbedContents |
Token sayımı bir API anahtarı gerektirir ve ücretlendirilmez. Döndürülen giriş sayısı planlama için bir tahmindir; ücretlendirme için nihai yanıt kullanımını ve faturalandırma kaydını kullanın.
countTokens: contents / generateContentRequest
embedContent: content, taskType, title, outputDimensionality
batchEmbedContents: requests
Yetkilendirme
BearerAuth 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 adı (ör. gemini-2.5-pro)
Sorgu parametreleri
API anahtarı (başlık kimlik doğrulamasına alternatif)
Başlıklar
İ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