Gemini API

Gemini Interactions API는 개발자가 Gemini 모델을 사용하여 생성형 AI 애플리케이션을 빌드할 수 있는 실험용 API입니다. Gemini는 멀티모달을 위해 처음부터 구축된 Google의 가장 뛰어난 모델입니다. 언어, 이미지, 오디오, 동영상, 코드 등 다양한 유형의 정보를 일반화하고 원활하게 이해, 활용, 결합할 수 있습니다. 텍스트와 이미지 간 추론, 콘텐츠 생성, 대화 에이전트, 요약 및 분류 시스템 등의 사용 사례에 Gemini API를 사용할 수 있습니다.

상호작용 만들기

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

새 상호작용을 만듭니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

model ModelOption  (선택사항)

상호작용을 생성하는 데 사용된 `Model` 의 이름입니다.
`agent` 가 제공되지 않은 경우 필수입니다.

가능한 값은 다음과 같습니다.

  • gemini-2.5-flash

    100만 개의 토큰 컨텍스트 윈도우를 지원하고 사고 예산이 있는 Google의 첫 번째 하이브리드 추론 모델입니다.

  • gemini-2.5-flash-image

    속도, 유연성, 맥락 이해에 최적화된 Google의 네이티브 이미지 생성 모델입니다. 텍스트 입력 및 출력은 2.5 Flash와 동일한 가격으로 책정됩니다.

  • gemini-2.5-flash-lite

    대규모 사용을 위해 빌드된 가장 작고 비용 효율적인 모델입니다.

  • gemini-2.5-flash-lite-preview-09-2025

    비용 효율성, 높은 처리량, 고품질에 최적화된 Gemini 2.5 Flash Lite 기반의 최신 모델입니다.

  • gemini-2.5-flash-native-audio-preview-12-2025

    Google의 네이티브 오디오 모델은 더 나은 속도, 자연스러운 음성, 세부정보 수준, 분위기를 통해 고품질 오디오 출력을 제공하도록 최적화되어 있습니다.

  • gemini-2.5-flash-preview-09-2025

    2.5 Flash 모델을 기반으로 하는 최신 모델입니다. 2.5 Flash Preview는 대규모 처리, 짧은 지연 시간, 사고력이 필요한 대량 작업, 에이전트 사용 사례에 가장 적합합니다.

  • gemini-2.5-flash-preview-tts

    강력하고 짧은 지연 시간의 제어 가능한 음성 생성에 최적화된 2.5 Flash Text-to-Speech 모델입니다.

  • gemini-2.5-pro

    코딩 및 복잡한 추론 작업에 탁월한 최첨단 다목적 모델입니다.

  • gemini-2.5-pro-preview-tts

    더 자연스러운 출력과 프롬프트 조작의 용이성을 위해 강력하고 지연 시간이 짧은 음성 생성을 위해 최적화된 2.5 Pro Text-to-Speech 오디오 모델입니다.

  • gemini-3-flash-preview

    최첨단 인텔리전스와 뛰어난 검색 및 그라운딩을 결합하여 속도에 중점을 두고 설계된 가장 지능적인 모델입니다.

  • gemini-3-pro-image-preview

    최첨단 이미지 생성 및 편집 모델입니다.

  • gemini-3-pro-preview

    최첨단 추론 및 멀티모달 이해, 강력한 에이전트형 및 바이브 코딩 기능을 갖춘 가장 지능적인 모델입니다.

  • gemini-3.1-pro-preview

    전례 없는 깊이와 미묘한 뉘앙스, 강력한 멀티모달 이해 및 코딩 기능을 갖춘 최신 SOTA 추론 모델입니다.

  • gemini-3.1-flash-image-preview

    Flash 속도 효율성과 현실에 기반한 생성 기능을 갖춘 Pro 수준의 시각적 지능

프롬프트를 완성할 모델입니다.\n\n자세한 내용은 [모델](https://ai.google.dev/gemini-api/docs/models)을 참고하세요.

agent AgentOption  (선택사항)

상호작용을 생성하는 데 사용된 `Agent` 의 이름입니다.
`model` 이 제공되지 않은 경우 필수입니다.

가능한 값은 다음과 같습니다.

  • deep-research-pro-preview-12-2025

    Gemini Deep Research 에이전트

상호작용할 에이전트입니다.

input 콘텐츠 또는 배열 (콘텐츠) 또는 배열 () 또는 문자열  (필수)

상호작용의 입력입니다 (모델과 에이전트 모두에 공통).

system_instruction string  (선택사항)

상호작용을 위한 시스템 요청 사항입니다.

tools array (Tool)  (선택사항)

모델이 상호작용 중에 호출할 수 있는 도구 선언 목록입니다.

response_format object  (선택사항)

생성된 대답이 이 필드에 지정된 JSON 스키마를 준수하는 JSON 객체임을 강제합니다.

response_mime_type string  (선택사항)

대답의 MIME 유형입니다. response_format이 설정된 경우 필수입니다.

stream boolean  (선택사항)

입력 전용입니다. 상호작용이 스트리밍되는지 여부입니다.

store boolean  (선택사항)

입력 전용입니다. 나중에 검색할 수 있도록 응답과 요청을 저장할지 여부입니다.

background boolean  (선택사항)

입력 전용입니다. 백그라운드에서 모델 상호작용을 실행할지 여부입니다.

generation_config GenerationConfig  (선택사항)

모델 구성
모델 상호작용을 위한 구성 매개변수입니다.
`agent_config`의 대안입니다. `model` 이 설정된 경우에만 적용됩니다.

모델 상호작용을 위한 구성 매개변수입니다.

필드

temperature number  (선택사항)

출력의 무작위성을 제어합니다.

top_p number  (선택사항)

샘플링 시 고려할 토큰의 최대 누적 확률입니다.

seed 정수  (선택사항)

재현성을 위해 디코딩에 사용되는 시드입니다.

stop_sequences array (string)  (선택사항)

출력 상호작용을 중지하는 문자 시퀀스 목록입니다.

thinking_level ThinkingLevel  (선택사항)

모델이 생성해야 하는 사고 토큰의 수준입니다.

가능한 값은 다음과 같습니다.

  • minimal
  • low
  • medium
  • high

thinking_summaries ThinkingSummaries  (선택사항)

대답에 사고 요약을 포함할지 여부입니다.

가능한 값은 다음과 같습니다.

  • auto
  • none

max_output_tokens integer  (선택사항)

응답에 포함할 최대 토큰 수입니다.

speech_config SpeechConfig  (선택사항)

음성 상호작용 구성입니다.

음성 상호작용 구성입니다.

필드

voice string  (선택사항)

화자의 음성입니다.

language string  (선택사항)

음성의 언어입니다.

speaker string  (선택사항)

화자 이름입니다. 프롬프트에 지정된 화자 이름과 일치해야 합니다.

image_config ImageConfig  (선택사항)

이미지 상호작용 구성입니다.

이미지 상호작용 구성입니다.

필드

aspect_ratio enum (string)  (선택사항)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • 1:1
  • 2:3
  • 3:2
  • 3:4
  • 4:3
  • 4:5
  • 5:4
  • 9:16
  • 16:9
  • 21:9
  • 1:8
  • 8:1
  • 1:4
  • 4:1
image_size enum (string)  (선택사항)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • 1K
  • 2K
  • 4K
  • 512
tool_choice ToolChoiceConfig 또는 ToolChoiceType  (선택사항)

상호작용에 사용할 도구 선택입니다.

agent_config object  (선택사항)

에이전트 구성
에이전트 구성입니다.
`generation_config`의 대안입니다. `agent` 가 설정된 경우에만 적용됩니다.

가능한 유형

다형성 판별자: type

DynamicAgentConfig

동적 에이전트의 구성입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "dynamic"로 설정합니다.

DeepResearchAgentConfig

Deep Research 에이전트의 구성입니다.

thinking_summaries ThinkingSummaries  (선택사항)

대답에 사고 요약을 포함할지 여부입니다.

가능한 값은 다음과 같습니다.

  • auto
  • none

type object  (필수)

제공된 설명이 없습니다.

항상 "deep-research"로 설정합니다.

previous_interaction_id string  (선택사항)

이전 상호작용의 ID입니다(있는 경우).

response_modalities ResponseModality  (선택사항)

요청된 대답의 형식 (TEXT, IMAGE, AUDIO)입니다.

가능한 값은 다음과 같습니다.

  • text
  • image
  • audio

응답

Interaction 리소스를 반환합니다.

간단한 요청

응답 예시

{
  "created": "2025-11-26T12:25:15Z",
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-3-flash-preview",
  "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_thought_tokens": 22,
    "total_tokens": 49,
    "total_tool_use_tokens": 0
  }
}

