Langsung ke konten utama

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

TokenLab mendukung format native Google Gemini API untuk model Gemini. Hal ini memungkinkan kompatibilitas langsung dengan Google AI SDK.

Parameter Path

model
string
wajib
Nama model (misalnya, gemini-2.5-pro, gemini-2.5-flash).Untuk integrasi produksi, utamakan bagian media fileData / file_data berbasis URL dengan URL https publik. TokenLab akan mengarahkan kanal native Gemini yang didukung melalui jalur native jika memungkinkan dan secara otomatis beralih ke jalur konversi internal yang kompatibel ketika rute yang siap-native tidak tersedia untuk permintaan multimodal tersebut.

Parameter Query

key
string
API key (alternatif untuk autentikasi header).

Autentikasi

Endpoint Gemini mendukung beberapa metode autentikasi:
  • ?key=YOUR_API_KEY parameter query
  • x-goog-api-key: YOUR_API_KEY header
  • Authorization: Bearer YOUR_API_KEY header

Isi Permintaan

contents
array
wajib
Isi percakapan.Setiap objek konten berisi:
  • role (string): user atau model
  • parts (array): bagian konten. TokenLab saat ini mendukung:
    • bagian teks: { "text": "..." }
    • bagian media inline: inlineData / inline_data
    • bagian file berbasis URL: fileData / file_data
Untuk bagian media, TokenLab saat ini menerima MIME type gambar, audio, dan video lalu meneruskannya melalui kontrak publik yang kompatibel dengan Gemini.Nilai role user dan model dinormalisasi tanpa membedakan huruf besar/kecil. inlineData / inline_data dengan application/octet-stream hanya diterima jika TokenLab dapat mengenali byte gambar atau video yang didukung; jika tidak, request gagal sebelum routing. Untuk request native image-output, hanya keluarga tool Google search/maps yang diterima, dan kombinasi tool yang tidak didukung gagal sebelum retry upstream.
systemInstruction
object
Instruksi sistem untuk model.
generationConfig
object
Konfigurasi generasi:
  • temperature (number): Suhu sampling
  • topP (number): Probabilitas nucleus sampling
  • topK (integer): Sampling Top-K
  • maxOutputTokens (integer): Token output maksimum
  • stopSequences (array): Urutan stop
safetySettings
array
Pengaturan filter keamanan.

Respons

candidates
array
Kandidat konten yang dihasilkan.
usageMetadata
object
Informasi penggunaan token.
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 kontrak publik 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"
          }
        }
      ]
    }
  ]
}
{
  "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"
          }
        }
      ]
    }
  ]
}