Multimodal Live API

Multimodal Live API를 사용하면 텍스트, 오디오, 동영상 입력과 오디오 및 텍스트 출력을 사용하는 지연 시간이 짧은 양방향 상호작용을 지원할 수 있습니다. 이렇게 하면 언제든지 모델을 중단할 수 있는 기능을 통해 사람과 같은 자연스러운 음성 대화를 할 수 있습니다. 모델의 동영상 이해 기능은 커뮤니케이션 모달을 확장하여 카메라 입력이나 스크린캐스트를 공유하고 이에 관해 질문할 수 있도록 지원합니다.

Multimodal Live API에는 다음과 같은 주요 기능이 포함됩니다.

  • 멀티모달리티: 모델이 보고, 듣고, 말할 수 있습니다.
  • 지연 시간이 짧은 실시간 상호작용: 모델이 빠른 응답을 제공할 수 있습니다.
  • 세션 메모리: 모델은 단일 세션 내의 모든 상호작용에 관한 메모리를 유지하여 이전에 듣거나 본 정보를 호출합니다.
  • 함수 호출, 코드 실행, 도구로서의 검색 지원: 외부 서비스 및 데이터 소스와 모델을 통합할 수 있습니다.

멀티모달 실시간 API는 서버 간 통신을 위해 설계되었습니다.

웹 및 모바일 앱의 경우 Daily의 파트너 통합을 사용하는 것이 좋습니다.

통합 가이드

세션

세션은 클라이언트와 Gemini 서버 간의 단일 WebSocket 연결을 나타냅니다.

클라이언트가 새 연결을 시작한 후 세션은 서버와 메시지를 교환하여 다음 작업을 실행할 수 있습니다.

  • 텍스트, 오디오 또는 동영상을 Gemini 서버로 전송합니다.
  • Gemini 서버에서 오디오, 텍스트 또는 함수 호출 응답을 수신합니다.

세션 구성은 연결 후 첫 번째 메시지로 전송됩니다. 세션 구성에는 모델, 생성 매개변수, 시스템 안내, 도구가 포함됩니다.

다음 구성 예시를 참고하세요.

{​​
  "model": string,
  "generation_config": {​​
    "candidateCount": integer,
    "maxOutputTokens": integer,
    "temperature": number,
    "topP": number,
    "topK": integer,
    "presencePenalty": number,
    "frequencyPenalty": number,
    "response_modalities": string,
    "speech_config":object
  },

  "system_instruction": "",
  "tools":[]
}

자세한 내용은 BidiGenerateContentSetup을 참고하세요.

메시지 보내기

메시지는 WebSocket 연결을 통해 교환되는 JSON 형식의 문자열입니다.

메시지를 보내려면 클라이언트가 지원되는 클라이언트 메시지를 JSON 형식의 문자열로 전송해야 하며, 이때 열린 WebSocket 연결을 통해 전송해야 합니다.

참고 항목

  • 일반적으로 사용되는 API 필드 (예:ContentTool)에 관한 자세한 내용은 콘텐츠 생성을 참고하세요.
  • 함수 호출에 대해 자세히 알아보기