멀티턴

응답 예시

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-3-flash-preview",
  "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_thought_tokens": 0,
    "total_tokens": 60,
    "total_tool_use_tokens": 0
  }
}

이미지 입력

응답 예시

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-3-flash-preview",
  "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_thought_tokens": 0,
    "total_tokens": 288,
    "total_tool_use_tokens": 0
  }
}

함수 호출

응답 예시

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-3-flash-preview",
  "status": "requires_action",
  "object": "interaction",
  "created": "2025-11-26T12:22:47Z",
  "updated": "2025-11-26T12:22:47Z",
  "role": "model",
  "outputs": [
    {
      "type": "function_call",
      "id": "gth23981",
      "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_thought_tokens": 0,
    "total_tokens": 125,
    "total_tool_use_tokens": 50
  }
}

Deep Research

응답 예시

{
  "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": "agent",
  "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_thought_tokens": 500,
    "total_tokens": 1520,
    "total_tool_use_tokens": 0
  }
}

상호작용 가져오기

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

`Interaction.id`를 기반으로 단일 상호작용의 전체 세부정보를 가져옵니다.

경로 / 쿼리 매개변수

id 문자열  (필수)

가져올 상호작용의 고유 식별자입니다.

stream boolean  (선택사항)

true로 설정하면 생성된 콘텐츠가 증분 방식으로 스트리밍됩니다.

기본값: False

last_event_id string  (선택사항)

선택사항입니다. 설정된 경우 이벤트 ID로 표시된 이벤트 후 다음 청크부터 상호작용 스트림을 재개합니다. `stream` 이 true인 경우에만 사용할 수 있습니다.

include_input boolean  (선택사항)

true로 설정하면 응답에 입력이 포함됩니다.

기본값: False

api_version string  (선택사항)

사용할 API 버전입니다.

응답

Interaction 리소스를 반환합니다.

상호작용 가져오기

응답 예시

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-3-flash-preview",
  "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?"
    }
  ]
}

상호작용 삭제

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

ID로 상호작용을 삭제합니다.

경로 / 쿼리 매개변수

id 문자열  (필수)

삭제할 상호작용의 고유 식별자입니다.

api_version string  (선택사항)

사용할 API 버전입니다.

응답

성공한 경우 응답은 비어 있습니다.

상호작용 삭제

상호작용 취소

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

ID로 상호작용을 취소합니다. 이는 아직 실행 중인 백그라운드 상호작용에만 적용됩니다.

경로 / 쿼리 매개변수

id 문자열  (필수)

취소할 상호작용의 고유 식별자입니다.

api_version string  (선택사항)

사용할 API 버전입니다.

응답

Interaction 리소스를 반환합니다.

상호작용 취소

응답 예시

{
  "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": "agent"
}

리소스

상호작용

상호작용 리소스입니다.

필드

model ModelOption  (선택사항)

상호작용을 생성하는 데 사용된 `Model` 의 이름입니다.

가능한 값은 다음과 같습니다.

  • gemini-2.5-flash

    100만 개의 토큰 컨텍스트 윈도우를 지원하고 사고 예산이 있는 Google의 첫 번째 하이브리드 추론 모델입니다.

  • gemini-2.5-flash-image

    속도, 유연성, 맥락 이해에 최적화된 Google의 네이티브 이미지 생성 모델입니다. 텍스트 입력 및 출력은 2.5 Flash와 동일한 가격으로 책정됩니다.

  • gemini-2.5-flash-lite

    대규모 사용을 위해 빌드된 가장 작고 비용 효율적인 모델입니다.

  • gemini-2.5-flash-lite-preview-09-2025

    비용 효율성, 높은 처리량, 고품질에 최적화된 Gemini 2.5 Flash Lite 기반의 최신 모델입니다.

  • gemini-2.5-flash-native-audio-preview-12-2025

    Google의 네이티브 오디오 모델은 더 나은 속도, 자연스러운 음성, 세부정보 수준, 분위기를 통해 고품질 오디오 출력을 제공하도록 최적화되어 있습니다.

  • gemini-2.5-flash-preview-09-2025

    2.5 Flash 모델을 기반으로 하는 최신 모델입니다. 2.5 Flash Preview는 대규모 처리, 짧은 지연 시간, 사고력이 필요한 대량 작업, 에이전트 사용 사례에 가장 적합합니다.

  • gemini-2.5-flash-preview-tts

    강력하고 짧은 지연 시간의 제어 가능한 음성 생성에 최적화된 2.5 Flash Text-to-Speech 모델입니다.

  • gemini-2.5-pro

    코딩 및 복잡한 추론 작업에 탁월한 최첨단 다목적 모델입니다.

  • gemini-2.5-pro-preview-tts

    더 자연스러운 출력과 프롬프트 조작의 용이성을 위해 강력하고 지연 시간이 짧은 음성 생성을 위해 최적화된 2.5 Pro Text-to-Speech 오디오 모델입니다.

  • gemini-3-flash-preview

    최첨단 인텔리전스와 뛰어난 검색 및 그라운딩을 결합하여 속도에 중점을 두고 설계된 가장 지능적인 모델입니다.

  • gemini-3-pro-image-preview

    최첨단 이미지 생성 및 편집 모델입니다.

  • gemini-3-pro-preview

    최첨단 추론 및 멀티모달 이해, 강력한 에이전트형 및 바이브 코딩 기능을 갖춘 가장 지능적인 모델입니다.

  • gemini-3.1-pro-preview

    전례 없는 깊이와 미묘한 뉘앙스, 강력한 멀티모달 이해 및 코딩 기능을 갖춘 최신 SOTA 추론 모델입니다.

  • gemini-3.1-flash-image-preview

    Flash 속도 효율성과 현실에 기반한 생성 기능을 갖춘 Pro 수준의 시각적 지능

