Gemini Interactions API adalah API eksperimental yang memungkinkan developer membuat aplikasi AI generatif menggunakan model Gemini. Gemini adalah model kami yang paling canggih, yang dibuat dari awal agar multimodal. Model ini dapat melakukan generalisasi dan dengan lancar memahami, beroperasi, dan menggabungkan berbagai jenis informasi, termasuk bahasa, gambar, audio, video, dan kode. Anda dapat menggunakan Gemini API untuk kasus penggunaan seperti penalaran di seluruh teks dan gambar, pembuatan konten, agen dialog, sistem ringkasan dan klasifikasi, dan banyak lagi.
Membuat interaksi
Membuat interaksi baru.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
model ModelOption (opsional)
Nama `Model` yang digunakan untuk membuat interaksi.
Wajib diisi jika `agent` tidak diberikan.
Nilai yang mungkin:
-
gemini-2.5-proModel serbaguna canggih kami, yang unggul dalam tugas coding dan penalaran yang rumit.
-
gemini-2.5-flashModel penalaran hybrid pertama kami yang mendukung jendela konteks 1 juta token dan memiliki anggaran berpikir.
-
gemini-2.5-flash-preview-09-2025Model terbaru berdasarkan model 2.5 Flash. Pratinjau 2.5 Flash paling cocok untuk pemrosesan skala besar, tugas bervolume tinggi dan latensi rendah yang memerlukan penalaran, serta kasus penggunaan agentik.
-
gemini-2.5-flash-liteModel terkecil dan paling hemat biaya kami, yang dibuat untuk penggunaan dalam skala besar.
-
gemini-2.5-flash-lite-preview-09-2025Model terbaru berdasarkan Gemini 2.5 Flash lite yang dioptimalkan untuk efisiensi biaya, throughput tinggi, dan kualitas tinggi.
-
gemini-2.5-flash-preview-native-audio-dialogModel audio native kami dioptimalkan untuk output audio berkualitas lebih tinggi dengan tempo, kealamian suara, panjang kata, dan suasana yang lebih baik.
-
gemini-2.5-flash-image-previewModel pembuatan gambar native kami, yang dioptimalkan untuk kecepatan, fleksibilitas, dan pemahaman kontekstual. Input dan output teks dihargai sama dengan 2,5 Flash.
-
gemini-2.5-pro-preview-ttsModel audio text-to-speech 2.5 Pro kami dioptimalkan untuk pembuatan ucapan yang canggih dan latensi rendah untuk output yang lebih alami dan perintah yang lebih mudah diarahkan.
-
gemini-3-pro-previewModel tercerdas kami dengan penalaran dan pemahaman multimodal SOTA, serta kemampuan agentic dan vibe coding yang canggih.
agent AgentOption (opsional)
Nama `Agent` yang digunakan untuk membuat interaksi.
Wajib diisi jika `model` tidak diberikan.
Nilai yang mungkin:
-
deep-research-pro-preview-12-2025Agen Deep Research Gemini
Input untuk interaksi (umum untuk Model dan Agen).
Petunjuk sistem untuk interaksi.
Daftar deklarasi alat yang dapat dipanggil model selama interaksi.
Memastikan bahwa respons yang dihasilkan adalah objek JSON yang mematuhi skema JSON yang ditentukan dalam kolom ini.
Jenis MIME respons. Parameter ini diperlukan jika response_format ditetapkan.
Hanya input. Apakah interaksi akan di-streaming.
Hanya input. Apakah akan menyimpan respons dan permintaan untuk pengambilan nanti.
Apakah akan menjalankan interaksi model di latar belakang.
generation_config GenerationConfig (opsional)
Konfigurasi Model
Parameter konfigurasi untuk interaksi model.
Alternatif untuk `agent_config`. Hanya berlaku jika `model` ditetapkan.
Kolom
Mengontrol keacakan output.
Probabilitas kumulatif maksimum token yang akan dipertimbangkan saat melakukan pengambilan sampel.
Seed yang digunakan dalam decoding untuk kemampuan reproduksi.
Daftar urutan karakter yang akan menghentikan interaksi output.
tool_choice ToolChoice (opsional)
Pilihan alat untuk interaksi.
Kemungkinan Jenis
ToolChoiceType
Jenis ini tidak memiliki kolom tertentu.
ToolChoiceConfig
allowed_tools AllowedTools (opsional)
Tidak tersedia deskripsi.
Kolom
mode ToolChoiceType (opsional)
Mode pilihan alat.
Nilai yang mungkin:
-
auto -
any -
none -
validated
Nama alat yang diizinkan.
thinking_level ThinkingLevel (opsional)
Tingkat token pemikiran yang harus dihasilkan model.
Nilai yang mungkin:
-
low -
high
thinking_summaries ThinkingSummaries (opsional)
Apakah akan menyertakan ringkasan pemikiran dalam respons.
Nilai yang mungkin:
-
auto -
none
Jumlah maksimum token yang akan disertakan dalam respons.
speech_config SpeechConfig (opsional)
Konfigurasi untuk interaksi ucapan.
Kolom
Suara speaker.
Bahasa ucapan.
Nama pembicara, harus cocok dengan nama pembicara yang diberikan dalam perintah.
agent_config object (opsional)
Konfigurasi Agen
Konfigurasi untuk agen.
Alternatif untuk `generation_config`. Hanya berlaku jika `agent` ditetapkan.
Kemungkinan Jenis
Diskriminator polimorfik: type
DynamicAgentConfig
Konfigurasi untuk agen dinamis.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "dynamic".
DeepResearchAgentConfig
Konfigurasi untuk agen Deep Research.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "deep-research".
thinking_summaries ThinkingSummaries (opsional)
Apakah akan menyertakan ringkasan pemikiran dalam respons.
Nilai yang mungkin:
-
auto -
none
ID interaksi sebelumnya, jika ada.
response_modalities ResponseModality (opsional)
Modalitas respons yang diminta (TEKS, GAMBAR, AUDIO).
Nilai yang mungkin:
-
text -
image -
audio
Respons
Menampilkan resource Interaction.
Permintaan Sederhana
Contoh Respons
{ "created": "2025-11-26T12:25:15Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "text": "Hello! I'm functioning perfectly and ready to assist you.\n\nHow are you doing today?", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-11-26T12:25:15Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 7 } ], "total_cached_tokens": 0, "total_input_tokens": 7, "total_output_tokens": 20, "total_reasoning_tokens": 22, "total_tokens": 49, "total_tool_use_tokens": 0 } }
Bolak-balik
Contoh Respons
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "The capital of France is Paris." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 50 } ], "total_cached_tokens": 0, "total_input_tokens": 50, "total_output_tokens": 10, "total_reasoning_tokens": 0, "total_tokens": 60, "total_tool_use_tokens": 0 } }
Input Gambar
Contoh Respons
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "A white humanoid robot with glowing blue eyes stands holding a red skateboard." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 10 }, { "modality": "image", "tokens": 258 } ], "total_cached_tokens": 0, "total_input_tokens": 268, "total_output_tokens": 20, "total_reasoning_tokens": 0, "total_tokens": 288, "total_tool_use_tokens": 0 } }
Panggilan Fungsi
Contoh Respons
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "requires_action", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "function_call", "function_call": { "name": "get_weather", "arguments": { "location": "Boston, MA" } } } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 100 } ], "total_cached_tokens": 0, "total_input_tokens": 100, "total_output_tokens": 25, "total_reasoning_tokens": 0, "total_tokens": 125, "total_tool_use_tokens": 50 } }
Deep Research
Contoh Respons
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "agent": "deep-research-pro-preview-12-2025", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "Here is a comprehensive research report on the current state of cancer research..." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 20 } ], "total_cached_tokens": 0, "total_input_tokens": 20, "total_output_tokens": 1000, "total_reasoning_tokens": 500, "total_tokens": 1520, "total_tool_use_tokens": 0 } }
Mengambil interaksi
Mengambil detail lengkap satu interaksi berdasarkan `Interaction.id`.
Parameter Jalur / Kueri
ID unik interaksi yang akan diambil.
Jika disetel ke benar (true), konten yang dihasilkan akan di-streaming secara bertahap.
Default: False
Opsional. Jika disetel, melanjutkan aliran interaksi dari potongan berikutnya setelah peristiwa yang ditandai oleh ID peristiwa. Hanya dapat digunakan jika `stream` benar.
Versi API yang akan digunakan.
Respons
Menampilkan resource Interaction.
Mendapatkan Interaksi
Contoh Respons
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:25:15Z", "updated": "2025-11-26T12:25:15Z", "role": "model", "outputs": [ { "type": "text", "text": "I'm doing great, thank you for asking! How can I help you today?" } ] }
Menghapus interaksi
Menghapus interaksi menurut ID.
Parameter Jalur / Kueri
ID unik interaksi yang akan dihapus.
Versi API yang akan digunakan.
Respons
Jika berhasil, responsnya akan kosong.
Menghapus Interaksi
Membatalkan interaksi
Membatalkan interaksi berdasarkan ID. Hal ini hanya berlaku untuk interaksi latar belakang yang masih berjalan.
Parameter Jalur / Kueri
ID unik interaksi yang akan diambil.
Versi API yang akan digunakan.
Respons
Menampilkan resource Interaction.
Membatalkan Interaksi
Contoh Respons
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "agent": "deep-research-pro-preview-12-2025", "status": "cancelled", "object": "interaction", "created": "2025-11-26T12:25:15Z", "updated": "2025-11-26T12:25:15Z", "role": "model" }
Resource
Interaksi
Resource Interaksi.
Kolom
model ModelOption (opsional)
Nama `Model` yang digunakan untuk membuat interaksi.
Nilai yang mungkin:
-
gemini-2.5-proModel serbaguna canggih kami, yang unggul dalam tugas coding dan penalaran yang rumit.
-
gemini-2.5-flashModel penalaran hybrid pertama kami yang mendukung jendela konteks 1 juta token dan memiliki anggaran berpikir.
-
gemini-2.5-flash-preview-09-2025Model terbaru berdasarkan model 2.5 Flash. Pratinjau 2.5 Flash paling cocok untuk pemrosesan skala besar, tugas bervolume tinggi dan latensi rendah yang memerlukan penalaran, serta kasus penggunaan agentik.
-
gemini-2.5-flash-liteModel terkecil dan paling hemat biaya kami, yang dibuat untuk penggunaan dalam skala besar.
-
gemini-2.5-flash-lite-preview-09-2025Model terbaru berdasarkan Gemini 2.5 Flash lite yang dioptimalkan untuk efisiensi biaya, throughput tinggi, dan kualitas tinggi.
-
gemini-2.5-flash-preview-native-audio-dialogModel audio native kami dioptimalkan untuk output audio berkualitas lebih tinggi dengan tempo, kealamian suara, panjang kata, dan suasana yang lebih baik.
-
gemini-2.5-flash-image-previewModel pembuatan gambar native kami, yang dioptimalkan untuk kecepatan, fleksibilitas, dan pemahaman kontekstual. Input dan output teks dihargai sama dengan 2,5 Flash.
-
gemini-2.5-pro-preview-ttsModel audio text-to-speech 2.5 Pro kami dioptimalkan untuk pembuatan ucapan yang canggih dan latensi rendah untuk output yang lebih alami dan perintah yang lebih mudah diarahkan.
-
gemini-3-pro-previewModel tercerdas kami dengan penalaran dan pemahaman multimodal SOTA, serta kemampuan agentic dan vibe coding yang canggih.
agent AgentOption (opsional)
Nama `Agent` yang digunakan untuk membuat interaksi.
Nilai yang mungkin:
-
deep-research-pro-preview-12-2025Agen Deep Research Gemini
Hanya output. ID unik untuk penyelesaian interaksi.
Hanya output. Status interaksi.
Nilai yang mungkin:
-
in_progress -
requires_action -
completed -
failed -
cancelled
Hanya output. Waktu saat respons dibuat dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).
Hanya output. Waktu saat respons terakhir diperbarui dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).
Hanya output. Peran interaksi.
Hanya output. Respons dari model.
Hanya output. Jenis objek interaksi. Selalu ditetapkan ke `interaction`.
Selalu ditetapkan ke "interaction".
penggunaan Penggunaan (opsional)
Hanya output. Statistik penggunaan token permintaan interaksi.
Kolom
Jumlah token dalam perintah (konteks).
input_tokens_by_modality ModalityTokens (opsional)
Perincian penggunaan token input menurut modalitas.
Kolom
modality ResponseModality (opsional)
Modalitas yang terkait dengan jumlah token.
Nilai yang mungkin:
-
text -
image -
audio
Jumlah token untuk modalitas.
Jumlah token di bagian perintah yang di-cache (konten yang di-cache).
cached_tokens_by_modality ModalityTokens (opsional)
Perincian penggunaan token yang di-cache menurut modalitas.
Kolom
modality ResponseModality (opsional)
Modalitas yang terkait dengan jumlah token.
Nilai yang mungkin:
-
text -
image -
audio
Jumlah token untuk modalitas.
Jumlah total token di semua respons yang dihasilkan.
output_tokens_by_modality ModalityTokens (opsional)
Perincian penggunaan token output menurut modalitas.
Kolom
modality ResponseModality (opsional)
Modalitas yang terkait dengan jumlah token.
Nilai yang mungkin:
-
text -
image -
audio
Jumlah token untuk modalitas.
Jumlah token yang ada dalam perintah penggunaan alat.
tool_use_tokens_by_modality ModalityTokens (opsional)
Perincian penggunaan token penggunaan alat menurut modalitas.
Kolom
modality ResponseModality (opsional)
Modalitas yang terkait dengan jumlah token.
Nilai yang mungkin:
-
text -
image -
audio
Jumlah token untuk modalitas.
Jumlah token pemikiran untuk model pemikiran.
Jumlah total token untuk permintaan interaksi (perintah + respons + token internal lainnya).
ID interaksi sebelumnya, jika ada.
Contoh
Contoh
{ "created": "2025-12-04T15:01:45Z", "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "text": "Hello! I'm doing well, functioning as expected. Thank you for asking! How are you doing today?", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-12-04T15:01:45Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 7 } ], "total_cached_tokens": 0, "total_input_tokens": 7, "total_output_tokens": 23, "total_reasoning_tokens": 49, "total_tokens": 79, "total_tool_use_tokens": 0 } }
Model Data
Konten
Konten respons.
Kemungkinan Jenis
Diskriminator polimorfik: type
TextContent
Blok konten teks.
Konten teks.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "text".
annotations Annotation (opsional)
Informasi kutipan untuk konten yang dihasilkan model.
Kolom
Awal segmen respons yang diatribusikan ke sumber ini. Indeks menunjukkan awal segmen, diukur dalam byte.
Akhir segmen yang diatribusikan, eksklusif.
Sumber yang dikaitkan untuk sebagian teks. Dapat berupa URL, judul, atau ID lainnya.
ImageContent
Blok konten gambar.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
mime_type ImageMimeTypeOption (opsional)
Tidak tersedia deskripsi.
Nilai yang mungkin:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "image".
resolution MediaResolution (opsional)
Resolusi media.
Nilai yang mungkin:
-
low -
medium -
high
AudioContent
Blok konten audio.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
mime_type AudioMimeTypeOption (opsional)
Tidak tersedia deskripsi.
Nilai yang mungkin:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "audio".
DocumentContent
Blok konten dokumen.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "document".
VideoContent
Blok konten video.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
mime_type VideoMimeTypeOption (opsional)
Tidak tersedia deskripsi.
Nilai yang mungkin:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "video".
resolution MediaResolution (opsional)
Resolusi media.
Nilai yang mungkin:
-
low -
medium -
high
ThoughtContent
Blok konten pemikiran.
Tanda tangan agar sesuai dengan sumber backend yang akan menjadi bagian dari pembuatan.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "thought".
summary ThoughtSummary (opsional)
Ringkasan pemikiran.
FunctionCallContent
Blok konten panggilan alat fungsi.
Nama alat yang akan dipanggil.
Argumen yang akan diteruskan ke fungsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "function_call".
ID unik untuk panggilan alat tertentu ini.
FunctionResultContent
Blok konten hasil alat fungsi.
Nama alat yang dipanggil.
Apakah panggilan alat menghasilkan error.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "function_result".
Hasil panggilan alat.
ID yang cocok dengan ID dari blok panggilan fungsi.
CodeExecutionCallContent
Konten eksekusi kode.
arguments CodeExecutionCallArguments (opsional)
Argumen yang akan diteruskan ke eksekusi kode.
Kolom
Bahasa pemrograman `code`.
Nilai yang mungkin:
-
python
Kode yang akan dieksekusi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "code_execution_call".
ID unik untuk panggilan alat tertentu ini.
CodeExecutionResultContent
Konten hasil eksekusi kode.
Output eksekusi kode.
Apakah eksekusi kode menghasilkan error.
Hash tanda tangan untuk validasi backend.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "code_execution_result".
ID yang cocok dengan ID dari blok panggilan eksekusi kode.
UrlContextCallContent
Konten konteks URL.
arguments UrlContextCallArguments (opsional)
Argumen yang akan diteruskan ke konteks URL.
Kolom
URL yang akan di-fetch.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "url_context_call".
ID unik untuk panggilan alat tertentu ini.
UrlContextResultContent
Konten hasil konteks URL.
Tanda tangan hasil konteks URL.
result UrlContextResult (opsional)
Hasil konteks URL.
Kolom
URL yang diambil.
Status pengambilan URL.
Nilai yang mungkin:
-
success -
error -
paywall -
unsafe
Apakah konteks URL menyebabkan error.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "url_context_result".
ID untuk mencocokkan ID dari blok panggilan konteks URL.
GoogleSearchCallContent
Konten Google Penelusuran.
arguments GoogleSearchCallArguments (opsional)
Argumen yang akan diteruskan ke Google Penelusuran.
Kolom
Kueri penelusuran web untuk penelusuran web lanjutan.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "google_search_call".
ID unik untuk panggilan alat tertentu ini.
GoogleSearchResultContent
Konten hasil Google Penelusuran.
Tanda tangan hasil Google Penelusuran.
result GoogleSearchResult (opsional)
Hasil Google Penelusuran.
Kolom
Referensi URI hasil penelusuran.
Judul hasil penelusuran.
Cuplikan konten web yang dapat disematkan di halaman web atau webview aplikasi.
Apakah Penelusuran Google menghasilkan error.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "google_search_result".
ID yang cocok dengan ID dari pemblokiran panggilan penelusuran Google.
McpServerToolCallContent
Konten panggilan alat MCPServer.
Nama alat yang dipanggil.
Nama server MCP yang digunakan.
Objek JSON argumen untuk fungsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "mcp_server_tool_call".
ID unik untuk panggilan alat tertentu ini.
McpServerToolResultContent
Konten hasil alat MCPServer.
Nama alat yang dipanggil untuk panggilan alat tertentu ini.
Nama server MCP yang digunakan.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "mcp_server_tool_result".
Hasil panggilan alat.
ID yang cocok dengan ID dari blok panggilan alat server MCP.
FileSearchResultContent
Konten hasil Penelusuran File.
result FileSearchResult (opsional)
Hasil Penelusuran File.
Kolom
Judul hasil penelusuran.
Teks hasil penelusuran.
Nama penyimpanan penelusuran file.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "file_search_result".
Contoh
Teks
{ "type": "text", "text": "Hello, how are you?" }
Gambar
{ "type": "image", "data": "BASE64_ENCODED_IMAGE", "mime_type": "image/png" }
Audio
{ "type": "audio", "data": "BASE64_ENCODED_AUDIO", "mime_type": "audio/wav" }
Dokumen
{ "type": "document", "data": "BASE64_ENCODED_DOCUMENT", "mime_type": "application/pdf" }
Video
{ "type": "video", "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg" }
Berpikir
{ "type": "thought", "summary": [ { "type": "text", "text": "The user is asking about the weather. I should use the get_weather tool." } ], "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0+19xcLsGG46bd8wjkF/6RNlRUdvHrXyjsHkG0BZFcuO/bPOyA6Xh5jANNgx82wPHjGExN8A4ZQn56FlMwyZoqFVQz0QyY1lfibFJ2zU3J87uw26OewzcuVX0KEcs+GIsZa3EA6WwqhbsOd3wtZB3Ua2Qf98VAWZTS5y/tWpql7jnU3/CU7pouxQr/Bwft3hwnJNesQ9/dDJTuaQ8Zprh9VRWf1aFFjpIueOjBRrlT3oW6/y/eRl/Gt9BQXCYTqg/38vHFUU4Wo/d9dUpvfCe/a3o97t2Jgxp34oFKcsVb4S5WJrykIkw+14DzVnTpCpbQNFckqvFLuqnJCkL0EQFtunBXI03FJpPu3T1XU6id8S7ojoJQZSauGUCgmaLqUGdMrd08oo81ecoJSLs51Re9N/lISGmjWFPGpqJLoGq6uo4FHz58hmeyXCgHG742BHz2P3MiH1CXHUT2J8mF6zLhf3SR9Qb3lkrobAh" }
Panggilan Fungsi
{ "type": "function_call", "name": "get_weather", "id": "gth23981", "arguments": { "location": "Boston, MA" } }
Hasil Fungsi
{ "type": "function_result", "name": "get_weather", "call_id": "gth23981", "result": { "weather": "sunny" } }
Panggilan Eksekusi Kode
{ "type": "code_execution_call", "id": "call_123456", "arguments": { "language": "python", "code": "print('hello world')" } }
Hasil Eksekusi Kode
{ "type": "code_execution_result", "call_id": "call_123456", "result": "hello world\n" }
Panggilan Konteks URL
{ "type": "url_context_call", "id": "call_123456", "arguments": { "urls": [ "https://www.example.com" ] } }
Hasil Konteks URL
{ "type": "url_context_result", "call_id": "call_123456", "result": [ { "url": "https://www.example.com", "status": "SUCCESS" } ] }
Panggilan Google Penelusuran
{ "type": "google_search_call", "id": "call_123456", "arguments": { "queries": [ "weather in Boston" ] } }
Hasil Penelusuran Google
{ "type": "google_search_result", "call_id": "call_123456", "result": [ { "url": "https://www.google.com/search?q=weather+in+Boston", "title": "Weather in Boston" } ] }
Panggilan Alat Server MCP
{ "type": "mcp_server_tool_call", "id": "call_123456", "name": "get_forecast", "server_name": "weather_server", "arguments": { "city": "London" } }
Hasil Alat Server MCP
{ "type": "mcp_server_tool_result", "name": "get_forecast", "server_name": "weather_server", "call_id": "call_123456", "result": "sunny" }
Hasil Penelusuran File
{ "type": "file_search_result", "result": [ { "text": "search result chunk", "file_search_store": "file_search_store" } ] }
Alat
Kemungkinan Jenis
Diskriminator polimorfik: type
Fungsi
Alat yang dapat digunakan oleh model.
Nama fungsi.
Deskripsi fungsi.
Skema JSON untuk parameter fungsi.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "function".
GoogleSearch
Alat yang dapat digunakan oleh model untuk menelusuri Google.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "google_search".
CodeExecution
Alat yang dapat digunakan oleh model untuk mengeksekusi kode.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "code_execution".
UrlContext
Alat yang dapat digunakan oleh model untuk mengambil konteks URL.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "url_context".
ComputerUse
Alat yang dapat digunakan oleh model untuk berinteraksi dengan komputer.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "computer_use".
Lingkungan yang dioperasikan.
Nilai yang mungkin:
-
browser
Daftar fungsi standar yang dikecualikan dari panggilan model.
McpServer
MCPServer adalah server yang dapat dipanggil oleh model untuk melakukan tindakan.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "mcp_server".
Nama MCPServer.
URL lengkap untuk endpoint MCPServer. Contoh: "https://api.example.com/mcp"
Opsional: Kolom untuk header autentikasi, waktu tunggu, dll., jika diperlukan.
allowed_tools AllowedTools (opsional)
Alat yang diizinkan.
Kolom
mode ToolChoiceType (opsional)
Mode pilihan alat.
Nilai yang mungkin:
-
auto -
any -
none -
validated
Nama alat yang diizinkan.
FileSearch
Alat yang dapat digunakan oleh model untuk menelusuri file.
Nama penyimpanan penelusuran file yang akan ditelusuri.
Jumlah potongan pengambilan semantik yang akan diambil.
Filter metadata yang akan diterapkan ke dokumen dan bagian pengambilan semantik.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "file_search".
Contoh
Fungsi
GoogleSearch
CodeExecution
UrlContext
ComputerUse
McpServer
FileSearch
CANNOT TRANSLATE
Kolom
Pemrakarsa giliran ini. Harus berupa pengguna untuk input atau model untuk output model.
Konten giliran.
Contoh
Giliran Pengguna
{ "role": "user", "content": [ { "type": "text", "text": "user turn" } ] }
Putaran Model
{ "role": "model", "content": [ { "type": "text", "text": "model turn" } ] }
InteractionSseEvent
Kemungkinan Jenis
Diskriminator polimorfik: event_type
InteractionEvent
Tidak tersedia deskripsi.
Nilai yang mungkin:
-
interaction.start -
interaction.complete
Tidak tersedia deskripsi.
Token event_id yang akan digunakan untuk melanjutkan aliran interaksi, dari peristiwa ini.
InteractionStatusUpdate
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Nilai yang mungkin:
-
in_progress -
requires_action -
completed -
failed -
cancelled
Tidak tersedia deskripsi.
Selalu ditetapkan ke "interaction.status_update".
Token event_id yang akan digunakan untuk melanjutkan aliran interaksi, dari peristiwa ini.
ContentStart
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "content.start".
Token event_id yang akan digunakan untuk melanjutkan aliran interaksi, dari peristiwa ini.
ContentDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "content.delta".
Token event_id yang akan digunakan untuk melanjutkan aliran interaksi, dari peristiwa ini.
delta object (opsional)
Tidak tersedia deskripsi.
Kemungkinan Jenis
Diskriminator polimorfik: type
TextDelta
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "text".
annotations Annotation (opsional)
Informasi kutipan untuk konten yang dihasilkan model.
Kolom
Awal segmen respons yang diatribusikan ke sumber ini. Indeks menunjukkan awal segmen, diukur dalam byte.
Akhir segmen yang diatribusikan, eksklusif.
Sumber yang diatribusikan untuk sebagian teks. Dapat berupa URL, judul, atau ID lainnya.
ImageDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
mime_type ImageMimeTypeOption (opsional)
Tidak tersedia deskripsi.
Nilai yang mungkin:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "image".
resolution MediaResolution (opsional)
Resolusi media.
Nilai yang mungkin:
-
low -
medium -
high
AudioDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
mime_type AudioMimeTypeOption (opsional)
Tidak tersedia deskripsi.
Nilai yang mungkin:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "audio".
DocumentDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "document".
VideoDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
mime_type VideoMimeTypeOption (opsional)
Tidak tersedia deskripsi.
Nilai yang mungkin:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "video".
resolution MediaResolution (opsional)
Resolusi media.
Nilai yang mungkin:
-
low -
medium -
high
ThoughtSummaryDelta
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "thought_summary".
Tidak tersedia deskripsi.
ThoughtSignatureDelta
Tanda tangan agar sesuai dengan sumber backend yang akan menjadi bagian dari pembuatan.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "thought_signature".
FunctionCallDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "function_call".
ID unik untuk panggilan alat tertentu ini.
FunctionResultDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "function_result".
Delta hasil panggilan alat.
ID agar cocok dengan ID dari blok panggilan fungsi.
CodeExecutionCallDelta
arguments CodeExecutionCallArguments (opsional)
Tidak tersedia deskripsi.
Kolom
Bahasa pemrograman `code`.
Nilai yang mungkin:
-
python
Kode yang akan dieksekusi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "code_execution_call".
ID unik untuk panggilan alat tertentu ini.
CodeExecutionResultDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "code_execution_result".
ID agar cocok dengan ID dari blok panggilan fungsi.
UrlContextCallDelta
arguments UrlContextCallArguments (opsional)
Tidak tersedia deskripsi.
Kolom
URL yang akan di-fetch.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "url_context_call".
ID unik untuk panggilan alat tertentu ini.
UrlContextResultDelta
Tidak tersedia deskripsi.
result UrlContextResult (opsional)
Tidak tersedia deskripsi.
Kolom
URL yang diambil.
Status pengambilan URL.
Nilai yang mungkin:
-
success -
error -
paywall -
unsafe
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "url_context_result".
ID agar cocok dengan ID dari blok panggilan fungsi.
GoogleSearchCallDelta
arguments GoogleSearchCallArguments (opsional)
Tidak tersedia deskripsi.
Kolom
Kueri penelusuran web untuk penelusuran web lanjutan.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "google_search_call".
ID unik untuk panggilan alat tertentu ini.
GoogleSearchResultDelta
Tidak tersedia deskripsi.
result GoogleSearchResult (opsional)
Tidak tersedia deskripsi.
Kolom
Referensi URI hasil penelusuran.
Judul hasil penelusuran.
Cuplikan konten web yang dapat disematkan di halaman web atau webview aplikasi.
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "google_search_result".
ID agar cocok dengan ID dari blok panggilan fungsi.
McpServerToolCallDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "mcp_server_tool_call".
ID unik untuk panggilan alat tertentu ini.
McpServerToolResultDelta
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "mcp_server_tool_result".
Delta hasil panggilan alat.
ID agar cocok dengan ID dari blok panggilan fungsi.
FileSearchResultDelta
result FileSearchResult (opsional)
Tidak tersedia deskripsi.
Kolom
Judul hasil penelusuran.
Teks hasil penelusuran.
Nama penyimpanan penelusuran file.
Digunakan sebagai pembeda jenis OpenAPI untuk oneof konten.
Selalu ditetapkan ke "file_search_result".
ContentStop
Tidak tersedia deskripsi.
Tidak tersedia deskripsi.
Selalu ditetapkan ke "content.stop".
Token event_id yang akan digunakan untuk melanjutkan aliran interaksi, dari peristiwa ini.
ErrorEvent
Tidak tersedia deskripsi.
Selalu ditetapkan ke "error".
error Error (opsional)
Tidak tersedia deskripsi.
Kolom
URI yang mengidentifikasi jenis error.
Pesan error yang dapat dibaca manusia.
Token event_id yang akan digunakan untuk melanjutkan aliran interaksi, dari peristiwa ini.
Contoh
Awal Interaksi
{ "event_type": "interaction.start", "interaction": { "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "status": "in_progress" } }
Interaksi Selesai
{ "event_type": "interaction.complete", "interaction": { "created": "2025-12-09T18:45:40Z", "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0+19xcLsGG46bd8wjkF/6RNlRUdvHrXyjsHkG0BZFcuO/bPOyA6Xh5jANNgx82wPHjGExN8A4ZQn56FlMwyZoqFVQz0QyY1lfibFJ2zU3J87uw26OewzcuVX0KEcs+GIsZa3EA6WwqhbsOd3wtZB3Ua2Qf98VAWZTS5y/tWpql7jnU3/CU7pouxQr/Bwft3hwnJNesQ9/dDJTuaQ8Zprh9VRWf1aFFjpIueOjBRrlT3oW6/y/eRl/Gt9BQXCYTqg/38vHFUU4Wo/d9dUpvfCe/a3o97t2Jgxp34oFKcsVb4S5WJrykIkw+14DzVnTpCpbQNFckqvFLuqnJCkL0EQFtunBXI03FJpPu3T1XU6id8S7ojoJQZSauGUCgmaLqUGdMrd08oo81ecoJSLs51Re9N/lISGmjWFPGpqJLoGq6uo4FHz58hmeyXCgHG742BHz2P3MiH1CXHUT2J8mF6zLhf3SR9Qb3lkrobAh", "type": "thought" }, { "text": "Elara\u2019s life was a symphony of quiet moments. A librarian, she found solace in the hushed aisles, the scent of aged paper, and the predictable rhythm of her days. Her small apartment, meticulously ordered, reflected this internal calm, save", "type": "text" }, { "text": " for one beloved anomaly: a chipped porcelain teacup, inherited from her grandmother, which held her morning Earl Grey.\n\nOne Tuesday, stirring her tea, Elara paused. At the bottom, nestled against the porcelain, was a star.", "type": "text" }, { "text": " Not a star-shaped tea leaf, but a miniature, perfectly formed celestial body, radiating a faint, cool luminescence. Before she could gasp, it dissolved, leaving only the amber swirl of her brew. She dismissed it as a trick of", "type": "text" }, { "text": " tired eyes.\n\nBut the next morning, a gossamer-thin feather, smaller than an eyelash and shimmering with iridescent hues, floated on the surface. It vanished the moment she tried to touch it. A week later, a single,", "type": "text" }, { "text": " impossibly delicate bloom, like spun moonbeam, unfolded in her cup before fading into nothingness.\n\nThese weren't illusions. Each day, Elara\u2019s chipped teacup offered a fleeting, exquisite secret. A tiny, perfect", "type": "text" }, { "text": " crystal, a miniature spiral nebula, a fragment of rainbow caught in liquid form. They never lingered, never accumulated, simply *were* and then *weren't*, leaving behind a residue of quiet wonder.\n\nElara never spoke", "type": "text" }, { "text": " of it. It was her private wellspring, a daily reminder that magic could exist in the smallest, most overlooked corners of the world. Her routine remained unchanged, her external life a picture of calm, but inside, a secret garden blo", "type": "text" }, { "text": "omed. Each dawn brought not just tea, but the silent promise of extraordinary beauty, waiting patiently in a chipped teacup.", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-12-09T18:45:40Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 11 } ], "total_cached_tokens": 0, "total_input_tokens": 11, "total_output_tokens": 364, "total_reasoning_tokens": 1120, "total_tokens": 1495, "total_tool_use_tokens": 0 } } }
Pembaruan Status Interaksi
{ "event_type": "interaction.status_update", "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "status": "in_progress" }
Mulai Konten
{ "event_type": "content.start", "content": { "type": "text" }, "index": 1 }
Perubahan Konten
{ "event_type": "content.delta", "delta": { "type": "text", "text": "Elara\u2019s life was a symphony of quiet moments. A librarian, she found solace in the hushed aisles, the scent of aged paper, and the predictable rhythm of her days. Her small apartment, meticulously ordered, reflected this internal calm, save" }, "index": 1 }
Penghentian Konten
{ "event_type": "content.stop", "index": 1 }
Peristiwa Error
{ "event_type": "error", "error": { "message": "Failed to get completed interaction: Result not found.", "code": "not_found" } }