Gemini Interactions API là một API thử nghiệm cho phép nhà phát triển tạo các ứng dụng AI tạo sinh bằng mô hình Gemini. Gemini là mô hình mạnh nhất của chúng tôi, được xây dựng từ đầu theo hướng đa phương thức. Mô hình này có thể tổng quát hoá và hiểu một cách liền mạch, vận hành và kết hợp nhiều loại thông tin, bao gồm cả ngôn ngữ, hình ảnh, âm thanh, video và mã. Bạn có thể sử dụng Gemini API cho các trường hợp sử dụng như suy luận trên văn bản và hình ảnh, tạo nội dung, tác nhân đối thoại, hệ thống tóm tắt và phân loại, v.v.
Tạo một hoạt động tương tác
Tạo một lượt tương tác mới.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu với cấu trúc sau:
model ModelOption (không bắt buộc)
Tên của "Mô hình" dùng để tạo lượt tương tác.
Bắt buộc nếu bạn không cung cấp "nhân viên hỗ trợ".
Các giá trị có thể có:
-
gemini-2.5-proMô hình đa năng tiên tiến nhất của chúng tôi, có khả năng vượt trội trong việc lập trình và xử lý các nhiệm vụ suy luận phức tạp.
-
gemini-2.5-flashMô hình suy luận kết hợp đầu tiên của chúng tôi hỗ trợ cửa sổ ngữ cảnh 1 triệu token và có ngân sách tư duy.
-
gemini-2.5-flash-preview-09-2025Mô hình mới nhất dựa trên mô hình 2.5 Flash. 2.5 Flash Preview phù hợp nhất với các tác vụ xử lý quy mô lớn, độ trễ thấp, khối lượng lớn đòi hỏi tư duy và các trường hợp sử dụng có tác nhân.
-
gemini-2.5-flash-liteMô hình nhỏ nhất và tiết kiệm chi phí nhất của chúng tôi, được xây dựng để sử dụng ở quy mô lớn.
-
gemini-2.5-flash-lite-preview-09-2025Mô hình mới nhất dựa trên Gemini 2.5 Flash lite được tối ưu hoá để tiết kiệm chi phí, có thông lượng cao và chất lượng cao.
-
gemini-2.5-flash-preview-native-audio-dialogCác mô hình âm thanh gốc của chúng tôi được tối ưu hoá để mang đến đầu ra âm thanh chất lượng cao hơn với nhịp điệu, giọng nói tự nhiên, mức độ chi tiết và tâm trạng tốt hơn.
-
gemini-2.5-flash-image-previewMô hình tạo hình ảnh gốc của chúng tôi, được tối ưu hoá về tốc độ, tính linh hoạt và khả năng hiểu ngữ cảnh. Giá của văn bản đầu vào và đầu ra giống như giá của 2.5 Flash.
-
gemini-2.5-pro-preview-ttsMô hình âm thanh chuyển văn bản sang lời nói 2.5 Pro của chúng tôi được tối ưu hoá để tạo lời nói mạnh mẽ với độ trễ thấp, giúp tạo ra kết quả tự nhiên hơn và dễ dàng điều hướng các câu lệnh.
-
gemini-3-pro-previewMô hình thông minh nhất của chúng tôi với khả năng suy luận và hiểu đa phương thức tiên tiến, cùng các tính năng tác nhân và lập trình mạnh mẽ.
agent AgentOption (không bắt buộc)
Tên của "Nhân viên hỗ trợ" dùng để tạo lượt tương tác.
Bắt buộc nếu bạn không cung cấp "model".
Các giá trị có thể có:
-
deep-research-pro-preview-12-2025Tác nhân Deep Research của Gemini
Dữ liệu đầu vào cho hoạt động tương tác (áp dụng chung cho cả Mô hình và Agent).
Hướng dẫn của hệ thống cho hoạt động tương tác.
Danh sách các khai báo công cụ mà mô hình có thể gọi trong quá trình tương tác.
Thực thi để phản hồi được tạo là một đối tượng JSON tuân thủ giản đồ JSON được chỉ định trong trường này.
Loại MIME của phản hồi. Bạn phải cung cấp thông tin này nếu đã đặt response_format.
Chỉ có đầu vào. Liệu tương tác có được phát trực tuyến hay không.
Chỉ có đầu vào. Có lưu trữ phản hồi và yêu cầu để truy xuất sau này hay không.
Có chạy hoạt động tương tác mô hình ở chế độ nền hay không.
generation_config GenerationConfig (không bắt buộc)
Cấu hình mô hình
Các thông số cấu hình cho hoạt động tương tác của mô hình.
Phương án thay thế cho "agent_config". Chỉ áp dụng khi bạn đặt "model".
Trường
Kiểm soát tính ngẫu nhiên của kết quả.
Xác suất tích luỹ tối đa của các mã thông báo cần xem xét khi lấy mẫu.
Dữ liệu gốc được dùng trong quá trình giải mã để có thể tái tạo.
Danh sách các chuỗi ký tự sẽ dừng tương tác đầu ra.
tool_choice ToolChoice (không bắt buộc)
Lựa chọn về công cụ cho hoạt động tương tác.
Các loại có thể có
ToolChoiceType
Loại này không có trường cụ thể.
ToolChoiceConfig
allowed_tools AllowedTools (không bắt buộc)
Không có mô tả nào được cung cấp.
Trường
mode ToolChoiceType (không bắt buộc)
Chế độ lựa chọn công cụ.
Các giá trị có thể có:
-
auto -
any -
none -
validated
Tên của các công cụ được phép.
thinking_level ThinkingLevel (không bắt buộc)
Mức độ của mã thông báo suy nghĩ mà mô hình sẽ tạo.
Các giá trị có thể có:
-
low -
high
thinking_summaries ThinkingSummaries (không bắt buộc)
Có nên đưa bản tóm tắt suy nghĩ vào câu trả lời hay không.
Các giá trị có thể có:
-
auto -
none
Số lượng mã thông báo tối đa cần đưa vào phản hồi.
speech_config SpeechConfig (không bắt buộc)
Cấu hình cho hoạt động tương tác bằng lời nói.
Trường
Giọng nói của người nói.
Ngôn ngữ của lời nói.
Tên của người nói, tên này phải khớp với tên người nói được nêu trong câu lệnh.
agent_config object (không bắt buộc)
Cấu hình tác nhân
Cấu hình cho tác nhân.
Phương án thay thế cho "generation_config". Chỉ áp dụng khi bạn đặt "agent".
Các loại có thể có
Thuộc tính phân biệt đa hình: type
DynamicAgentConfig
Cấu hình cho các tác nhân động.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "dynamic".
DeepResearchAgentConfig
Cấu hình cho nhân viên hỗ trợ Deep Research.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "deep-research".
thinking_summaries ThinkingSummaries (không bắt buộc)
Có nên đưa bản tóm tắt suy nghĩ vào câu trả lời hay không.
Các giá trị có thể có:
-
auto -
none
Mã của lượt tương tác trước đó (nếu có).
response_modalities ResponseModality (không bắt buộc)
Các phương thức được yêu cầu của câu trả lời (VĂN BẢN, HÌNH ẢNH, ÂM THANH).
Các giá trị có thể có:
-
text -
image -
audio
Phản hồi
Trả về một tài nguyên Tương tác.
Yêu cầu đơn giản
Ví dụ về phản hồi
{ "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 } }
Nhiều lượt
Ví dụ về phản hồi
{ "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 } }
Đầu vào là hình ảnh
Ví dụ về phản hồi
{ "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 } }
Gọi hàm
Ví dụ về phản hồi
{ "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
Ví dụ về phản hồi
{ "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 } }
Truy xuất một lượt tương tác
Truy xuất thông tin chi tiết đầy đủ về một lượt tương tác dựa trên `Interaction.id`.
Tham số đường dẫn / truy vấn
Giá trị nhận dạng duy nhất của lượt tương tác cần truy xuất.
Nếu bạn đặt chính sách này thành true, thì nội dung được tạo sẽ được truyền trực tuyến theo gia số.
Mặc định là: False
Không bắt buộc. Nếu được đặt, sẽ tiếp tục luồng tương tác từ đoạn tiếp theo sau sự kiện được đánh dấu bằng mã sự kiện. Chỉ có thể dùng nếu `stream` là true.
Nên dùng phiên bản API nào.
Phản hồi
Trả về một tài nguyên Tương tác.
Nhận lượt tương tác
Ví dụ về phản hồi
{ "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?" } ] }
Xoá một lượt tương tác
Xoá lượt tương tác theo mã nhận dạng.
Tham số đường dẫn / truy vấn
Giá trị nhận dạng riêng biệt của lượt tương tác cần xoá.
Nên dùng phiên bản API nào.
Phản hồi
Nếu thành công, phản hồi sẽ trống.
Xoá lượt tương tác
Huỷ một lượt tương tác
Huỷ một lượt tương tác theo mã nhận dạng. Điều này chỉ áp dụng cho những hoạt động tương tác ở chế độ nền vẫn đang chạy.
Tham số đường dẫn / truy vấn
Giá trị nhận dạng duy nhất của lượt tương tác cần truy xuất.
Nên dùng phiên bản API nào.
Phản hồi
Trả về một tài nguyên Tương tác.
Huỷ lượt tương tác
Ví dụ về phản hồi
{ "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" }
Tài nguyên
Tương tác
Tài nguyên Interaction.
Trường
model ModelOption (không bắt buộc)
Tên của "Mô hình" dùng để tạo lượt tương tác.
Các giá trị có thể có:
-
gemini-2.5-proMô hình đa năng tiên tiến nhất của chúng tôi, có khả năng vượt trội trong việc lập trình và xử lý các nhiệm vụ suy luận phức tạp.
-
gemini-2.5-flashMô hình suy luận kết hợp đầu tiên của chúng tôi hỗ trợ cửa sổ ngữ cảnh 1 triệu token và có ngân sách tư duy.
-
gemini-2.5-flash-preview-09-2025Mô hình mới nhất dựa trên mô hình 2.5 Flash. 2.5 Flash Preview phù hợp nhất với các tác vụ xử lý quy mô lớn, độ trễ thấp, khối lượng lớn đòi hỏi tư duy và các trường hợp sử dụng có tác nhân.
-
gemini-2.5-flash-liteMô hình nhỏ nhất và tiết kiệm chi phí nhất của chúng tôi, được xây dựng để sử dụng ở quy mô lớn.
-
gemini-2.5-flash-lite-preview-09-2025Mô hình mới nhất dựa trên Gemini 2.5 Flash lite được tối ưu hoá để tiết kiệm chi phí, có thông lượng cao và chất lượng cao.
-
gemini-2.5-flash-preview-native-audio-dialogCác mô hình âm thanh gốc của chúng tôi được tối ưu hoá để mang đến đầu ra âm thanh chất lượng cao hơn với nhịp điệu, giọng nói tự nhiên, mức độ chi tiết và tâm trạng tốt hơn.
-
gemini-2.5-flash-image-previewMô hình tạo hình ảnh gốc của chúng tôi, được tối ưu hoá về tốc độ, tính linh hoạt và khả năng hiểu ngữ cảnh. Giá của văn bản đầu vào và đầu ra giống như giá của 2.5 Flash.
-
gemini-2.5-pro-preview-ttsMô hình âm thanh chuyển văn bản sang lời nói 2.5 Pro của chúng tôi được tối ưu hoá để tạo lời nói mạnh mẽ với độ trễ thấp, giúp tạo ra kết quả tự nhiên hơn và dễ dàng điều hướng các câu lệnh.
-
gemini-3-pro-previewMô hình thông minh nhất của chúng tôi với khả năng suy luận và hiểu đa phương thức tiên tiến, cùng các tính năng tác nhân và lập trình mạnh mẽ.
agent AgentOption (không bắt buộc)
Tên của "Nhân viên hỗ trợ" dùng để tạo lượt tương tác.
Các giá trị có thể có:
-
deep-research-pro-preview-12-2025Tác nhân Deep Research của Gemini
Chỉ có đầu ra. Giá trị nhận dạng riêng biệt cho lượt hoàn tất tương tác.
Chỉ có đầu ra. Trạng thái của lượt tương tác.
Các giá trị có thể có:
-
in_progress -
requires_action -
completed -
failed -
cancelled
Chỉ có đầu ra. Thời gian tạo phản hồi ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).
Chỉ có đầu ra. Thời gian cập nhật gần đây nhất của phản hồi ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).
Chỉ có đầu ra. Vai trò của lượt tương tác.
Chỉ có đầu ra. Câu trả lời của mô hình.
Chỉ có đầu ra. Loại đối tượng của lượt tương tác. Luôn đặt thành "interaction".
Luôn đặt thành "interaction".
usage Usage (không bắt buộc)
Chỉ có đầu ra. Số liệu thống kê về việc sử dụng mã thông báo của yêu cầu tương tác.
Trường
Số lượng mã thông báo trong câu lệnh (ngữ cảnh).
input_tokens_by_modality ModalityTokens (không bắt buộc)
Thông tin chi tiết về mức sử dụng mã thông báo đầu vào theo phương thức.
Trường
phương thức ResponseModality (không bắt buộc)
Phương thức liên kết với số lượng mã thông báo.
Các giá trị có thể có:
-
text -
image -
audio
Số lượng mã thông báo cho phương thức.
Số lượng mã thông báo trong phần được lưu vào bộ nhớ đệm của câu lệnh (nội dung được lưu vào bộ nhớ đệm).
cached_tokens_by_modality ModalityTokens (không bắt buộc)
Bảng chi tiết về việc sử dụng mã thông báo được lưu vào bộ nhớ đệm theo phương thức.
Trường
phương thức ResponseModality (không bắt buộc)
Phương thức liên kết với số lượng mã thông báo.
Các giá trị có thể có:
-
text -
image -
audio
Số lượng mã thông báo cho phương thức.
Tổng số mã thông báo trong tất cả các câu trả lời được tạo.
output_tokens_by_modality ModalityTokens (không bắt buộc)
Thông tin chi tiết về việc sử dụng mã thông báo đầu ra theo phương thức.
Trường
phương thức ResponseModality (không bắt buộc)
Phương thức liên kết với số lượng mã thông báo.
Các giá trị có thể có:
-
text -
image -
audio
Số lượng mã thông báo cho phương thức.
Số lượng mã thông báo có trong(các) câu lệnh sử dụng công cụ.
tool_use_tokens_by_modality ModalityTokens (không bắt buộc)
Bảng chi tiết về việc sử dụng mã thông báo sử dụng công cụ theo phương thức.
Trường
phương thức ResponseModality (không bắt buộc)
Phương thức liên kết với số lượng mã thông báo.
Các giá trị có thể có:
-
text -
image -
audio
Số lượng mã thông báo cho phương thức.
Số lượng mã thông báo về suy nghĩ cho các mô hình tư duy.
Tổng số mã thông báo cho yêu cầu tương tác (lời nhắc + câu trả lời + các mã thông báo nội bộ khác).
Mã của lượt tương tác trước đó (nếu có).
Ví dụ
Ví dụ:
{ "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 } }
Mô hình dữ liệu
Nội dung
Nội dung của câu trả lời.
Các loại có thể có
Thuộc tính phân biệt đa hình: type
TextContent
Một khối nội dung văn bản.
Nội dung văn bản.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "text".
annotations Chú thích (không bắt buộc)
Thông tin trích dẫn cho nội dung do mô hình tạo.
Trường
Điểm bắt đầu của phân đoạn phản hồi được phân bổ cho nguồn này. Chỉ mục cho biết điểm bắt đầu của phân đoạn, được đo bằng byte.
Kết thúc phân đoạn được phân bổ, không bao gồm.
Nguồn được phân bổ cho một phần văn bản. Có thể là URL, tiêu đề hoặc giá trị nhận dạng khác.
ImageContent
Một khối nội dung hình ảnh.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
mime_type ImageMimeTypeOption (không bắt buộc)
Không có mô tả nào được cung cấp.
Các giá trị có thể có:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "image".
resolution MediaResolution (không bắt buộc)
Độ phân giải của nội dung nghe nhìn.
Các giá trị có thể có:
-
low -
medium -
high
AudioContent
Một khối nội dung âm thanh.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
mime_type AudioMimeTypeOption (không bắt buộc)
Không có mô tả nào được cung cấp.
Các giá trị có thể có:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "audio".
DocumentContent
Một khối nội dung tài liệu.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "document".
VideoContent
Một khối nội dung video.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
mime_type VideoMimeTypeOption (không bắt buộc)
Không có mô tả nào được cung cấp.
Các giá trị có thể có:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "video".
resolution MediaResolution (không bắt buộc)
Độ phân giải của nội dung nghe nhìn.
Các giá trị có thể có:
-
low -
medium -
high
ThoughtContent
Một khối nội dung về suy nghĩ.
Chữ ký khớp với nguồn phụ trợ sẽ là một phần của quá trình tạo.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "thought".
summary ThoughtSummary (không bắt buộc)
Tóm tắt suy nghĩ.
FunctionCallContent
Một khối nội dung lệnh gọi công cụ hàm.
Tên của công cụ cần gọi.
Các đối số cần truyền vào hàm.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "function_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
FunctionResultContent
Một khối nội dung kết quả của công cụ hàm.
Tên của công cụ đã được gọi.
Liệu lệnh gọi công cụ có dẫn đến lỗi hay không.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "function_result".
Kết quả của lệnh gọi công cụ.
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi hàm.
CodeExecutionCallContent
Nội dung thực thi mã.
arguments CodeExecutionCallArguments (không bắt buộc)
Các đối số cần truyền đến quá trình thực thi mã.
Trường
Ngôn ngữ lập trình của "mã".
Các giá trị có thể có:
-
python
Mã cần thực thi.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "code_execution_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
CodeExecutionResultContent
Nội dung kết quả thực thi mã.
Kết quả của quá trình thực thi mã.
Liệu quá trình thực thi mã có dẫn đến lỗi hay không.
Một hàm băm chữ ký để xác thực phụ trợ.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "code_execution_result".
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi thực thi mã.
UrlContextCallContent
Nội dung theo bối cảnh URL.
arguments UrlContextCallArguments (không bắt buộc)
Các đối số cần truyền đến ngữ cảnh URL.
Trường
Các URL cần tìm nạp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "url_context_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
UrlContextResultContent
Nội dung kết quả theo bối cảnh URL.
Chữ ký của kết quả ngữ cảnh URL.
result UrlContextResult (không bắt buộc)
Kết quả của bối cảnh URL.
Trường
URL đã được tìm nạp.
Trạng thái truy xuất URL.
Các giá trị có thể có:
-
success -
error -
paywall -
unsafe
Liệu bối cảnh URL có gây ra lỗi hay không.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "url_context_result".
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi ngữ cảnh url.
GoogleSearchCallContent
Nội dung trên Google Tìm kiếm.
arguments GoogleSearchCallArguments (không bắt buộc)
Các đối số cần truyền đến Google Tìm kiếm.
Trường
Cụm từ tìm kiếm trên web để tìm kiếm trên web sau đó.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "google_search_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
GoogleSearchResultContent
Nội dung trong kết quả tìm kiếm trên Google.
Chữ ký của kết quả trên Google Tìm kiếm.
result GoogleSearchResult (không bắt buộc)
Kết quả của Google Tìm kiếm.
Trường
Tham chiếu URI của kết quả tìm kiếm.
Tiêu đề của kết quả tìm kiếm.
Đoạn nội dung web có thể được nhúng vào một trang web hoặc webview của ứng dụng.
Google Tìm kiếm có xảy ra lỗi hay không.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "google_search_result".
Mã nhận dạng khớp với mã nhận dạng trong lệnh chặn cuộc gọi trên Google Tìm kiếm.
McpServerToolCallContent
Nội dung lệnh gọi công cụ MCPServer.
Tên của công cụ đã được gọi.
Tên của máy chủ MCP được dùng.
Đối tượng JSON của các đối số cho hàm.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "mcp_server_tool_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
McpServerToolResultContent
Nội dung kết quả của công cụ MCPServer.
Tên của công cụ được gọi cho lệnh gọi công cụ cụ thể này.
Tên của máy chủ MCP được dùng.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "mcp_server_tool_result".
Kết quả của lệnh gọi công cụ.
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi công cụ máy chủ MCP.
FileSearchResultContent
Nội dung kết quả tìm kiếm tệp.
result FileSearchResult (không bắt buộc)
Kết quả của tính năng Tìm kiếm tệp.
Trường
Tiêu đề của kết quả tìm kiếm.
Văn bản của kết quả tìm kiếm.
Tên của kho lưu trữ tìm kiếm tệp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "file_search_result".
Ví dụ
Văn bản
{ "type": "text", "text": "Hello, how are you?" }
Hình ảnh
{ "type": "image", "data": "BASE64_ENCODED_IMAGE", "mime_type": "image/png" }
Âm thanh
{ "type": "audio", "data": "BASE64_ENCODED_AUDIO", "mime_type": "audio/wav" }
Tài liệu
{ "type": "document", "data": "BASE64_ENCODED_DOCUMENT", "mime_type": "application/pdf" }
Video
{ "type": "video", "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg" }
Suy nghĩ
{ "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" }
Lệnh gọi hàm
{ "type": "function_call", "name": "get_weather", "id": "gth23981", "arguments": { "location": "Boston, MA" } }
Kết quả hàm
{ "type": "function_result", "name": "get_weather", "call_id": "gth23981", "result": { "weather": "sunny" } }
Lệnh gọi thực thi mã
{ "type": "code_execution_call", "id": "call_123456", "arguments": { "language": "python", "code": "print('hello world')" } }
Kết quả thực thi mã
{ "type": "code_execution_result", "call_id": "call_123456", "result": "hello world\n" }
Lệnh gọi bối cảnh URL
{ "type": "url_context_call", "id": "call_123456", "arguments": { "urls": [ "https://www.example.com" ] } }
Kết quả theo bối cảnh URL
{ "type": "url_context_result", "call_id": "call_123456", "result": [ { "url": "https://www.example.com", "status": "SUCCESS" } ] }
Cuộc gọi qua Google Tìm kiếm
{ "type": "google_search_call", "id": "call_123456", "arguments": { "queries": [ "weather in Boston" ] } }
Kết quả tìm kiếm trên Google
{ "type": "google_search_result", "call_id": "call_123456", "result": [ { "url": "https://www.google.com/search?q=weather+in+Boston", "title": "Weather in Boston" } ] }
Lệnh gọi công cụ máy chủ Mcp
{ "type": "mcp_server_tool_call", "id": "call_123456", "name": "get_forecast", "server_name": "weather_server", "arguments": { "city": "London" } }
Kết quả của công cụ máy chủ Mcp
{ "type": "mcp_server_tool_result", "name": "get_forecast", "server_name": "weather_server", "call_id": "call_123456", "result": "sunny" }
Kết quả tìm kiếm tệp
{ "type": "file_search_result", "result": [ { "text": "search result chunk", "file_search_store": "file_search_store" } ] }
Công cụ
Các loại có thể có
Thuộc tính phân biệt đa hình: type
Hàm
Một công cụ mà mô hình có thể sử dụng.
Tên của hàm.
Nội dung mô tả về hàm.
Giản đồ JSON cho các tham số của hàm.
Không có mô tả nào được cung cấp.
Luôn đặt thành "function".
GoogleSearch
Một công cụ mà mô hình có thể dùng để tìm kiếm trên Google.
Không có mô tả nào được cung cấp.
Luôn đặt thành "google_search".
CodeExecution
Một công cụ mà mô hình có thể dùng để thực thi mã.
Không có mô tả nào được cung cấp.
Luôn đặt thành "code_execution".
UrlContext
Một công cụ mà mô hình có thể dùng để tìm nạp ngữ cảnh URL.
Không có mô tả nào được cung cấp.
Luôn đặt thành "url_context".
ComputerUse
Một công cụ mà mô hình có thể dùng để tương tác với máy tính.
Không có mô tả nào được cung cấp.
Luôn đặt thành "computer_use".
Môi trường đang hoạt động.
Các giá trị có thể có:
-
browser
Danh sách các hàm được xác định trước bị loại trừ khỏi lệnh gọi mô hình.
McpServer
MCPServer là một máy chủ mà mô hình có thể gọi để thực hiện các hành động.
Không có mô tả nào được cung cấp.
Luôn đặt thành "mcp_server".
Tên của MCPServer.
URL đầy đủ cho điểm cuối MCPServer. Ví dụ: "https://api.example.com/mcp"
Không bắt buộc: Các trường cho tiêu đề xác thực, thời gian chờ, v.v. (nếu cần).
allowed_tools AllowedTools (không bắt buộc)
Các công cụ được phép.
Trường
mode ToolChoiceType (không bắt buộc)
Chế độ lựa chọn công cụ.
Các giá trị có thể có:
-
auto -
any -
none -
validated
Tên của các công cụ được phép.
FileSearch
Một công cụ mà mô hình có thể dùng để tìm kiếm tệp.
Tên cửa hàng tìm kiếm tệp để tìm kiếm.
Số lượng đoạn truy xuất ngữ nghĩa cần truy xuất.
Bộ lọc siêu dữ liệu để áp dụng cho các tài liệu và khối truy xuất ngữ nghĩa.
Không có mô tả nào được cung cấp.
Luôn đặt thành "file_search".
Ví dụ
Chức năng
GoogleSearch
CodeExecution
UrlContext
ComputerUse
McpServer
FileSearch
Bật/Tắt
Trường
Người khởi tạo lượt này. Phải là người dùng cho dữ liệu đầu vào hoặc mô hình cho đầu ra của mô hình.
Nội dung của lượt tương tác.
Ví dụ
Lượt người dùng
{ "role": "user", "content": [ { "type": "text", "text": "user turn" } ] }
Lượt của mô hình
{ "role": "model", "content": [ { "type": "text", "text": "model turn" } ] }
InteractionSseEvent
Các loại có thể có
Thuộc tính phân biệt đa hình: event_type
InteractionEvent
Không có mô tả nào được cung cấp.
Các giá trị có thể có:
-
interaction.start -
interaction.complete
Không có mô tả nào được cung cấp.
Mã thông báo event_id sẽ được dùng để tiếp tục luồng tương tác, bắt đầu từ sự kiện này.
InteractionStatusUpdate
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Các giá trị có thể có:
-
in_progress -
requires_action -
completed -
failed -
cancelled
Không có mô tả nào được cung cấp.
Luôn đặt thành "interaction.status_update".
Mã thông báo event_id sẽ được dùng để tiếp tục luồng tương tác, bắt đầu từ sự kiện này.
ContentStart
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Luôn đặt thành "content.start".
Mã thông báo event_id sẽ được dùng để tiếp tục luồng tương tác, bắt đầu từ sự kiện này.
ContentDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Luôn đặt thành "content.delta".
Mã thông báo event_id sẽ được dùng để tiếp tục luồng tương tác, bắt đầu từ sự kiện này.
delta object (không bắt buộc)
Không có mô tả nào được cung cấp.
Các loại có thể có
Thuộc tính phân biệt đa hình: type
TextDelta
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "text".
annotations Chú thích (không bắt buộc)
Thông tin trích dẫn cho nội dung do mô hình tạo.
Trường
Điểm bắt đầu của phân đoạn phản hồi được phân bổ cho nguồn này. Chỉ mục cho biết điểm bắt đầu của phân đoạn, được đo bằng byte.
Kết thúc phân đoạn được phân bổ, không bao gồm.
Nguồn được phân bổ cho một phần văn bản. Có thể là URL, tiêu đề hoặc giá trị nhận dạng khác.
ImageDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
mime_type ImageMimeTypeOption (không bắt buộc)
Không có mô tả nào được cung cấp.
Các giá trị có thể có:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "image".
resolution MediaResolution (không bắt buộc)
Độ phân giải của nội dung nghe nhìn.
Các giá trị có thể có:
-
low -
medium -
high
AudioDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
mime_type AudioMimeTypeOption (không bắt buộc)
Không có mô tả nào được cung cấp.
Các giá trị có thể có:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "audio".
DocumentDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "document".
VideoDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
mime_type VideoMimeTypeOption (không bắt buộc)
Không có mô tả nào được cung cấp.
Các giá trị có thể có:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "video".
resolution MediaResolution (không bắt buộc)
Độ phân giải của nội dung nghe nhìn.
Các giá trị có thể có:
-
low -
medium -
high
ThoughtSummaryDelta
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "thought_summary".
Không có mô tả nào được cung cấp.
ThoughtSignatureDelta
Chữ ký khớp với nguồn phụ trợ sẽ là một phần của quá trình tạo.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "thought_signature".
FunctionCallDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "function_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
FunctionResultDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "function_result".
Mức chênh lệch kết quả của lệnh gọi công cụ.
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi hàm.
CodeExecutionCallDelta
arguments CodeExecutionCallArguments (không bắt buộc)
Không có mô tả nào được cung cấp.
Trường
Ngôn ngữ lập trình của "mã".
Các giá trị có thể có:
-
python
Mã cần thực thi.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "code_execution_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
CodeExecutionResultDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "code_execution_result".
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi hàm.
UrlContextCallDelta
arguments UrlContextCallArguments (không bắt buộc)
Không có mô tả nào được cung cấp.
Trường
Các URL cần tìm nạp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "url_context_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
UrlContextResultDelta
Không có mô tả nào được cung cấp.
result UrlContextResult (không bắt buộc)
Không có mô tả nào được cung cấp.
Trường
URL đã được tìm nạp.
Trạng thái truy xuất URL.
Các giá trị có thể có:
-
success -
error -
paywall -
unsafe
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "url_context_result".
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi hàm.
GoogleSearchCallDelta
arguments GoogleSearchCallArguments (không bắt buộc)
Không có mô tả nào được cung cấp.
Trường
Cụm từ tìm kiếm trên web để tìm kiếm trên web sau đó.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "google_search_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
GoogleSearchResultDelta
Không có mô tả nào được cung cấp.
result GoogleSearchResult (không bắt buộc)
Không có mô tả nào được cung cấp.
Trường
Tham chiếu URI của kết quả tìm kiếm.
Tiêu đề của kết quả tìm kiếm.
Đoạn nội dung web có thể được nhúng vào một trang web hoặc webview của ứng dụng.
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "google_search_result".
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi hàm.
McpServerToolCallDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "mcp_server_tool_call".
Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.
McpServerToolResultDelta
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "mcp_server_tool_result".
Mức chênh lệch kết quả của lệnh gọi công cụ.
Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi hàm.
FileSearchResultDelta
result FileSearchResult (không bắt buộc)
Không có mô tả nào được cung cấp.
Trường
Tiêu đề của kết quả tìm kiếm.
Văn bản của kết quả tìm kiếm.
Tên của kho lưu trữ tìm kiếm tệp.
Được dùng làm bộ phân biệt loại OpenAPI cho nội dung oneof.
Luôn đặt thành "file_search_result".
ContentStop
Không có mô tả nào được cung cấp.
Không có mô tả nào được cung cấp.
Luôn đặt thành "content.stop".
Mã thông báo event_id sẽ được dùng để tiếp tục luồng tương tác, bắt đầu từ sự kiện này.
ErrorEvent
Không có mô tả nào được cung cấp.
Luôn đặt thành "error".
error Error (không bắt buộc)
Không có mô tả nào được cung cấp.
Trường
Một URI xác định loại lỗi.
Thông báo lỗi mà con người có thể đọc được.
Mã thông báo event_id sẽ được dùng để tiếp tục luồng tương tác, bắt đầu từ sự kiện này.
Ví dụ
Bắt đầu tương tác
{ "event_type": "interaction.start", "interaction": { "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "status": "in_progress" } }
Tương tác hoàn tất
{ "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 } } }
Thông tin cập nhật về trạng thái tương tác
{ "event_type": "interaction.status_update", "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "status": "in_progress" }
Bắt đầu nội dung
{ "event_type": "content.start", "content": { "type": "text" }, "index": 1 }
Chênh lệch về nội dung
{ "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 }
Dừng nội dung
{ "event_type": "content.stop", "index": 1 }
Sự kiện lỗi
{ "event_type": "error", "error": { "message": "Failed to get completed interaction: Result not found.", "code": "not_found" } }