프롬프트를 완성할 모델입니다.\n\n자세한 내용은 [모델](https://ai.google.dev/gemini-api/docs/models)을 참고하세요.

agent AgentOption  (선택사항)

상호작용을 생성하는 데 사용된 `Agent` 의 이름입니다.

가능한 값은 다음과 같습니다.

  • deep-research-pro-preview-12-2025

    Gemini Deep Research 에이전트

상호작용할 에이전트입니다.

id 문자열  (선택사항)

출력 전용입니다. 상호작용 완료의 고유 식별자입니다.

status enum (string)  (선택사항)

출력 전용입니다. 상호작용의 상태입니다.

가능한 값은 다음과 같습니다.

  • in_progress
  • requires_action
  • completed
  • failed
  • cancelled
  • incomplete
created string  (선택사항)

출력 전용입니다. ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)으로 대답이 생성된 시간입니다.

updated string  (선택사항)

출력 전용입니다. ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)으로 대답이 마지막으로 업데이트된 시간입니다.

role string  (선택사항)

출력 전용입니다. 상호작용의 역할입니다.

outputs array (Content)  (선택사항)

출력 전용입니다. 모델의 대답입니다.

system_instruction string  (선택사항)

상호작용을 위한 시스템 요청 사항입니다.

tools array (Tool)  (선택사항)

모델이 상호작용 중에 호출할 수 있는 도구 선언 목록입니다.

사용 사용  (선택사항)

출력 전용입니다. 상호작용 요청의 토큰 사용량에 관한 통계입니다.

상호작용 요청의 토큰 사용량에 관한 통계입니다.

필드

total_input_tokens integer  (선택사항)

프롬프트 (컨텍스트)의 토큰 수입니다.

input_tokens_by_modality ModalityTokens  (선택사항)

모달리티별 입력 토큰 사용량 분석입니다.

단일 응답 모달리티의 토큰 수입니다.

필드

modality ResponseModality  (선택사항)

토큰 수와 연결된 모달리티입니다.

가능한 값은 다음과 같습니다.

  • text
  • image
  • audio

토큰 정수  (선택사항)

모달리티의 토큰 수입니다.

total_cached_tokens integer  (선택사항)

프롬프트의 캐시된 부분 (캐시된 콘텐츠)에 있는 토큰 수입니다.

cached_tokens_by_modality ModalityTokens  (선택사항)

모달리티별 캐시된 토큰 사용량 분석입니다.

단일 응답 모달리티의 토큰 수입니다.

필드

modality ResponseModality  (선택사항)

토큰 수와 연결된 모달리티입니다.

가능한 값은 다음과 같습니다.

  • text
  • image
  • audio

토큰 정수  (선택사항)

모달리티의 토큰 수입니다.

total_output_tokens integer  (선택사항)

생성된 모든 대답의 총 토큰 수입니다.

output_tokens_by_modality ModalityTokens  (선택사항)

모달리티별 출력 토큰 사용량 분석입니다.

단일 응답 모달리티의 토큰 수입니다.

필드

modality ResponseModality  (선택사항)

토큰 수와 연결된 모달리티입니다.

가능한 값은 다음과 같습니다.

  • text
  • image
  • audio

토큰 정수  (선택사항)

모달리티의 토큰 수입니다.

total_tool_use_tokens integer  (optional)

도구 사용 프롬프트에 있는 토큰 수입니다.

tool_use_tokens_by_modality ModalityTokens  (선택사항)

모달리티별 도구 사용 토큰 사용량 분석

단일 응답 모달리티의 토큰 수입니다.

필드

modality ResponseModality  (선택사항)

토큰 수와 연결된 모달리티입니다.

가능한 값은 다음과 같습니다.

  • text
  • image
  • audio

토큰 정수  (선택사항)

모달리티의 토큰 수입니다.

total_thought_tokens integer  (선택사항)

사고 모델의 사고 토큰 수입니다.

total_tokens integer  (선택사항)

상호작용 요청의 총 토큰 수 (프롬프트 + 응답 + 기타 내부 토큰)입니다.

response_modalities ResponseModality  (선택사항)

요청된 대답의 형식 (TEXT, IMAGE, AUDIO)입니다.

가능한 값은 다음과 같습니다.

  • text
  • image
  • audio

response_format object  (선택사항)

생성된 대답이 이 필드에 지정된 JSON 스키마를 준수하는 JSON 객체임을 강제합니다.

response_mime_type string  (선택사항)

대답의 MIME 유형입니다. response_format이 설정된 경우 필수입니다.

previous_interaction_id string  (선택사항)

이전 상호작용의 ID입니다(있는 경우).

input 콘텐츠 또는 배열 (콘텐츠) 또는 배열 () 또는 문자열  (필수)

상호작용의 입력입니다 (모델과 에이전트 모두에 공통).

agent_config object  (선택사항)

상담사 상호작용의 구성 매개변수입니다.

가능한 유형

다형성 판별자: type

DynamicAgentConfig

동적 에이전트의 구성입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "dynamic"로 설정합니다.

DeepResearchAgentConfig

Deep Research 에이전트의 구성입니다.

thinking_summaries ThinkingSummaries  (선택사항)

대답에 사고 요약을 포함할지 여부입니다.

가능한 값은 다음과 같습니다.

  • auto
  • none

type object  (필수)

제공된 설명이 없습니다.

항상 "deep-research"로 설정합니다.

{
  "created": "2025-12-04T15:01:45Z",
  "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg",
  "model": "gemini-3-flash-preview",
  "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_thought_tokens": 49,
    "total_tokens": 79,
    "total_tool_use_tokens": 0
  }
}

데이터 모델

콘텐츠

대답의 콘텐츠입니다.

가능한 유형

다형성 판별자: type

TextContent

텍스트 콘텐츠 블록입니다.

text string  (필수)

텍스트 콘텐츠입니다.

annotations Annotation  (선택사항)

모델 생성 콘텐츠의 인용 정보입니다.

모델 생성 콘텐츠의 인용 정보입니다.

가능한 유형

다형성 판별자: type

UrlCitation

