Gemini Live API 로 한국어 voice agent 5분 만들기 — ClawOps 070 직접 연결
Gemini Live API 로 한국어 voice agent 5분 만들기 — ClawOps 070 직접 연결
Google Gemini Live API 는 한국어 발음 자연도가 OpenAI Realtime 보다 좋고 단가도 저렴. 하지만 한국 사용자에게 진짜로 닿으려면 한국 070 번호가 필요한데, Google 은 telephony 인프라를 직접 제공 안 한다. ClawOps 070 + Gemini Live 직접 연결로 30줄 코드 + 5분에 한국어 voice agent 완성.
0. 사전 준비
- Python 3.10+
- ClawOps 계정 (https://claw-ops.com, 무료 Trial, 카드 X)
- Google AI Studio API key (https://aistudio.google.com/apikey)
1. ClawOps SDK 설치
pip install "clawops[agent,gemini]"
agent extras: 음성 에이전트 런타임 (SIP/WebRTC bridge, RTP 인코딩, turn-taking).
gemini extras: Gemini Live API 연동.
2. 환경변수
export CLAWOPS_API_KEY="ck_live_..."
export GEMINI_API_KEY="AIzaSy..."
3. 코드 — agent.py
from clawops import ClawOps
from clawops.agent import ClawOpsAgent
from clawops.agent.providers import GeminiLive
client = ClawOps() # CLAWOPS_API_KEY 자동 인식
number = client.numbers.create() # 070 번호 즉시 발급
print(f"발급된 070 번호: {number.phone_number}")
agent = ClawOpsAgent(
from_=number.phone_number,
session=GeminiLive(
model="gemini-2.0-flash-realtime",
voice="aoede", # 한국어 자연 보이스
language="ko-KR",
system_prompt=(
"당신은 ABC 회사의 인바운드 상담원입니다.\n"
"- 제품 문의·가격·일정 질문을 짧고 친절하게 응대\n"
"- 견적이 필요하면 회사명·연락처·예산을 받아 메모\n"
"- 답변 어려운 건 담당자 연결 약속 후 hang_up\n"
"- 한국어로만 응대, 영어 섞지 말 것"
),
),
)
agent.serve() # ngrok 없이 바로 inbound 수신
agent.serve() 만 호출하면:
- ClawOps 가 발급된 070 으로 들어오는 모든 inbound SIP 트래픽을 자동 라우팅
- WebSocket bridge 로 Gemini Live API 에 음성 stream 전달
- Gemini 응답을 다시 SIP RTP 로 변환해 통화에 회신
- turn-taking (말 끊김·동시 발화) 자동 처리
4. 테스트 통화
python agent.py
다른 휴대폰에서 출력된 070 번호로 전화 → AI 상담원이 응답.
5. Outbound (전화 걸기)
call = client.calls.create(
to="01012345678",
from_=number.phone_number,
agent_config={
"provider": "gemini-live",
"voice": "puck",
"language": "ko-KR",
"system_prompt": (
"당신은 OOO 회사의 영업담당입니다.\n"
"내일 오후 2시 시연 약속을 잡아주세요.\n"
"시간 안 맞으면 다른 시간대 받아오세요.\n"
"5분 안에 마무리하고 hang_up."
),
},
)
print(f"call_id: {call.id}")
6. 통화 종료 후 — 요약·전사
# 통화 끝난 뒤 (callback webhook 또는 polling)
result = client.calls.get(call.id)
print(result.status) # "ended"
print(result.summary) # AI 가 생성한 한국어 요약
print(result.transcript_url) # WAV + 전사 JSON 다운로드 링크
add_on=summary 활성화시 통화 요약이 자동 생성된다 (₩10/분).
7. Gemini Live vs OpenAI Realtime (한국어 통화 기준)
| 항목 | Gemini Live | OpenAI Realtime |
|---|---|---|
| 한국어 보이스 자연도 | 매우 우수 (Aoede/Puck) | 우수 (alloy/verse) |
| latency | ~600ms | ~700ms |
| input 가격 | 약 50% | 기준 |
| audio output 가격 | 약 40% | 기준 |
| 함수 호출 | 지원 (tools) | 지원 (tools) |
| 한국 전화 지원 | ❌ 직접 안 됨 → ClawOps 필요 | ❌ 직접 안 됨 → ClawOps 필요 |
8. 작동 원리
[한국 사용자 휴대폰]
↕ PSTN
[한국 통신사 070]
↕ SIP/2.0 + SRTP
[ClawOps SIP gateway, GCP 서울]
↕ WebSocket (RTP ↔ PCM)
[Gemini Live API, Google]
↕ inference
[Gemini 2.0 Flash Realtime]
9. 비용 (월 100분 통화 기준)
- ClawOps Individual: ₩19,000/월 (발신 100분 포함, 수신 1,000분)
- Gemini Live: 무료 quota 안에서 시작 가능, 초과시 기본 약 $0.0001/sec output audio
- 총합: 5만원 이내에서 한국어 voice agent 1개 운영 가능
다음 단계
관련 글 더 보기
Gemini CLI 에 한국 070 번호 붙이기 — Gemini Code 에서 전화 거는 가이드
Google Gemini CLI(개발자용 코딩 에이전트)에 한국 070 번호 전화 기능을 붙이는 방법. MCP 서버 등록 + ClawOps 070 발급 + Gemini Live API 연계 사용 예시.
가이드Claude Code 에 한국 070 번호 붙이기 — MCP 한 줄로 'thomi 한테 전화 걸어' 가능하게
Claude Code(터미널 CLI) 안에서 한국 070 번호로 직접 전화 걸고 받게 만드는 가이드. MCP 서버 설정 + ClawOps 070 번호 발급 + Claude Code agent 가 부르는 실제 프롬프트.
가이드Claude Desktop 에 한국 070 번호 붙이기 — MCP 설정 1줄로 전화 거는 Claude 만들기
Claude Desktop(데스크톱 앱)에 한국 070 번호 전화 기능을 붙이는 가이드. claude_desktop_config.json 1줄 설정 + ClawOps 070 발급 + 실제 사용 프롬프트.
가이드OpenAI Codex CLI 에 한국 070 번호 붙이기 — MCP 한 줄로 전화 거는 Codex
OpenAI Codex CLI(터미널 코딩 에이전트)에 한국 070 번호 전화 기능을 붙이는 가이드. MCP 설정 + ClawOps 070 발급 + 실제 사용 프롬프트.
가이드Cursor agent 에 한국 070 번호 붙이기 — MCP HTTP 로 원격 전화 tool
Cursor 의 background agent 에 한국 070 번호 전화 기능을 붙이는 가이드. MCP HTTP 서버 설정 + ClawOps 070 + 원격 환경에서 작동하는 코드 예시.