Gemini yerel
İçerik Oluştur
Google Gemini API formatını kullanarak içerik oluşturur
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
Model adı (örneğin, gemini-2.5-pro, gemini-3.5-flash).
Sorgu Parametreleri
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_KEYsorgu parametresix-goog-api-key: YOUR_API_KEYüst bilgisiAuthorization: Bearer YOUR_API_KEYüst bilgisi
İstek Gövdesi
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.
Model için sistem talimatı.
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.
Güvenlik filtresi ayarları.
Yanıt
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
}
}'Ç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
{
"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 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