URL 인용 주석입니다.

url string  (선택사항)

URL입니다.

title string  (선택사항)

URL의 제목입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "url_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

FileCitation

파일 인용 주석입니다.

document_uri 문자열  (선택사항)

파일의 URI입니다.

file_name string  (선택사항)

파일 이름입니다.

source string  (선택사항)

텍스트의 일부에 기여도가 부여된 출처입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "file_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

PlaceCitation

장소 인용 주석입니다.

place_id string  (선택사항)

장소의 ID입니다. 형식은 `places/{place_id}` 입니다.

name string  (선택사항)

장소의 이름입니다.

url string  (선택사항)

장소의 URI 참조입니다.

review_snippets ReviewSnippet  (선택사항)

Google 지도에서 특정 장소의 기능에 관한 답변을 생성하는 데 사용되는 리뷰 스니펫입니다.

Google 지도의 특정 장소 기능에 관한 질문에 답변하는 사용자 리뷰의 스니펫을 캡슐화합니다.

필드

title string  (선택사항)

리뷰의 제목입니다.

url string  (선택사항)

Google 지도의 사용자 리뷰에 해당하는 링크입니다.

review_id string  (선택사항)

리뷰 스니펫의 ID입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "place_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "text"로 설정합니다.

ImageContent

이미지 콘텐츠 블록입니다.

data string  (선택사항)

이미지 콘텐츠입니다.

uri string  (선택사항)

이미지의 URI입니다.

mime_type enum (string)  (선택사항)

이미지의 MIME 유형입니다.

가능한 값은 다음과 같습니다.

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif
resolution MediaResolution  (선택사항)

미디어의 해상도입니다.

가능한 값은 다음과 같습니다.

  • low
  • medium
  • high
  • ultra_high

type object  (필수)

제공된 설명이 없습니다.

항상 "image"로 설정합니다.

AudioContent

오디오 콘텐츠 블록입니다.

data string  (선택사항)

오디오 콘텐츠입니다.

uri string  (선택사항)

오디오의 URI입니다.

mime_type enum (string)  (선택사항)

오디오의 MIME 유형입니다.

가능한 값은 다음과 같습니다.

  • audio/wav
  • audio/mp3
  • audio/aiff
  • audio/aac
  • audio/ogg
  • audio/flac
type object  (필수)

제공된 설명이 없습니다.

항상 "audio"로 설정합니다.

DocumentContent

문서 콘텐츠 블록입니다.

data string  (선택사항)

문서 콘텐츠입니다.

uri string  (선택사항)

문서 URI입니다.

mime_type enum (string)  (선택사항)

문서의 MIME 유형입니다.

가능한 값은 다음과 같습니다.

  • application/pdf
type object  (필수)

제공된 설명이 없습니다.

항상 "document"로 설정합니다.

VideoContent

동영상 콘텐츠 블록입니다.

data string  (선택사항)

동영상 콘텐츠입니다.

uri string  (선택사항)

동영상의 URI입니다.

mime_type enum (string)  (선택사항)

동영상의 MIME 유형입니다.

가능한 값은 다음과 같습니다.

  • video/mp4
  • video/mpeg
  • video/mpg
  • video/mov
  • video/avi
  • video/x-flv
  • video/webm
  • video/wmv
  • video/3gpp
resolution MediaResolution  (선택사항)

미디어의 해상도입니다.

가능한 값은 다음과 같습니다.

  • low
  • medium
  • high
  • ultra_high

type object  (필수)

제공된 설명이 없습니다.

항상 "video"로 설정합니다.

ThoughtContent

생각 콘텐츠 블록입니다.

서명 문자열  (선택사항)

생성에 포함될 백엔드 소스와 일치하는 서명입니다.

summary ThoughtSummaryContent  (선택사항)

생각의 요약입니다.

가능한 유형

다형성 판별자: type

TextContent

텍스트 콘텐츠 블록입니다.

text string  (필수)

텍스트 콘텐츠입니다.

annotations Annotation  (선택사항)

모델 생성 콘텐츠의 인용 정보입니다.

모델 생성 콘텐츠의 인용 정보입니다.

가능한 유형

다형성 판별자: type

UrlCitation

URL 인용 주석입니다.

url string  (선택사항)

URL입니다.

title string  (선택사항)

URL의 제목입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "url_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

FileCitation

파일 인용 주석입니다.

document_uri 문자열  (선택사항)

파일의 URI입니다.

file_name string  (선택사항)

파일 이름입니다.

source string  (선택사항)

텍스트의 일부에 기여도가 부여된 출처입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "file_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

PlaceCitation

장소 인용 주석입니다.

place_id string  (선택사항)

장소의 ID입니다. 형식은 `places/{place_id}` 입니다.

name string  (선택사항)

장소의 이름입니다.

url string  (선택사항)

장소의 URI 참조입니다.

review_snippets ReviewSnippet  (선택사항)

Google 지도에서 특정 장소의 기능에 관한 답변을 생성하는 데 사용되는 리뷰 스니펫입니다.

Google 지도의 특정 장소 기능에 관한 질문에 답변하는 사용자 리뷰의 스니펫을 캡슐화합니다.

필드

title string  (선택사항)

리뷰의 제목입니다.

url string  (선택사항)

Google 지도의 사용자 리뷰에 해당하는 링크입니다.

review_id string  (선택사항)

리뷰 스니펫의 ID입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "place_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "text"로 설정합니다.

ImageContent

이미지 콘텐츠 블록입니다.

data string  (선택사항)

이미지 콘텐츠입니다.

uri string  (선택사항)

이미지의 URI입니다.

mime_type enum (string)  (선택사항)

이미지의 MIME 유형입니다.

가능한 값은 다음과 같습니다.

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif
resolution MediaResolution  (선택사항)

미디어의 해상도입니다.

가능한 값은 다음과 같습니다.

  • low
  • medium
  • high
  • ultra_high

type object  (필수)

제공된 설명이 없습니다.

항상 "image"로 설정합니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "thought"로 설정합니다.

FunctionCallContent

함수 도구 호출 콘텐츠 블록입니다.

name string  (필수)

호출할 도구의 이름입니다.

arguments object  (필수)

함수에 전달할 인수입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "function_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

FunctionResultContent

함수 도구 결과 콘텐츠 블록입니다.

name string  (선택사항)

호출된 도구의 이름입니다.

is_error boolean  (선택사항)

도구 호출로 인해 오류가 발생했는지 여부입니다.

result 배열 (FunctionResultSubcontent) 또는 문자열  (필수)

도구 호출의 결과입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "function_result"로 설정합니다.

call_id string  (필수)

함수 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

CodeExecutionCallContent

코드 실행 콘텐츠입니다.

arguments CodeExecutionCallArguments  (필수)

코드 실행에 전달할 인수입니다.

코드 실행에 전달할 인수입니다.

필드

language enum (string)  (선택사항)

