Gemini native
Buat Konten
Menghasilkan konten menggunakan format Google Gemini API
Gunakan format permintaan dan respons Gemini dengan model yang dikembalikan oleh Gemini Models API. ProtoJSON lowerCamelCase dan nama bidang snake_case proto yang sesuai dapat diterima. Bidang dan nilai opsional yang didukung bergantung pada model yang dipilih.
Parameter Jalur (Path Parameters)
Nama model (contoh: gemini-2.5-pro, gemini-3.5-flash).
Parameter Kueri (Query Parameters)
API key (alternatif untuk autentikasi header).
Autentikasi
Endpoint Gemini mendukung beberapa metode autentikasi:
- Parameter kueri
?key=YOUR_API_KEY - Header
x-goog-api-key: YOUR_API_KEY - Header
Authorization: Bearer YOUR_API_KEY
Isi Permintaan (Request Body)
Isi percakapan dengan parts dan role opsional. Bagian media menggunakan inlineData / inline_data atau fileData / file_data. File dan Cache ID yang dibuat oleh TokenLab hanya dapat digunakan di Workspace pemiliknya.
Instruksi sistem untuk model.
Pengaturan pembuatan konten seperti temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema, dan thinkingConfig. Nama snake_case yang sesuai juga dapat diterima. Nilai dan kombinasi yang didukung bergantung pada model.
Pengaturan filter keamanan.
Setiap bidang lowerCamelCase yang ditampilkan di atas juga dapat menggunakan ejaan snake_case proto resminya, misalnya system_instruction, generation_config, safety_settings, tool_config, cached_content, file_data.file_uri, dan inline_data.mime_type.
Metode yang Didukung
API yang kompatibel dengan Gemini mencakup daftar/mendapatkan model, generateContent, streamGenerateContent, countTokens, embedContent, dan batchEmbedContents. Gemini Interactions dan Live tidak tersedia.
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 Visi (Vision Input)
Untuk permintaan multimodal Gemini, tempatkan media di dalam contents[].parts[] menggunakan byte inline atau referensi file berbasis URL.
Kategori media yang didukung dalam kontrak publik Gemini:
- image
- audio
- video
Untuk media inline, gunakan inlineData atau inline_data dan masukkan byte file yang dienkode Base64.
Untuk media berbasis URL, gunakan fileData atau file_data dan masukkan URL https publik.
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"
}
}
]
}
]
}Contoh Input Gambar
Gunakan byte gambar inline:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this image." },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}Gunakan URL gambar:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this image." },
{
"fileData": {
"mimeType": "image/jpeg",
"fileUri": "https://example.com/demo.jpg"
}
}
]
}
]
}Contoh Input Audio
Gunakan URL audio:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Transcribe and summarize this audio." },
{
"file_data": {
"mime_type": "audio/mpeg",
"file_uri": "https://example.com/sample.mp3"
}
}
]
}
]
}Contoh Input Video
Gunakan URL video:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Describe this video briefly." },
{
"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
}
}Antarmuka Terkait
Baca detail model yang dipilih saat ini sebelum menggunakan antarmuka lain. Ketersediaan dan bidang permintaan bergantung pada model.
| HTTP | API |
|---|---|
| POST | /v1beta/models/{model}:countTokens |
| POST | /v1beta/models/{model}:embedContent |
| POST | /v1beta/models/{model}:batchEmbedContents |
Penghitungan token memerlukan API key dan tidak dikenakan biaya. Jumlah input yang dikembalikan adalah estimasi untuk perencanaan; gunakan penggunaan respons akhir dan catatan penagihan untuk biaya sebenarnya.
countTokens: contents / generateContentRequest
embedContent: content, taskType, title, outputDimensionality
batchEmbedContents: requests
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