Gemini native
Buat Konten
Menghasilkan konten menggunakan format Google Gemini API
Gunakan format permintaan dan respons Gemini dengan model yang dikembalikan Gemini Models API. Nama field ProtoJSON lowerCamelCase dan proto snake_case yang sesuai diterima. Field opsional dan nilai yang didukung bergantung pada model yang dipilih.
Parameter Path
Nama model (misalnya, gemini-2.5-pro, gemini-3.5-flash).
Parameter Query
API key (alternatif untuk autentikasi header).
Autentikasi
Endpoint Gemini mendukung beberapa metode autentikasi:
?key=YOUR_API_KEYparameter queryx-goog-api-key: YOUR_API_KEYheaderAuthorization: Bearer YOUR_API_KEYheader
Isi Permintaan
Konten percakapan dengan parts dan role opsional. Media menggunakan inlineData / inline_data atau fileData / file_data. ID Files dan Cache yang dibuat TokenLab hanya dapat digunakan dalam Workspace pemiliknya.
Instruksi sistem untuk model.
Pengaturan generasi seperti temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema, dan thinkingConfig. Nama snake_case yang sesuai juga diterima. Nilai dan kombinasi bergantung pada model.
Pengaturan filter keamanan.
Respons
Kandidat konten yang dihasilkan.
Informasi penggunaan token.
Permintaan
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
}
}'Contoh input multimodal
Untuk permintaan multimodal Gemini, letakkan media di dalam contents[].parts[] dengan menggunakan byte inline atau referensi file berbasis URL.
Kategori media yang saat ini didukung dalam detail model Gemini:
- gambar
- audio
- video
Untuk media inline, gunakan inlineData atau inline_data dan kirim byte file yang sudah di-encode Base64.
Untuk media berbasis URL, gunakan fileData atau file_data dan kirim URL publik https.
Contoh input gambar
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Tolong jelaskan gambar ini." },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}Contoh input audio
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Tolong transkripsikan dan ringkas audio ini." },
{
"file_data": {
"mime_type": "audio/mpeg",
"file_uri": "https://example.com/sample.mp3"
}
}
]
}
]
}Contoh input video
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Tolong jelaskan video ini secara singkat." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/sample.mp4"
}
}
]
}
]
}Respons
{
"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
}
}Contoh Input Video
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this video." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/demo.mp4"
}
}
]
}
]
}Contoh Input Audio
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this audio." },
{
"fileData": {
"mimeType": "audio/mpeg",
"fileUri": "https://example.com/demo.mp3"
}
}
]
}
]
}Otorisasi
BearerAuth Autentikasi API Key. Buat atau kelola API key di Dashboard > API > API Keys.
Lokasi: header
Parameter path
Nama model (contoh: gemini-2.5-pro)
Parameter query
Kunci API (alternatif untuk autentikasi header)
Header
Kebijakan Pengiriman per-permintaan. Menggantikan default API key dan Workspace. Secara otomatis mencoba TokenLab Verified terlebih dahulu dan dapat beralih satu kali ke Official saja sebelum output, penerimaan permintaan, atau pembuatan sumber daya persisten.
Nilai yang tersedia
- "auto"
- "verified"
- "official"
Body permintaan
application/json
Permintaan GenerateContent Gemini asli. Nama ProtoJSON lowerCamelCase dan proto snake_case asli keduanya diterima dan dipertahankan, termasuk permintaan campuran. Jika kedua ejaan dari satu bidang ada, TokenLab tidak menggabungkannya atau memilih prioritas lokal. Bidang yang tidak diketahui diteruskan berdasarkan upaya terbaik.
Respons
application/json
application/json
application/json
application/json
application/json
application/json