`code`의 프로그래밍 언어입니다.

가능한 값은 다음과 같습니다.

  • python
code string  (선택사항)

실행할 코드입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "code_execution_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

CodeExecutionResultContent

코드 실행 결과 콘텐츠입니다.

result string  (필수)

코드 실행의 출력입니다.

is_error boolean  (선택사항)

코드 실행으로 인해 오류가 발생했는지 여부입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "code_execution_result"로 설정합니다.

call_id string  (필수)

코드 실행 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

UrlContextCallContent

URL 컨텍스트 콘텐츠입니다.

arguments UrlContextCallArguments  (필수)

URL 컨텍스트에 전달할 인수입니다.

URL 컨텍스트에 전달할 인수입니다.

필드

urls array (string)  (선택사항)

가져올 URL입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "url_context_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

UrlContextResultContent

URL 컨텍스트 결과 콘텐츠입니다.

result UrlContextResult  (필수)

URL 컨텍스트의 결과입니다.

URL 컨텍스트의 결과입니다.

필드

url string  (선택사항)

가져온 URL입니다.

status enum (string)  (선택사항)

URL 가져오기의 상태입니다.

가능한 값은 다음과 같습니다.

  • success
  • error
  • paywall
  • unsafe
is_error boolean  (선택사항)

URL 컨텍스트로 인해 오류가 발생했는지 여부입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "url_context_result"로 설정합니다.

call_id string  (필수)

URL 컨텍스트 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

GoogleSearchCallContent

Google 검색 콘텐츠

arguments GoogleSearchCallArguments  (필수)

Google 검색에 전달할 인수입니다.

Google 검색에 전달할 인수입니다.

필드

queries array (string)  (선택사항)

후속 웹 검색을 위한 웹 검색어입니다.

search_type enum (string)  (선택사항)

사용 설정된 검색 그라운딩의 유형입니다.

가능한 값은 다음과 같습니다.

  • web_search
  • image_search
type object  (필수)

제공된 설명이 없습니다.

항상 "google_search_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

GoogleSearchResultContent

Google 검색 결과 콘텐츠입니다.

result GoogleSearchResult  (필수)

Google 검색 결과입니다.

Google 검색 결과입니다.

필드

search_suggestions string  (선택사항)

웹페이지나 앱 웹뷰에 삽입할 수 있는 웹 콘텐츠 스니펫입니다.

is_error boolean  (선택사항)

Google 검색에서 오류가 발생했는지 여부입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "google_search_result"로 설정합니다.

call_id string  (필수)

Google 검색 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

McpServerToolCallContent

MCPServer 도구 호출 콘텐츠입니다.

name string  (필수)

호출된 도구의 이름입니다.

server_name string  (필수)

사용된 MCP 서버의 이름입니다.

arguments object  (필수)

함수의 인수 JSON 객체입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "mcp_server_tool_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

McpServerToolResultContent

MCPServer 도구 결과 콘텐츠입니다.

name string  (선택사항)

이 특정 도구 호출에 대해 호출되는 도구의 이름입니다.

server_name string  (선택사항)

사용된 MCP 서버의 이름입니다.

result 배열 (FunctionResultSubcontent) 또는 문자열  (필수)

MCP 서버 호출의 출력입니다. 단순 텍스트 또는 리치 콘텐츠일 수 있습니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "mcp_server_tool_result"로 설정합니다.

call_id string  (필수)

MCP 서버 도구 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

FileSearchCallContent

파일 검색 콘텐츠입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "file_search_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

FileSearchResultContent

파일 검색 결과 콘텐츠입니다.

result FileSearchResult  (선택사항)

파일 검색 결과입니다.

파일 검색 결과입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "file_search_result"로 설정합니다.

call_id string  (필수)

파일 검색 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

GoogleMapsCallContent

Google 지도 콘텐츠

arguments GoogleMapsCallArguments  (선택사항)

Google 지도 도구에 전달할 인수입니다.

Google 지도 도구에 전달할 인수입니다.

필드

queries array (string)  (선택사항)

실행할 쿼리입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "google_maps_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

GoogleMapsResultContent

Google 지도 결과 콘텐츠입니다.

result GoogleMapsResult  (필수)

Google 지도의 결과입니다.

Google 지도의 결과입니다.

필드

places Places  (선택사항)

발견된 장소입니다.

필드

place_id string  (선택사항)

장소의 ID입니다. 형식은 `places/{place_id}` 입니다.

name string  (선택사항)

장소의 이름입니다.

url string  (선택사항)

장소의 URI 참조입니다.

review_snippets ReviewSnippet  (선택사항)

Google 지도에서 특정 장소의 기능에 관한 답변을 생성하는 데 사용되는 리뷰 스니펫입니다.

Google 지도의 특정 장소 기능에 관한 질문에 답변하는 사용자 리뷰의 스니펫을 캡슐화합니다.

필드

title string  (선택사항)

리뷰의 제목입니다.

url string  (선택사항)

Google 지도의 사용자 리뷰에 해당하는 링크입니다.

review_id string  (선택사항)

리뷰 스니펫의 ID입니다.

widget_context_token string  (선택사항)

Google 지도 위젯 컨텍스트 토큰의 리소스 이름입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "google_maps_result"로 설정합니다.

call_id string  (필수)

Google 지도 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

텍스트

{
  "type": "text",
  "text": "Hello, how are you?"
}

이미지

{
  "type": "image",
  "data": "BASE64_ENCODED_IMAGE",
  "mime_type": "image/png"
}

오디오

{
  "type": "audio",
  "data": "BASE64_ENCODED_AUDIO",
  "mime_type": "audio/wav"
}

문서

{
  "type": "document",
  "data": "BASE64_ENCODED_DOCUMENT",
  "mime_type": "application/pdf"
}

동영상

{
  "type": "video",
  "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg"
}

사고

{
  "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"
}

함수 호출

{
  "type": "function_call",
  "name": "get_weather",
  "id": "gth23981",
  "arguments": {
    "location": "Boston, MA"
  }
}

함수 결과

{
  "type": "function_result",
  "name": "get_weather",
  "call_id": "gth23981",
  "result": [
    {
      "type": "text",
      "text": "{\"weather\":\"sunny\"}"
    }
  ]
}

코드 실행 호출

{
  "type": "code_execution_call",
  "id": "call_123456",
  "arguments": {
    "language": "python",
    "code": "print('hello world')"
  }
}

코드 실행 결과

{
  "type": "code_execution_result",
  "call_id": "call_123456",
  "result": "hello world"
}

URL 컨텍스트 호출

{
  "type": "url_context_call",
  "id": "call_123456",
  "arguments": {
    "urls": [
      "https://www.example.com"
    ]
  }
}

URL 컨텍스트 결과

{
  "type": "url_context_result",
  "call_id": "call_123456",
  "result": [
    {
      "url": "https://www.example.com",
      "status": "SUCCESS"
    }
  ]
}

