Gemini Interactions API는 개발자가 Gemini 모델을 사용하여 생성형 AI 애플리케이션을 빌드할 수 있는 실험용 API입니다. Gemini는 멀티모달을 위해 처음부터 구축된 Google의 가장 뛰어난 모델입니다. 언어, 이미지, 오디오, 동영상, 코드 등 다양한 유형의 정보를 일반화하고 원활하게 이해, 활용, 결합할 수 있습니다. Gemini API는 텍스트와 이미지 간 추론, 콘텐츠 생성, 대화형 에이전트, 요약 및 분류 시스템 등의 사용 사례에 사용할 수 있습니다.
상호작용 만들기
새 상호작용을 만듭니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
model ModelOption (선택사항)
상호작용을 생성하는 데 사용된 `Model` 의 이름입니다.
`agent` 가 제공되지 않은 경우 필수입니다.
가능한 값은 다음과 같습니다.
-
gemini-2.5-pro코딩 및 복잡한 추론 작업에 탁월한 최첨단 다목적 모델입니다.
-
gemini-2.5-flash100만 개의 토큰 컨텍스트 윈도우를 지원하고 사고 예산이 있는 첫 번째 하이브리드 추론 모델입니다.
-
gemini-2.5-flash-preview-09-20252.5 Flash 모델을 기반으로 하는 최신 모델입니다. 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-preview-native-audio-dialogGoogle의 네이티브 오디오 모델은 더 나은 속도, 자연스러운 음성, 세부정보 수준, 분위기를 통해 고품질 오디오 출력을 제공하도록 최적화되어 있습니다.
-
gemini-2.5-flash-image-preview속도, 유연성, 맥락 이해에 최적화된 Google의 네이티브 이미지 생성 모델입니다. 텍스트 입력 및 출력은 2.5 Flash와 동일한 가격으로 책정됩니다.
-
gemini-2.5-pro-preview-tts더 자연스러운 출력과 프롬프트의 쉬운 조정을 위해 강력하고 짧은 지연 시간의 음성 생성을 위해 최적화된 2.5 Pro Text-to-Speech 오디오 모델입니다.
-
gemini-3-pro-preview최첨단 추론 및 멀티모달 이해를 갖춘 가장 지능적인 모델로, 강력한 에이전트형 및 바이브 코딩 기능을 제공합니다.
agent AgentOption (선택사항)
상호작용을 생성하는 데 사용된 `Agent` 의 이름입니다.
`model` 이 제공되지 않은 경우 필수입니다.
가능한 값은 다음과 같습니다.
-
deep-research-pro-preview-12-2025Gemini Deep Research 에이전트
상호작용을 위한 시스템 요청 사항입니다.
모델이 상호작용 중에 호출할 수 있는 도구 선언 목록입니다.
생성된 대답이 이 필드에 지정된 JSON 스키마를 준수하는 JSON 객체여야 합니다.
대답의 MIME 유형입니다. response_format이 설정된 경우 필수입니다.
입력 전용입니다. 상호작용이 스트리밍되는지 여부입니다.
입력 전용입니다. 나중에 검색할 수 있도록 응답과 요청을 저장할지 여부입니다.
백그라운드에서 모델 상호작용을 실행할지 여부입니다.
generation_config GenerationConfig (선택사항)
모델 구성
모델 상호작용을 위한 구성 매개변수입니다.
`agent_config`의 대안입니다. `model` 이 설정된 경우에만 적용됩니다.
필드
출력의 무작위성을 제어합니다.
샘플링 시 고려할 토큰의 최대 누적 확률입니다.
재현성을 위해 디코딩에 사용되는 시드입니다.
출력 상호작용을 중지하는 문자 시퀀스 목록입니다.
tool_choice ToolChoice (선택사항)
상호작용에 사용할 도구입니다.
가능한 유형
ToolChoiceType
이 유형에는 특정 필드가 없습니다.
ToolChoiceConfig
allowed_tools AllowedTools (선택사항)
제공된 설명이 없습니다.
필드
mode ToolChoiceType (선택사항)
도구 선택 모드입니다.
가능한 값은 다음과 같습니다.
-
auto -
any -
none -
validated
허용된 도구의 이름입니다.
thinking_level ThinkingLevel (optional)
모델이 생성해야 하는 사고 토큰의 수준입니다.
가능한 값은 다음과 같습니다.
-
low -
high
thinking_summaries ThinkingSummaries (선택사항)
대답에 사고 요약을 포함할지 여부입니다.
가능한 값은 다음과 같습니다.
-
auto -
none
응답에 포함할 최대 토큰 수입니다.
speech_config SpeechConfig (선택사항)
음성 상호작용 구성입니다.
필드
화자의 음성입니다.
음성의 언어입니다.
화자 이름입니다. 프롬프트에 지정된 화자 이름과 일치해야 합니다.
agent_config object (선택사항)
에이전트 구성
에이전트 구성입니다.
`generation_config`의 대안입니다. `agent` 가 설정된 경우에만 적용됩니다.
가능한 유형
다형성 판별자: type
DynamicAgentConfig
동적 에이전트 구성입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "dynamic"로 설정합니다.
DeepResearchAgentConfig
Deep Research 에이전트의 구성입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "deep-research"로 설정합니다.
thinking_summaries ThinkingSummaries (선택사항)
대답에 사고 요약을 포함할지 여부입니다.
가능한 값은 다음과 같습니다.
-
auto -
none
이전 상호작용의 ID입니다(있는 경우).
response_modalities ResponseModality (선택사항)
요청된 대답의 형식 (TEXT, IMAGE, AUDIO)입니다.
가능한 값은 다음과 같습니다.
-
text -
image -
audio
응답
Interaction 리소스를 반환합니다.
간단한 요청
응답 예시
{ "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 } }
멀티턴
응답 예시
{ "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 } }
이미지 입력
응답 예시
{ "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 } }
함수 호출
응답 예시
{ "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
응답 예시
{ "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 } }
상호작용 가져오기
`Interaction.id`를 기반으로 단일 상호작용의 전체 세부정보를 가져옵니다.
경로 / 쿼리 매개변수
가져올 상호작용의 고유 식별자입니다.
true로 설정하면 생성된 콘텐츠가 증분 방식으로 스트리밍됩니다.
기본값: False
선택사항입니다. 설정된 경우 이벤트 ID로 표시된 이벤트 후 다음 청크부터 상호작용 스트림을 재개합니다. `stream` 이 true인 경우에만 사용할 수 있습니다.
사용할 API 버전입니다.
응답
Interaction 리소스를 반환합니다.
상호작용 가져오기
응답 예시
{ "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?" } ] }
상호작용 삭제
ID로 상호작용을 삭제합니다.
경로 / 쿼리 매개변수
삭제할 상호작용의 고유 식별자입니다.
사용할 API 버전입니다.
응답
성공한 경우 응답은 비어 있습니다.
상호작용 삭제
상호작용 취소
ID로 상호작용을 취소합니다. 이는 아직 실행 중인 백그라운드 상호작용에만 적용됩니다.
경로 / 쿼리 매개변수
가져올 상호작용의 고유 식별자입니다.
사용할 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": "model" }
리소스
상호작용
상호작용 리소스입니다.
필드
model ModelOption (선택사항)
상호작용을 생성하는 데 사용된 `Model` 의 이름입니다.
가능한 값은 다음과 같습니다.
-
gemini-2.5-pro코딩 및 복잡한 추론 작업에 탁월한 최첨단 다목적 모델입니다.
-
gemini-2.5-flash100만 개의 토큰 컨텍스트 윈도우를 지원하고 사고 예산이 있는 첫 번째 하이브리드 추론 모델입니다.
-
gemini-2.5-flash-preview-09-20252.5 Flash 모델을 기반으로 하는 최신 모델입니다. 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-preview-native-audio-dialogGoogle의 네이티브 오디오 모델은 더 나은 속도, 자연스러운 음성, 세부정보 수준, 분위기를 통해 고품질 오디오 출력을 제공하도록 최적화되어 있습니다.
-
gemini-2.5-flash-image-preview속도, 유연성, 맥락 이해에 최적화된 Google의 네이티브 이미지 생성 모델입니다. 텍스트 입력 및 출력은 2.5 Flash와 동일한 가격으로 책정됩니다.
-
gemini-2.5-pro-preview-tts더 자연스러운 출력과 프롬프트의 쉬운 조정을 위해 강력하고 짧은 지연 시간의 음성 생성을 위해 최적화된 2.5 Pro Text-to-Speech 오디오 모델입니다.
-
gemini-3-pro-preview최첨단 추론 및 멀티모달 이해를 갖춘 가장 지능적인 모델로, 강력한 에이전트형 및 바이브 코딩 기능을 제공합니다.
agent AgentOption (선택사항)
상호작용을 생성하는 데 사용된 `Agent` 의 이름입니다.
가능한 값은 다음과 같습니다.
-
deep-research-pro-preview-12-2025Gemini Deep Research 에이전트
출력 전용입니다. 상호작용 완료의 고유 식별자입니다.
출력 전용입니다. 상호작용의 상태입니다.
가능한 값은 다음과 같습니다.
-
in_progress -
requires_action -
completed -
failed -
cancelled
출력 전용입니다. ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)으로 대답이 생성된 시간입니다.
출력 전용입니다. ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)으로 대답이 마지막으로 업데이트된 시간입니다.
출력 전용입니다. 상호작용의 역할입니다.
출력 전용입니다. 모델의 대답입니다.
출력 전용입니다. 상호작용의 객체 유형입니다. 항상 `interaction`으로 설정됩니다.
항상 "interaction"로 설정합니다.
사용 사용 (선택사항)
출력 전용입니다. 상호작용 요청의 토큰 사용량에 관한 통계입니다.
필드
프롬프트 (컨텍스트)의 토큰 수입니다.
input_tokens_by_modality ModalityTokens (선택사항)
모달리티별 입력 토큰 사용량 분석입니다.
필드
modality ResponseModality (선택사항)
토큰 수와 연결된 모달리티입니다.
가능한 값은 다음과 같습니다.
-
text -
image -
audio
모달리티의 토큰 수입니다.
프롬프트의 캐시된 부분 (캐시된 콘텐츠)에 있는 토큰 수입니다.
cached_tokens_by_modality ModalityTokens (선택사항)
모달리티별 캐시된 토큰 사용량 분석입니다.
필드
modality ResponseModality (선택사항)
토큰 수와 연결된 모달리티입니다.
가능한 값은 다음과 같습니다.
-
text -
image -
audio
모달리티의 토큰 수입니다.
생성된 모든 대답의 총 토큰 수입니다.
output_tokens_by_modality ModalityTokens (선택사항)
모달리티별 출력 토큰 사용량 분석입니다.
필드
modality ResponseModality (선택사항)
토큰 수와 연결된 모달리티입니다.
가능한 값은 다음과 같습니다.
-
text -
image -
audio
모달리티의 토큰 수입니다.
도구 사용 프롬프트에 있는 토큰 수입니다.
tool_use_tokens_by_modality ModalityTokens (선택사항)
모달리티별 도구 사용 토큰 사용량 분석
필드
modality ResponseModality (선택사항)
토큰 수와 연결된 모달리티입니다.
가능한 값은 다음과 같습니다.
-
text -
image -
audio
모달리티의 토큰 수입니다.
사고 모델의 사고 토큰 수입니다.
상호작용 요청의 총 토큰 수 (프롬프트 + 응답 + 기타 내부 토큰)입니다.
이전 상호작용의 ID입니다(있는 경우).
예
예
{ "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 } }
데이터 모델
콘텐츠
대답의 콘텐츠입니다.
가능한 유형
다형성 판별자: type
TextContent
텍스트 콘텐츠 블록입니다.
텍스트 콘텐츠입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "text"로 설정합니다.
annotations Annotation (선택사항)
모델 생성 콘텐츠의 인용 정보입니다.
필드
이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다. 색인은 바이트로 측정된 세그먼트의 시작을 나타냅니다.
기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.
텍스트의 일부에 기여도가 부여된 출처입니다. URL, 제목 또는 기타 식별자일 수 있습니다.
ImageContent
이미지 콘텐츠 블록입니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
mime_type ImageMimeTypeOption (선택사항)
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "image"로 설정합니다.
resolution MediaResolution (선택사항)
미디어의 해상도입니다.
가능한 값은 다음과 같습니다.
-
low -
medium -
high
AudioContent
오디오 콘텐츠 블록입니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
mime_type AudioMimeTypeOption (선택사항)
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "audio"로 설정합니다.
DocumentContent
문서 콘텐츠 블록입니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "document"로 설정합니다.
VideoContent
동영상 콘텐츠 블록입니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
mime_type VideoMimeTypeOption (선택사항)
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "video"로 설정합니다.
resolution MediaResolution (선택사항)
미디어의 해상도입니다.
가능한 값은 다음과 같습니다.
-
low -
medium -
high
ThoughtContent
생각 콘텐츠 블록입니다.
생성에 포함될 백엔드 소스와 일치하는 서명입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "thought"로 설정합니다.
요약 ThoughtSummary (선택사항)
생각의 요약
FunctionCallContent
함수 도구 호출 콘텐츠 블록입니다.
호출할 도구의 이름입니다.
함수에 전달할 인수입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "function_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
FunctionResultContent
함수 도구 결과 콘텐츠 블록입니다.
호출된 도구의 이름입니다.
도구 호출로 인해 오류가 발생했는지 여부입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "function_result"로 설정합니다.
도구 호출의 결과입니다.
함수 호출 블록의 ID와 일치하는 ID입니다.
CodeExecutionCallContent
코드 실행 콘텐츠입니다.
arguments CodeExecutionCallArguments (선택사항)
코드 실행에 전달할 인수입니다.
필드
`code`의 프로그래밍 언어입니다.
가능한 값은 다음과 같습니다.
-
python
실행할 코드입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "code_execution_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
CodeExecutionResultContent
코드 실행 결과 콘텐츠입니다.
코드 실행의 출력입니다.
코드 실행으로 인해 오류가 발생했는지 여부입니다.
백엔드 검증을 위한 서명 해시입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "code_execution_result"로 설정합니다.
코드 실행 호출 블록의 ID와 일치하는 ID입니다.
UrlContextCallContent
URL 컨텍스트 콘텐츠입니다.
arguments UrlContextCallArguments (선택사항)
URL 컨텍스트에 전달할 인수입니다.
필드
가져올 URL입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "url_context_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
UrlContextResultContent
URL 컨텍스트 결과 콘텐츠입니다.
URL 컨텍스트 결과의 서명입니다.
result UrlContextResult (선택사항)
URL 컨텍스트의 결과입니다.
필드
가져온 URL입니다.
URL 가져오기의 상태입니다.
가능한 값은 다음과 같습니다.
-
success -
error -
paywall -
unsafe
URL 컨텍스트로 인해 오류가 발생했는지 여부입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "url_context_result"로 설정합니다.
URL 컨텍스트 호출 블록의 ID와 일치하는 ID입니다.
GoogleSearchCallContent
Google 검색 콘텐츠
arguments GoogleSearchCallArguments (선택사항)
Google 검색에 전달할 인수입니다.
필드
후속 웹 검색을 위한 웹 검색어입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "google_search_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
GoogleSearchResultContent
Google 검색 결과 콘텐츠입니다.
Google 검색 결과의 서명입니다.
result GoogleSearchResult (선택사항)
Google 검색 결과입니다.
필드
검색 결과의 URI 참조입니다.
검색 결과의 제목입니다.
웹페이지나 앱 웹뷰에 삽입할 수 있는 웹 콘텐츠 스니펫입니다.
Google 검색에서 오류가 발생했는지 여부입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "google_search_result"로 설정합니다.
Google 검색 호출 블록의 ID와 일치하는 ID입니다.
McpServerToolCallContent
MCPServer 도구 호출 콘텐츠입니다.
호출된 도구의 이름입니다.
사용된 MCP 서버의 이름입니다.
함수의 인수 JSON 객체입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "mcp_server_tool_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
McpServerToolResultContent
MCPServer 도구 결과 콘텐츠입니다.
이 특정 도구 호출에 대해 호출되는 도구의 이름입니다.
사용된 MCP 서버의 이름입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "mcp_server_tool_result"로 설정합니다.
도구 호출의 결과입니다.
MCP 서버 도구 호출 블록의 ID와 일치하는 ID입니다.
FileSearchResultContent
파일 검색 결과 콘텐츠입니다.
result FileSearchResult (선택사항)
파일 검색 결과입니다.
필드
검색결과의 제목입니다.
검색 결과의 텍스트입니다.
파일 검색 저장소의 이름입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "file_search_result"로 설정합니다.
예
텍스트
{ "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": { "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\n" }
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_result", "result": [ { "text": "search result chunk", "file_search_store": "file_search_store" } ] }
도구
가능한 유형
다형성 판별자: type
기능
모델에서 사용할 수 있는 도구입니다.
함수 이름입니다.
함수에 대한 설명입니다.
함수 파라미터의 JSON 스키마입니다.
제공된 설명이 없습니다.
항상 "function"로 설정합니다.
GoogleSearch
모델이 Google을 검색하는 데 사용할 수 있는 도구입니다.
제공된 설명이 없습니다.
항상 "google_search"로 설정합니다.
CodeExecution
모델이 코드를 실행하는 데 사용할 수 있는 도구입니다.
제공된 설명이 없습니다.
항상 "code_execution"로 설정합니다.
UrlContext
모델이 URL 컨텍스트를 가져오는 데 사용할 수 있는 도구입니다.
제공된 설명이 없습니다.
항상 "url_context"로 설정합니다.
ComputerUse
모델이 컴퓨터와 상호작용하는 데 사용할 수 있는 도구입니다.
제공된 설명이 없습니다.
항상 "computer_use"로 설정합니다.
운영되는 환경입니다.
가능한 값은 다음과 같습니다.
-
browser
모델 호출에서 제외되는 사전 정의된 함수의 목록입니다.
McpServer
MCPServer는 모델에서 작업을 실행하기 위해 호출할 수 있는 서버입니다.
제공된 설명이 없습니다.
항상 "mcp_server"로 설정합니다.
MCPServer의 이름입니다.
MCPServer 엔드포인트의 전체 URL입니다. 예: 'https://api.example.com/mcp'
선택사항: 필요한 경우 인증 헤더, 제한 시간 등의 필드입니다.
allowed_tools AllowedTools (선택사항)
허용된 도구입니다.
필드
mode ToolChoiceType (선택사항)
도구 선택 모드입니다.
가능한 값은 다음과 같습니다.
-
auto -
any -
none -
validated
허용된 도구의 이름입니다.
FileSearch
모델이 파일을 검색하는 데 사용할 수 있는 도구입니다.
검색할 파일 검색 저장소 이름입니다.
가져올 시맨틱 검색 청크의 수입니다.
시맨틱 검색 문서 및 청크에 적용할 메타데이터 필터입니다.
제공된 설명이 없습니다.
항상 "file_search"로 설정합니다.
예
함수
GoogleSearch
CodeExecution
UrlContext
ComputerUse
McpServer
FileSearch
Turn
필드
이 턴의 발신자입니다. 입력의 경우 사용자, 모델 출력의 경우 모델이어야 합니다.
턴의 콘텐츠입니다.
예
사용자 턴
{ "role": "user", "content": [ { "type": "text", "text": "user turn" } ] }
모델 회전
{ "role": "model", "content": [ { "type": "text", "text": "model turn" } ] }
InteractionSseEvent
가능한 유형
다형성 판별자: event_type
InteractionEvent
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
interaction.start -
interaction.complete
제공된 설명이 없습니다.
이 이벤트에서 상호작용 스트림을 재개하는 데 사용할 event_id 토큰입니다.
InteractionStatusUpdate
제공된 설명이 없습니다.
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
in_progress -
requires_action -
completed -
failed -
cancelled
제공된 설명이 없습니다.
항상 "interaction.status_update"로 설정합니다.
이 이벤트에서 상호작용 스트림을 재개하는 데 사용할 event_id 토큰입니다.
ContentStart
제공된 설명이 없습니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
항상 "content.start"로 설정합니다.
이 이벤트에서 상호작용 스트림을 재개하는 데 사용할 event_id 토큰입니다.
ContentDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
항상 "content.delta"로 설정합니다.
이 이벤트에서 상호작용 스트림을 재개하는 데 사용할 event_id 토큰입니다.
delta object (선택사항)
제공된 설명이 없습니다.
가능한 유형
다형성 판별자: type
TextDelta
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "text"로 설정합니다.
annotations Annotation (선택사항)
모델 생성 콘텐츠의 인용 정보입니다.
필드
이 출처에 기여도가 부여된 대답의 세그먼트 시작입니다. 색인은 바이트로 측정된 세그먼트의 시작을 나타냅니다.
기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.
텍스트의 일부에 기여도가 부여된 출처입니다. URL, 제목 또는 기타 식별자일 수 있습니다.
ImageDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
mime_type ImageMimeTypeOption (선택사항)
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "image"로 설정합니다.
resolution MediaResolution (선택사항)
미디어의 해상도입니다.
가능한 값은 다음과 같습니다.
-
low -
medium -
high
AudioDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
mime_type AudioMimeTypeOption (선택사항)
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "audio"로 설정합니다.
DocumentDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "document"로 설정합니다.
VideoDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
mime_type VideoMimeTypeOption (선택사항)
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "video"로 설정합니다.
resolution MediaResolution (선택사항)
미디어의 해상도입니다.
가능한 값은 다음과 같습니다.
-
low -
medium -
high
ThoughtSummaryDelta
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "thought_summary"로 설정합니다.
제공된 설명이 없습니다.
ThoughtSignatureDelta
생성에 포함될 백엔드 소스와 일치하는 서명입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "thought_signature"로 설정합니다.
FunctionCallDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "function_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
FunctionResultDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "function_result"로 설정합니다.
도구 호출 결과 델타입니다.
함수 호출 블록의 ID와 일치하는 ID입니다.
CodeExecutionCallDelta
arguments CodeExecutionCallArguments (선택사항)
제공된 설명이 없습니다.
필드
`code`의 프로그래밍 언어입니다.
가능한 값은 다음과 같습니다.
-
python
실행할 코드입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "code_execution_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
CodeExecutionResultDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "code_execution_result"로 설정합니다.
함수 호출 블록의 ID와 일치하는 ID입니다.
UrlContextCallDelta
arguments UrlContextCallArguments (선택사항)
제공된 설명이 없습니다.
필드
가져올 URL입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "url_context_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
UrlContextResultDelta
제공된 설명이 없습니다.
result UrlContextResult (선택사항)
제공된 설명이 없습니다.
필드
가져온 URL입니다.
URL 가져오기의 상태입니다.
가능한 값은 다음과 같습니다.
-
success -
error -
paywall -
unsafe
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "url_context_result"로 설정합니다.
함수 호출 블록의 ID와 일치하는 ID입니다.
GoogleSearchCallDelta
arguments GoogleSearchCallArguments (선택사항)
제공된 설명이 없습니다.
필드
후속 웹 검색을 위한 웹 검색어입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "google_search_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
GoogleSearchResultDelta
제공된 설명이 없습니다.
result GoogleSearchResult (선택사항)
제공된 설명이 없습니다.
필드
검색 결과의 URI 참조입니다.
검색 결과의 제목입니다.
웹페이지나 앱 웹뷰에 삽입할 수 있는 웹 콘텐츠 스니펫입니다.
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "google_search_result"로 설정합니다.
함수 호출 블록의 ID와 일치하는 ID입니다.
McpServerToolCallDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "mcp_server_tool_call"로 설정합니다.
이 특정 도구 호출의 고유 ID입니다.
McpServerToolResultDelta
제공된 설명이 없습니다.
제공된 설명이 없습니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "mcp_server_tool_result"로 설정합니다.
도구 호출 결과 델타입니다.
함수 호출 블록의 ID와 일치하는 ID입니다.
FileSearchResultDelta
result FileSearchResult (선택사항)
제공된 설명이 없습니다.
필드
검색결과의 제목입니다.
검색 결과의 텍스트입니다.
파일 검색 저장소의 이름입니다.
콘텐츠 oneof의 OpenAPI 유형 식별자로 사용됩니다.
항상 "file_search_result"로 설정합니다.
ContentStop
제공된 설명이 없습니다.
제공된 설명이 없습니다.
항상 "content.stop"로 설정합니다.
이 이벤트에서 상호작용 스트림을 재개하는 데 사용할 event_id 토큰입니다.
ErrorEvent
제공된 설명이 없습니다.
항상 "error"로 설정합니다.
error Error (선택사항)
제공된 설명이 없습니다.
필드
오류 유형을 식별하는 URI입니다.
사람이 읽을 수 있는 오류 메시지입니다.
이 이벤트에서 상호작용 스트림을 재개하는 데 사용할 event_id 토큰입니다.
예
Interaction Start(상호작용 시작)
{ "event_type": "interaction.start", "interaction": { "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "status": "in_progress" } }
상호작용 완료
{ "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 } } }
상호작용 상태 업데이트
{ "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" } }