Gemini API

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

post https://generativelanguage.googleapis.com/v1beta/interactions

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-pro

    Mô 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-flash

    Mô 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-2025

    Mô 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-lite

    Mô 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-2025

    Mô 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-dialog

    Cá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-preview

    Mô 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-tts

    Mô 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-preview

    Mô 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ẽ.

Mô hình sẽ hoàn thành câu lệnh của bạn.\n\nHãy xem [các mô hình](https://ai.google.dev/gemini-api/docs/models) để biết thêm thông tin chi tiết.

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-2025

    Tác nhân Deep Research của Gemini

Nhân viên hỗ trợ để tương tác.

input Content hoặc array (Content) hoặc array (Turn) hoặc string  (bắt buộc)

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).

system_instruction string  (không bắt buộc)

Hướng dẫn của hệ thống cho hoạt động tương tác.

tools mảng (Tool)  (không bắt buộ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.

response_format object  (không bắt buộ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.

response_mime_type string  (không bắt buộc)

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.

stream boolean  (không bắt buộc)

Chỉ có đầu vào. Liệu tương tác có được phát trực tuyến hay không.

store boolean  (không bắt buộc)

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.

background boolean  (không bắt buộc)

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".

Thông số cấu hình cho các lượt tương tác với mô hình.

Trường

temperature number  (không bắt buộc)

Kiểm soát tính ngẫu nhiên của kết quả.

top_p number  (không bắt buộc)

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.

seed integer  (không bắt buộc)

Dữ liệu gốc được dùng trong quá trình giải mã để có thể tái tạo.

stop_sequences mảng (chuỗi)  (không bắt buộc)

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ấu hình cho lựa chọn công 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.

Cấu hình cho 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

tools array (string)  (không bắt buộc)

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

max_output_tokens số nguyên  (không bắt buộc)

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.

Cấu hình cho hoạt động tương tác bằng lời nói.

Trường

voice string  (không bắt buộc)

Giọng nói của người nói.

language string  (không bắt buộc)

Ngôn ngữ của lời nói.

speaker string  (không bắt buộc)

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.

type string  (không bắt buộc)

Đượ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.

type string  (không bắt buộc)

Đượ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

previous_interaction_id string  (không bắt buộc)

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

get https://generativelanguage.googleapis.com/v1beta/interactions/{id}

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

id string  (bắt buộc)

Giá trị nhận dạng duy nhất của lượt tương tác cần truy xuất.

stream boolean  (không bắt buộc)

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

last_event_id string  (không bắt buộc)

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.

api_version string  (không bắt buộc)

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

delete https://generativelanguage.googleapis.com/v1beta/interactions/{id}

Xoá lượt tương tác theo mã nhận dạng.

Tham số đường dẫn / truy vấn

id string  (bắt buộc)

Giá trị nhận dạng riêng biệt của lượt tương tác cần xoá.

api_version string  (không bắt buộc)

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

post https://generativelanguage.googleapis.com/v1beta/interactions/{id}/cancel

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

id string  (bắt buộc)

Giá trị nhận dạng duy nhất của lượt tương tác cần truy xuất.

api_version string  (không bắt buộc)

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-pro

    Mô 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-flash

    Mô 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-2025

    Mô 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-lite

    Mô 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-2025

    Mô 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-dialog

    Cá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-preview

    Mô 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-tts

    Mô 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-preview

    Mô 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ẽ.

Mô hình sẽ hoàn thành câu lệnh của bạn.\n\nHãy xem [các mô hình](https://ai.google.dev/gemini-api/docs/models) để biết thêm thông tin chi tiết.

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-2025

    Tác nhân Deep Research của Gemini

Nhân viên hỗ trợ để tương tác.

id string  (không bắt buộc)

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.

status enum (string)  (không bắt buộ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
created string  (không bắt buộc)

Chỉ có đầu ra. Thời gian tạo phản hồi ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

updated string  (không bắt buộc)

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).

role string  (không bắt buộc)

Chỉ có đầu ra. Vai trò của lượt tương tác.

outputs mảng (Nội dung)  (không bắt buộc)

Chỉ có đầu ra. Câu trả lời của mô hình.

object string  (không bắt buộc)

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.

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

total_input_tokens số nguyên  (không bắt buộc)

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.

Số lượng mã thông báo cho một phương thức phản hồi duy nhất.

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

tokens integer  (không bắt buộc)

Số lượng mã thông báo cho phương thức.

total_cached_tokens integer  (không bắt buộ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.

Số lượng mã thông báo cho một phương thức phản hồi duy nhất.

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

tokens integer  (không bắt buộc)

Số lượng mã thông báo cho phương thức.

total_output_tokens integer  (không bắt buộ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.

Số lượng mã thông báo cho một phương thức phản hồi duy nhất.

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

tokens integer  (không bắt buộc)

Số lượng mã thông báo cho phương thức.

total_tool_use_tokens integer  (không bắt buộ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.

Số lượng mã thông báo cho một phương thức phản hồi duy nhất.

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

tokens integer  (không bắt buộc)

Số lượng mã thông báo cho phương thức.

total_reasoning_tokens integer  (không bắt buộc)

Số lượng mã thông báo về suy nghĩ cho các mô hình tư duy.

total_tokens integer  (không bắt buộc)

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).

previous_interaction_id string  (không bắt buộ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.

text string  (không bắt buộc)

Nội dung văn bản.

type string  (bắt buộc)

Đượ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.

Thông tin trích dẫn cho nội dung do mô hình tạo.

Trường

start_index integer  (không bắt buộc)

Đ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.

end_index integer  (không bắt buộc)

Kết thúc phân đoạn được phân bổ, không bao gồm.

source string  (không bắt buộc)

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.

data string  (không bắt buộc)

Không có mô tả nào được cung cấp.

uri string  (không bắt buộc)

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

Loại MIME của hình ảnh.

type string  (bắt buộc)

Đượ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.

data string  (không bắt buộc)

Không có mô tả nào được cung cấp.

uri string  (không bắt buộc)

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

Loại MIME của âm thanh.

type string  (bắt buộc)

Đượ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.

data string  (không bắt buộc)

Không có mô tả nào được cung cấp.

uri string  (không bắt buộc)

Không có mô tả nào được cung cấp.

mime_type string  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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.

data string  (không bắt buộc)

Không có mô tả nào được cung cấp.

uri string  (không bắt buộc)

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

Loại MIME của video.

type string  (bắt buộc)

Đượ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ý chuỗi  (không bắt buộc)

Chữ ký khớp với nguồn phụ trợ sẽ là một phần của quá trình tạo.

type string  (bắt buộc)

Đượ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ĩ.

Tóm tắt suy nghĩ.

FunctionCallContent

Một khối nội dung lệnh gọi công cụ hàm.

name string  (bắt buộc)

Tên của công cụ cần gọi.

arguments object  (bắt buộc)

Các đối số cần truyền vào hàm.

type string  (bắt buộc)

Đượ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".

id string  (bắt buộc)

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.

name string  (không bắt buộc)

Tên của công cụ đã được gọi.

is_error boolean  (không bắt buộc)

Liệu lệnh gọi công cụ có dẫn đến lỗi hay không.

type string  (bắt buộc)

Đượ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".

result object hoặc string  (bắt buộc)

Kết quả của lệnh gọi công cụ.

call_id string  (bắt buộ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ã.

Các đối số cần truyền đến quá trình thực thi mã.

Trường

language enum (string)  (không bắt buộc)

Ngôn ngữ lập trình của "mã".

Các giá trị có thể có:

  • python
code string  (không bắt buộc)

Mã cần thực thi.

type string  (bắt buộc)

Đượ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".

id string  (không bắt buộc)

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ã.

result string  (không bắt buộc)

Kết quả của quá trình thực thi mã.

is_error boolean  (không bắt buộc)

Liệu quá trình thực thi mã có dẫn đến lỗi hay không.

chữ ký chuỗi  (không bắt buộc)

Một hàm băm chữ ký để xác thực phụ trợ.

type string  (bắt buộc)

Đượ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".

call_id string  (không bắt buộc)

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.

Các đối số cần truyền đến ngữ cảnh URL.

Trường

urls mảng (chuỗi)  (không bắt buộc)

Các URL cần tìm nạp.

type string  (bắt buộc)

Đượ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".

id string  (không bắt buộc)

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ý chuỗi  (không bắt buộc)

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.

Kết quả của ngữ cảnh URL.

Trường

url string  (không bắt buộc)

URL đã được tìm nạp.

status enum (string)  (không bắt buộc)

Trạng thái truy xuất URL.

Các giá trị có thể có:

  • success
  • error
  • paywall
  • unsafe
is_error boolean  (không bắt buộc)

Liệu bối cảnh URL có gây ra lỗi hay không.

type string  (bắt buộc)

Đượ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".

call_id string  (không bắt buộc)

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.

Các đối số cần truyền đến Google Tìm kiếm.

Trường

queries array (string)  (không bắt buộc)

Cụm từ tìm kiếm trên web để tìm kiếm trên web sau đó.

type string  (bắt buộc)

Đượ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".

id string  (không bắt buộc)

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ý chuỗi  (không bắt buộc)

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.

Kết quả của Google Tìm kiếm.

Trường

url string  (không bắt buộc)

Tham chiếu URI của kết quả tìm kiếm.

title string  (không bắt buộc)

Tiêu đề của kết quả tìm kiếm.

rendered_content string  (không bắt buộc)

Đ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.

is_error boolean  (không bắt buộc)

Google Tìm kiếm có xảy ra lỗi hay không.

type string  (bắt buộc)

Đượ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".

call_id string  (không bắt buộc)

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.

name string  (bắt buộc)

Tên của công cụ đã được gọi.

server_name string  (bắt buộc)

Tên của máy chủ MCP được dùng.

arguments object  (bắt buộc)

Đối tượng JSON của các đối số cho hàm.

type string  (bắt buộc)

Đượ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".

id string  (bắt buộc)

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.

name string  (không bắt buộc)

Tên của công cụ được gọi cho lệnh gọi công cụ cụ thể này.

server_name string  (không bắt buộc)

Tên của máy chủ MCP được dùng.

type string  (bắt buộc)

Đượ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".

result object hoặc string  (bắt buộc)

Kết quả của lệnh gọi công cụ.

call_id string  (bắt buộ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.

Kết quả của tính năng Tìm kiếm tệp.

Trường

title string  (không bắt buộc)

Tiêu đề của kết quả tìm kiếm.

text string  (không bắt buộc)

Văn bản của kết quả tìm kiếm.

file_search_store string  (không bắt buộc)

Tên của kho lưu trữ tìm kiếm tệp.

type string  (bắt buộc)

Đượ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.

name string  (không bắt buộc)

Tên của hàm.

description string  (không bắt buộc)

Nội dung mô tả về hàm.

parameters object  (không bắt buộc)

Giản đồ JSON cho các tham số của hàm.

type string  (bắt buộc)

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.

type string  (bắt buộc)

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ã.

type string  (bắt buộc)

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.

type string  (bắt buộc)

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.

type string  (bắt buộc)

Không có mô tả nào được cung cấp.

Luôn đặt thành "computer_use".

environment enum (string)  (không bắt buộc)

Môi trường đang hoạt động.

Các giá trị có thể có:

  • browser
excludedPredefinedFunctions array (string)  (không bắt buộc)

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.

type string  (bắt buộc)

Không có mô tả nào được cung cấp.

Luôn đặt thành "mcp_server".

name string  (không bắt buộc)

Tên của MCPServer.

url string  (không bắt buộc)

URL đầy đủ cho điểm cuối MCPServer. Ví dụ: "https://api.example.com/mcp"

headers object  (không bắt buộc)

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.

Cấu hình cho 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

tools array (string)  (không bắt buộc)

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.

file_search_store_names array (string)  (không bắt buộc)

Tên cửa hàng tìm kiếm tệp để tìm kiếm.

top_k số nguyên  (không bắt buộc)

Số lượng đoạn truy xuất ngữ nghĩa cần truy xuất.

metadata_filter string  (không bắt buộc)

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.

type string  (bắt buộc)

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

role string  (không bắt buộc)

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.

content mảng (Nội dung) hoặc chuỗi  (không bắt buộc)

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

event_type enum (string)  (không bắt buộc)

Không có mô tả nào được cung cấp.

Các giá trị có thể có:

  • interaction.start
  • interaction.complete
interaction Tương tác  (không bắt buộc)

Không có mô tả nào được cung cấp.

event_id string  (không bắt buộ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.

InteractionStatusUpdate

interaction_id string  (không bắt buộc)

Không có mô tả nào được cung cấp.

status enum (string)  (không bắt buộc)

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
event_type string  (không bắt buộc)

Không có mô tả nào được cung cấp.

Luôn đặt thành "interaction.status_update".

event_id string  (không bắt buộ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.

ContentStart

index số nguyên  (không bắt buộc)

Không có mô tả nào được cung cấp.

nội dung Nội dung  (không bắt buộc)

Không có mô tả nào được cung cấp.

event_type string  (không bắt buộc)

Không có mô tả nào được cung cấp.

Luôn đặt thành "content.start".

event_id string  (không bắt buộ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.

ContentDelta

index số nguyên  (không bắt buộc)

Không có mô tả nào được cung cấp.

event_type string  (không bắt buộc)

Không có mô tả nào được cung cấp.

Luôn đặt thành "content.delta".

event_id string  (không bắt buộ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.

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

text string  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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.

Thông tin trích dẫn cho nội dung do mô hình tạo.

Trường

start_index integer  (không bắt buộc)

Đ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.

end_index integer  (không bắt buộc)

Kết thúc phân đoạn được phân bổ, không bao gồm.

source string  (không bắt buộc)

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

data string  (không bắt buộc)

Không có mô tả nào được cung cấp.

uri string  (không bắt buộc)

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

Loại MIME của hình ảnh.

type string  (bắt buộc)

Đượ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

data string  (không bắt buộc)

Không có mô tả nào được cung cấp.

uri string  (không bắt buộc)

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

Loại MIME của âm thanh.

type string  (bắt buộc)

Đượ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

data string  (không bắt buộc)

Không có mô tả nào được cung cấp.

uri string  (không bắt buộc)

Không có mô tả nào được cung cấp.

mime_type string  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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

data string  (không bắt buộc)

Không có mô tả nào được cung cấp.

uri string  (không bắt buộc)

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

Loại MIME của video.

type string  (bắt buộc)

Đượ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

type string  (bắt buộc)

Đượ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".

content ImageContent hoặc TextContent  (không bắt buộc)

Không có mô tả nào được cung cấp.

ThoughtSignatureDelta

chữ ký chuỗi  (không bắt buộc)

Chữ ký khớp với nguồn phụ trợ sẽ là một phần của quá trình tạo.

type string  (bắt buộc)

Đượ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

name string  (không bắt buộc)

Không có mô tả nào được cung cấp.

arguments object  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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".

id string  (không bắt buộc)

Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.

FunctionResultDelta

name string  (không bắt buộc)

Không có mô tả nào được cung cấp.

is_error boolean  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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".

result đối tượng hoặc chuỗi  (không bắt buộc)

Mức chênh lệch kết quả của lệnh gọi công cụ.

call_id string  (không bắt buộ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.

Các đối số cần truyền đến quá trình thực thi mã.

Trường

language enum (string)  (không bắt buộc)

Ngôn ngữ lập trình của "mã".

Các giá trị có thể có:

  • python
code string  (không bắt buộc)

Mã cần thực thi.

type string  (bắt buộc)

Đượ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".

id string  (không bắt buộc)

Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.

CodeExecutionResultDelta

result string  (không bắt buộc)

Không có mô tả nào được cung cấp.

is_error boolean  (không bắt buộc)

Không có mô tả nào được cung cấp.

chữ ký chuỗi  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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".

call_id string  (không bắt buộc)

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.

Các đối số cần truyền đến ngữ cảnh URL.

Trường

urls mảng (chuỗi)  (không bắt buộc)

Các URL cần tìm nạp.

type string  (bắt buộc)

Đượ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".

id string  (không bắt buộc)

Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.

UrlContextResultDelta

chữ ký chuỗi  (không bắt buộc)

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.

Kết quả của ngữ cảnh URL.

Trường

url string  (không bắt buộc)

URL đã được tìm nạp.

status enum (string)  (không bắt buộc)

Trạng thái truy xuất URL.

Các giá trị có thể có:

  • success
  • error
  • paywall
  • unsafe
is_error boolean  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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".

call_id string  (không bắt buộc)

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.

Các đối số cần truyền đến Google Tìm kiếm.

Trường

queries array (string)  (không bắt buộc)

Cụm từ tìm kiếm trên web để tìm kiếm trên web sau đó.

type string  (bắt buộc)

Đượ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".

id string  (không bắt buộc)

Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.

GoogleSearchResultDelta

chữ ký chuỗi  (không bắt buộc)

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.

Kết quả của Google Tìm kiếm.

Trường

url string  (không bắt buộc)

Tham chiếu URI của kết quả tìm kiếm.

title string  (không bắt buộc)

Tiêu đề của kết quả tìm kiếm.

rendered_content string  (không bắt buộc)

Đ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.

is_error boolean  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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".

call_id string  (không bắt buộc)

Mã nhận dạng khớp với mã nhận dạng trong khối lệnh gọi hàm.

McpServerToolCallDelta

name string  (không bắt buộc)

Không có mô tả nào được cung cấp.

server_name string  (không bắt buộc)

Không có mô tả nào được cung cấp.

arguments object  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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".

id string  (không bắt buộc)

Mã nhận dạng duy nhất cho lệnh gọi công cụ cụ thể này.

McpServerToolResultDelta

name string  (không bắt buộc)

Không có mô tả nào được cung cấp.

server_name string  (không bắt buộc)

Không có mô tả nào được cung cấp.

type string  (bắt buộc)

Đượ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".

result object hoặc string  (không bắt buộc)

Mức chênh lệch kết quả của lệnh gọi công cụ.

call_id string  (không bắt buộ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.

Kết quả của tính năng Tìm kiếm tệp.

Trường

title string  (không bắt buộc)

Tiêu đề của kết quả tìm kiếm.

text string  (không bắt buộc)

Văn bản của kết quả tìm kiếm.

file_search_store string  (không bắt buộc)

Tên của kho lưu trữ tìm kiếm tệp.

type string  (bắt buộc)

Đượ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

index integer  (không bắt buộc)

Không có mô tả nào được cung cấp.

event_type string  (không bắt buộc)

Không có mô tả nào được cung cấp.

Luôn đặt thành "content.stop".

event_id string  (không bắt buộ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.

ErrorEvent

event_type string  (không bắt buộc)

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.

Thông báo lỗi từ một lượt tương tác.

Trường

code string  (không bắt buộc)

Một URI xác định loại lỗi.

message string  (không bắt buộc)

Thông báo lỗi mà con người có thể đọc được.

event_id string  (không bắt buộ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"
  }
}