Google 검색 통화

{
  "type": "google_search_call",
  "id": "call_123456",
  "arguments": {
    "queries": [
      "weather in Boston"
    ]
  }
}

Google 검색 결과

{
  "type": "google_search_result",
  "call_id": "call_123456",
  "result": [
    {
      "url": "https://www.google.com/search?q=weather+in+Boston",
      "title": "Weather in Boston"
    }
  ]
}

Mcp 서버 도구 호출

{
  "type": "mcp_server_tool_call",
  "id": "call_123456",
  "name": "get_forecast",
  "server_name": "weather_server",
  "arguments": {
    "city": "London"
  }
}

Mcp 서버 도구 결과

{
  "type": "mcp_server_tool_result",
  "name": "get_forecast",
  "server_name": "weather_server",
  "call_id": "call_123456",
  "result": "sunny"
}

파일 검색 호출

{
  "type": "file_search_call",
  "id": "call_123456"
}

파일 검색 결과

{
  "type": "file_search_result",
  "call_id": "call_123456",
  "result": [
    {
      "text": "search result chunk",
      "file_search_store": "file_search_store"
    }
  ]
}

Google 지도 통화

{
  "type": "google_maps_call",
  "id": "call_123456",
  "arguments": {
    "query": "best food near me"
  }
}

Google 지도 검색 결과

{
  "type": "google_maps_result",
  "call_id": "call_123456",
  "result": [
    {
      "places": [
        {
          "url": "https://www.google.com/maps/search/best+food+near+me",
          "name": "Tasty Restaurant"
        }
      ]
    }
  ]
}

도구

가능한 유형

다형성 판별자: type

기능

모델에서 사용할 수 있는 도구입니다.

name string  (선택사항)

함수 이름입니다.

설명 문자열  (선택사항)

함수에 대한 설명입니다.

parameters object  (선택사항)

함수 파라미터의 JSON 스키마입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "function"로 설정합니다.

GoogleSearch

모델이 Google을 검색하는 데 사용할 수 있는 도구입니다.

search_types array (enum (string))  (선택사항)

사용 설정할 검색 그라운딩 유형입니다.

가능한 값은 다음과 같습니다.

  • web_search
  • image_search
type string  (필수)

제공된 설명이 없습니다.

항상 "google_search"로 설정합니다.

CodeExecution

모델이 코드를 실행하는 데 사용할 수 있는 도구입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "code_execution"로 설정합니다.

UrlContext

모델이 URL 컨텍스트를 가져오는 데 사용할 수 있는 도구입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "url_context"로 설정합니다.

ComputerUse

모델이 컴퓨터와 상호작용하는 데 사용할 수 있는 도구입니다.

environment enum (string)  (선택사항)

운영되는 환경입니다.

가능한 값은 다음과 같습니다.

  • browser
excludedPredefinedFunctions array (string)  (선택사항)

모델 호출에서 제외되는 사전 정의된 함수의 목록입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "computer_use"로 설정합니다.

McpServer

MCPServer는 모델이 작업을 실행하기 위해 호출할 수 있는 서버입니다.

name string  (선택사항)

MCPServer의 이름입니다.

url string  (선택사항)

MCPServer 엔드포인트의 전체 URL입니다. 예: 'https://api.example.com/mcp'

headers object  (선택사항)

선택사항: 필요한 경우 인증 헤더, 제한 시간 등의 필드

allowed_tools AllowedTools  (선택사항)

허용된 도구입니다.

허용된 도구의 구성입니다.

필드

mode ToolChoiceType  (선택사항)

도구 선택 모드입니다.

가능한 값은 다음과 같습니다.

  • auto
  • any
  • none
  • validated

tools array (string)  (선택사항)

허용된 도구의 이름입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "mcp_server"로 설정합니다.

FileSearch

모델이 파일을 검색하는 데 사용할 수 있는 도구입니다.

file_search_store_names array (string)  (선택사항)

검색할 파일 검색 저장소 이름입니다.

top_k integer  (선택사항)

가져올 시맨틱 검색 청크의 수입니다.

metadata_filter string  (선택사항)

시맨틱 검색 문서 및 청크에 적용할 메타데이터 필터입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "file_search"로 설정합니다.

GoogleMaps

모델이 Google 지도를 호출하는 데 사용할 수 있는 도구입니다.

enable_widget boolean  (선택사항)

응답의 도구 호출 결과에 위젯 컨텍스트 토큰을 반환할지 여부입니다.

latitude number  (선택사항)

사용자 위치의 위도입니다.

longitude number  (선택사항)

사용자 위치의 경도입니다.

type string  (선택사항)

제공된 설명이 없습니다.

항상 "google_maps"로 설정합니다.

함수

GoogleSearch

CodeExecution

UrlContext

ComputerUse

McpServer

FileSearch

GoogleMaps

Turn

필드

role string  (선택사항)

이 턴의 발신자입니다. 입력의 경우 사용자, 모델 출력의 경우 모델이어야 합니다.

content 배열 (콘텐츠) 또는 문자열  (선택사항)

턴의 콘텐츠입니다.

사용자 턴

{
  "role": "user",
  "content": [
    {
      "type": "text",
      "text": "user turn"
    }
  ]
}

모델 회전

{
  "role": "model",
  "content": [
    {
      "type": "text",
      "text": "model turn"
    }
  ]
}

InteractionSseEvent

가능한 유형

다형성 판별자: event_type

InteractionStartEvent

interaction Interaction  (필수)

제공된 설명이 없습니다.

event_type enum (string)  (필수)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • interaction.start
event_id string  (선택사항)

이 이벤트에서 상호작용 스트림을 재개하는 데 사용되는 event_id 토큰입니다.

InteractionCompleteEvent

interaction Interaction  (필수)

페이로드 크기를 줄이기 위해 출력이 비어 있는 완료된 상호작용입니다. 실제 출력에는 위의 ContentDelta 이벤트를 사용합니다.

event_type enum (string)  (필수)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • interaction.complete
event_id string  (선택사항)

이 이벤트에서 상호작용 스트림을 재개하는 데 사용되는 event_id 토큰입니다.

InteractionStatusUpdate

interaction_id string  (필수)

제공된 설명이 없습니다.

status enum (string)  (필수)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • in_progress
  • requires_action
  • completed
  • failed
  • cancelled
  • incomplete
event_type string  (필수)

제공된 설명이 없습니다.

항상 "interaction.status_update"로 설정합니다.

event_id string  (선택사항)

이 이벤트에서 상호작용 스트림을 재개하는 데 사용되는 event_id 토큰입니다.

ContentStart

index 정수  (필수)

제공된 설명이 없습니다.

콘텐츠 콘텐츠  (필수)

제공된 설명이 없습니다.

event_type string  (필수)

제공된 설명이 없습니다.

항상 "content.start"로 설정합니다.

