피드로 돌아가기
Gemini 3.1: Real-World Voice Recognition with Flash Live: Making Your LINE Bot Understand You
Dev.toDev.to
Backend

LINE Bot 프로젝트가 Gemini 3.1 Flash 모델을 표준 API로 활용해 음성 메시지를 텍스트로 변환하고 기존 Orchestrator와 통합

Gemini 3.1: Real-World Voice Recognition with Flash Live: Making Your LINE Bot Understand You

Evan Lin2026년 3월 29일15intermediate

Context

LINE Bot 프로젝트는 텍스트, 이미지, URL, PDF, YouTube 등 다양한 메시지 타입을 지원했으나 음성 메시지는 처리하지 못했다. 사용자가 음성 메시지를 전송하면 봇이 응답하지 않는 상황이 발생했다.

Technical Solution

  • Gemini 3.1 Flash Live 대신 표준 Gemini API 선택: LINE의 사전 녹음된 m4a 파일 처리에 최적화
  • 음성 바이트를 inline data로 직접 전달해 한 번의 API 호출로 전사 텍스트 획득 (모델: gemini-3.1-flash-lite-preview)
  • 전사된 텍스트를 일반 텍스트 메시지로 취급해 기존 Orchestrator에 라우팅 (Chat, Content, Location, Vision, GitHub Agent 자동 지원)
  • 두 단계 응답 구조 구현: 첫 회신으로 전사 결과 즉시 반환 후, 두 번째 푸시 메시지로 Orchestrator 처리 결과 전달
  • Vertex AI SDK의 위치(location) 환경 변수 이슈 해결: Live API는 regional endpoint 필수이므로 us-central1로 하드코딩

Key Takeaway

Google의 대규모 언어 모델 API를 기존 마이크로서비스 아키텍처와 통합할 때, 각 모델의 용도에 맞는 API 타입을 선택하는 것이 중요하며, SDK 문서에 명시되지 않은 제약 사항은 모델 목록 조회와 소스 코드 분석으로 해결해야 한다.


채팅 봇이나 메시징 플랫폼을 운영하는 팀이 음성 입력 기능을 추가할 때, 실시간 스트리밍이 아닌 사전 녹음 파일을 처리한다면 표준 generate_content API를 사용하되, Gemini의 regional endpoint 요구사항을 환경 변수가 아닌 하드코딩으로 관리하고, 전사 결과를 먼저 사용자에게 확인 응답하는 구조로 UX를 개선할 수 있다.

원문 읽기