event_id string  (선택사항)

이 이벤트에서 상호작용 스트림을 재개하는 데 사용되는 event_id 토큰입니다.

ContentDelta

index 정수  (필수)

제공된 설명이 없습니다.

delta object  (필수)

제공된 설명이 없습니다.

가능한 유형

다형성 판별자: type

TextDelta

text string  (필수)

제공된 설명이 없습니다.

annotations Annotation  (선택사항)

모델 생성 콘텐츠의 인용 정보입니다.

모델 생성 콘텐츠의 인용 정보입니다.

가능한 유형

다형성 판별자: type

UrlCitation

URL 인용 주석입니다.

url string  (선택사항)

URL입니다.

title string  (선택사항)

URL의 제목입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "url_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

FileCitation

파일 인용 주석입니다.

document_uri 문자열  (선택사항)

파일의 URI입니다.

file_name string  (선택사항)

파일 이름입니다.

source string  (선택사항)

텍스트의 일부에 기여도가 부여된 출처입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "file_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

PlaceCitation

장소 인용 주석입니다.

place_id string  (선택사항)

장소의 ID입니다. 형식은 `places/{place_id}` 입니다.

name string  (선택사항)

장소의 이름입니다.

url string  (선택사항)

장소의 URI 참조입니다.

review_snippets ReviewSnippet  (선택사항)

Google 지도에서 특정 장소의 기능에 관한 답변을 생성하는 데 사용되는 리뷰 스니펫입니다.

Google 지도의 특정 장소 기능에 관한 질문에 답변하는 사용자 리뷰의 스니펫을 캡슐화합니다.

필드

title string  (선택사항)

리뷰의 제목입니다.

url string  (선택사항)

Google 지도의 사용자 리뷰에 해당하는 링크입니다.

review_id string  (선택사항)

리뷰 스니펫의 ID입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "place_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "text"로 설정합니다.

ImageDelta

data string  (선택사항)

제공된 설명이 없습니다.

uri string  (선택사항)

제공된 설명이 없습니다.

mime_type enum (string)  (선택사항)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif
resolution MediaResolution  (선택사항)

미디어의 해상도입니다.

가능한 값은 다음과 같습니다.

  • low
  • medium
  • high
  • ultra_high

type object  (필수)

제공된 설명이 없습니다.

항상 "image"로 설정합니다.

AudioDelta

data string  (선택사항)

제공된 설명이 없습니다.

uri string  (선택사항)

제공된 설명이 없습니다.

mime_type enum (string)  (선택사항)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • audio/wav
  • audio/mp3
  • audio/aiff
  • audio/aac
  • audio/ogg
  • audio/flac
type object  (필수)

제공된 설명이 없습니다.

항상 "audio"로 설정합니다.

DocumentDelta

data string  (선택사항)

제공된 설명이 없습니다.

uri string  (선택사항)

제공된 설명이 없습니다.

mime_type enum (string)  (선택사항)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • application/pdf
type object  (필수)

제공된 설명이 없습니다.

항상 "document"로 설정합니다.

VideoDelta

data string  (선택사항)

제공된 설명이 없습니다.

uri string  (선택사항)

제공된 설명이 없습니다.

mime_type enum (string)  (선택사항)

제공된 설명이 없습니다.

가능한 값은 다음과 같습니다.

  • video/mp4
  • video/mpeg
  • video/mpg
  • video/mov
  • video/avi
  • video/x-flv
  • video/webm
  • video/wmv
  • video/3gpp
resolution MediaResolution  (선택사항)

미디어의 해상도입니다.

가능한 값은 다음과 같습니다.

  • low
  • medium
  • high
  • ultra_high

type object  (필수)

제공된 설명이 없습니다.

항상 "video"로 설정합니다.

ThoughtSummaryDelta

content ThoughtSummaryContent  (선택사항)

생각에 추가할 새로운 요약 항목입니다.

가능한 유형

다형성 판별자: type

TextContent

텍스트 콘텐츠 블록입니다.

text string  (필수)

텍스트 콘텐츠입니다.

annotations Annotation  (선택사항)

모델 생성 콘텐츠의 인용 정보입니다.

모델 생성 콘텐츠의 인용 정보입니다.

가능한 유형

다형성 판별자: type

UrlCitation

URL 인용 주석입니다.

url string  (선택사항)

URL입니다.

title string  (선택사항)

URL의 제목입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "url_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

FileCitation

파일 인용 주석입니다.

document_uri 문자열  (선택사항)

파일의 URI입니다.

file_name string  (선택사항)

파일 이름입니다.

source string  (선택사항)

텍스트의 일부에 기여도가 부여된 출처입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "file_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

PlaceCitation

장소 인용 주석입니다.

place_id string  (선택사항)

장소의 ID입니다. 형식은 `places/{place_id}` 입니다.

name string  (선택사항)

장소의 이름입니다.

url string  (선택사항)

장소의 URI 참조입니다.

review_snippets ReviewSnippet  (선택사항)

Google 지도에서 특정 장소의 기능에 관한 답변을 생성하는 데 사용되는 리뷰 스니펫입니다.

Google 지도의 특정 장소 기능에 관한 질문에 답변하는 사용자 리뷰의 스니펫을 캡슐화합니다.

필드

title string  (선택사항)

리뷰의 제목입니다.

url string  (선택사항)

Google 지도의 사용자 리뷰에 해당하는 링크입니다.

review_id string  (선택사항)

리뷰 스니펫의 ID입니다.

type string  (필수)

제공된 설명이 없습니다.

항상 "place_citation"로 설정합니다.

start_index integer  (선택사항)

이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다.

end_index integer  (선택사항)

기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "text"로 설정합니다.

ImageContent

이미지 콘텐츠 블록입니다.

data string  (선택사항)

이미지 콘텐츠입니다.

uri string  (선택사항)

이미지의 URI입니다.

mime_type enum (string)  (선택사항)

이미지의 MIME 유형입니다.

가능한 값은 다음과 같습니다.

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif
resolution MediaResolution  (선택사항)

미디어의 해상도입니다.

가능한 값은 다음과 같습니다.

  • low
  • medium
  • high
  • ultra_high

type object  (필수)

제공된 설명이 없습니다.

항상 "image"로 설정합니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "thought_summary"로 설정합니다.

ThoughtSignatureDelta

서명 문자열  (선택사항)

생성에 포함될 백엔드 소스와 일치하는 서명입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "thought_signature"로 설정합니다.

FunctionCallDelta

name string  (필수)

제공된 설명이 없습니다.

arguments object  (필수)

제공된 설명이 없습니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "function_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

FunctionResultDelta

name string  (선택사항)

제공된 설명이 없습니다.

is_error boolean  (선택사항)

제공된 설명이 없습니다.

result object or string  (required)

도구 호출 결과 델타입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "function_result"로 설정합니다.

call_id string  (필수)

함수 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

CodeExecutionCallDelta

arguments CodeExecutionCallArguments  (필수)

제공된 설명이 없습니다.

코드 실행에 전달할 인수입니다.

필드

language enum (string)  (선택사항)

`code`의 프로그래밍 언어입니다.

가능한 값은 다음과 같습니다.

  • python
code string  (선택사항)

실행할 코드입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "code_execution_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

CodeExecutionResultDelta

result string  (필수)

제공된 설명이 없습니다.

is_error boolean  (선택사항)

제공된 설명이 없습니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "code_execution_result"로 설정합니다.

call_id string  (필수)

함수 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

UrlContextCallDelta

arguments UrlContextCallArguments  (필수)

제공된 설명이 없습니다.

URL 컨텍스트에 전달할 인수입니다.

필드

urls array (string)  (선택사항)

가져올 URL입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "url_context_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

UrlContextResultDelta

result UrlContextResult  (필수)

제공된 설명이 없습니다.

URL 컨텍스트의 결과입니다.

필드

url string  (선택사항)

가져온 URL입니다.

status enum (string)  (선택사항)

URL 가져오기의 상태입니다.

가능한 값은 다음과 같습니다.

  • success
  • error
  • paywall
  • unsafe
is_error boolean  (선택사항)

제공된 설명이 없습니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "url_context_result"로 설정합니다.

call_id string  (필수)

함수 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

GoogleSearchCallDelta

arguments GoogleSearchCallArguments  (필수)

제공된 설명이 없습니다.

Google 검색에 전달할 인수입니다.

필드

queries array (string)  (선택사항)

후속 웹 검색을 위한 웹 검색어입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "google_search_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

GoogleSearchResultDelta

result GoogleSearchResult  (필수)

제공된 설명이 없습니다.

Google 검색 결과입니다.

필드

search_suggestions string  (선택사항)

웹페이지나 앱 웹뷰에 삽입할 수 있는 웹 콘텐츠 스니펫입니다.

is_error boolean  (선택사항)

제공된 설명이 없습니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "google_search_result"로 설정합니다.

call_id string  (필수)

함수 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

McpServerToolCallDelta

name string  (필수)

제공된 설명이 없습니다.

server_name string  (필수)

제공된 설명이 없습니다.

arguments object  (필수)

제공된 설명이 없습니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "mcp_server_tool_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

McpServerToolResultDelta

name string  (선택사항)

제공된 설명이 없습니다.

server_name string  (선택사항)

제공된 설명이 없습니다.

result object or string  (required)

도구 호출 결과 델타입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "mcp_server_tool_result"로 설정합니다.

call_id string  (필수)

함수 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

FileSearchCallDelta

type object  (필수)

제공된 설명이 없습니다.

항상 "file_search_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

FileSearchResultDelta

result FileSearchResult  (선택사항)

제공된 설명이 없습니다.

파일 검색 결과입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "file_search_result"로 설정합니다.

call_id string  (필수)

함수 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

GoogleMapsCallDelta

arguments GoogleMapsCallArguments  (선택사항)

Google 지도 도구에 전달할 인수입니다.

Google 지도 도구에 전달할 인수입니다.

필드

queries array (string)  (선택사항)

실행할 쿼리입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "google_maps_call"로 설정합니다.

id 문자열  (필수)

이 특정 도구 호출의 고유 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

GoogleMapsResultDelta

result GoogleMapsResult  (필수)

Google 지도의 결과입니다.

Google 지도의 결과입니다.

필드

places Places  (선택사항)

발견된 장소입니다.

필드

place_id string  (선택사항)

장소의 ID입니다. 형식은 `places/{place_id}` 입니다.

name string  (선택사항)

장소의 이름입니다.

url string  (선택사항)

장소의 URI 참조입니다.

review_snippets ReviewSnippet  (선택사항)

Google 지도에서 특정 장소의 기능에 관한 답변을 생성하는 데 사용되는 리뷰 스니펫입니다.

Google 지도의 특정 장소 기능에 관한 질문에 답변하는 사용자 리뷰의 스니펫을 캡슐화합니다.

필드

title string  (선택사항)

리뷰의 제목입니다.

url string  (선택사항)

Google 지도의 사용자 리뷰에 해당하는 링크입니다.

review_id string  (선택사항)

리뷰 스니펫의 ID입니다.

widget_context_token string  (선택사항)

Google 지도 위젯 컨텍스트 토큰의 리소스 이름입니다.

type object  (필수)

제공된 설명이 없습니다.

항상 "google_maps_result"로 설정합니다.

call_id string  (필수)

함수 호출 블록의 ID와 일치하는 ID입니다.

서명 문자열  (선택사항)

백엔드 검증을 위한 서명 해시입니다.

event_type string  (필수)

제공된 설명이 없습니다.

항상 "content.delta"로 설정합니다.

event_id string  (선택사항)

이 이벤트에서 상호작용 스트림을 재개하는 데 사용되는 event_id 토큰입니다.

ContentStop

index 정수  (필수)

제공된 설명이 없습니다.

event_type string  (필수)

제공된 설명이 없습니다.

항상 "content.stop"로 설정합니다.

event_id string  (선택사항)

이 이벤트에서 상호작용 스트림을 재개하는 데 사용되는 event_id 토큰입니다.

ErrorEvent

error Error  (선택사항)

제공된 설명이 없습니다.

상호작용에서 발생한 오류 메시지입니다.

필드

code string  (선택사항)

오류 유형을 식별하는 URI입니다.

message string  (선택사항)

사람이 읽을 수 있는 오류 메시지입니다.

event_type string  (필수)

제공된 설명이 없습니다.

항상 "error"로 설정합니다.

event_id string  (선택사항)

이 이벤트에서 상호작용 스트림을 재개하는 데 사용되는 event_id 토큰입니다.

상호작용 시작

{
  "event_type": "interaction.start",
  "interaction": {
    "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM",
    "model": "gemini-3-flash-preview",
    "object": "interaction",
    "status": "in_progress"
  }
}

상호작용 완료

{
  "event_type": "interaction.complete",
  "interaction": {
    "created": "2025-12-09T18:45:40Z",
    "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM",
    "model": "gemini-3-flash-preview",
    "object": "interaction",
    "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_thought_tokens": 1120,
      "total_tokens": 1495,
      "total_tool_use_tokens": 0
    }
  }
}

상호작용 상태 업데이트

{
  "event_type": "interaction.status_update",
  "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM",
  "status": "in_progress"
}

콘텐츠 시작

{
  "event_type": "content.start",
  "content": {
    "type": "text"
  },
  "index": 1
}

콘텐츠 델타

{
  "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
}

콘텐츠 중지

{
  "event_type": "content.stop",
  "index": 1
}

오류 이벤트

{
  "event_type": "error",
  "error": {
    "message": "Failed to get completed interaction: Result not found.",
    "code": "not_found"
  }
}