콘텐츠로 이동

I Just Built An AI Agent Clone Of Myself (n8n)

원본 영상: I Just Built An AI Agent Clone Of Myself (n8n)

n8n + ElevenLabs + OpenAI Whisper 조합으로 자신의 목소리를 클론한 AI 에이전트를 만들고 Telegram에서 음성·텍스트 양방향으로 대화하는 워크플로를 구축한다.

  1. Telegram 트리거 설정 — BotFather로 새 봇 생성 후 액세스 토큰을 n8n Telegram 노드에 연결한다.
  2. Switch 노드로 경로 분기 — 수신 메시지의 text 필드 존재 여부로 음성 경로 vs 텍스트 경로를 구분한다.
  3. 음성 경로 처리 — Telegram “Get a File” 노드로 음성 파일 다운로드 → OpenAI Whisper로 텍스트 변환(transcribe).
  4. 텍스트 경로 처리text 필드 값을 text 키 이름으로 Edit Fields 노드에 저장한다.
  5. Merge 노드 — 두 경로 모두 text 키를 공유하므로 하나로 합쳐 AI 에이전트에 전달한다.
  6. AI 에이전트 구성 — OpenAI 모델 연결, 세션 메모리(chat ID 기반), 시스템 프롬프트 설정.
  7. ElevenLabs HTTP 요청 — 네이티브 통합이 없어 HTTP Request 노드로 직접 연동, Text-to-Speech 엔드포인트에 POST 요청.
  8. Telegram 음성 응답 전송 — 생성된 오디오 바이너리를 Telegram Send Audio 노드로 전달, chat ID로 대상 지정.
단계핵심 설정
봇 생성BotFather /newbot → 토큰 복사
경로 분기Switch: text 필드 “string does not exist” = 음성, “exists” = 텍스트
음성→텍스트OpenAI Transcribe Recording 노드 (최소 $5 크레딧 필요)
AI 모델OpenAI (기본값), 메모리: chat ID를 session ID로 사용
TTS 연동ElevenLabs API POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}
JSON 처리AI 에이전트 출력을 JSON.stringify() 로 감싸 특수문자·줄바꿈 처리 후 쌍따옴표 중복 주의
시스템 프롬프트"You are a helpful assistant named Jonno..." 형태로 페르소나 부여
  • ElevenLabs 음성 클론: Starter 플랜 $5/월 필요 (무료 플랜은 API 호출 불가)
  • OpenAI API: 최소 $5 크레딧 선충전 필요
  • 음성 학습용 오디오: 파일이 길수록, 많을수록 클론 품질 향상 (본인 실측 경험)

사용 도구

  • n8n — 전체 자동화 오케스트레이션
  • Telegram Bot API — 트리거 및 응답 채널
  • OpenAI Whisper — 음성→텍스트 변환
  • OpenAI (Chat) — AI 에이전트 추론 엔진
  • ElevenLabs Instant Voice Clone — 목소리 복제 및 TTS 생성

워크플로 흐름

Telegram 수신
└─ Switch (text 유무)
├─ 음성: Get File → Transcribe (Whisper) → {key: text}
└─ 텍스트: Edit Fields → {key: text}
└─ Merge (by key: text)
└─ AI Agent (OpenAI + 메모리)
└─ HTTP Request → ElevenLabs TTS
└─ Telegram Send Audio

JSON.stringify 패턴 — AI 에이전트 출력에 \n, 특수문자가 포함되면 ElevenLabs HTTP body의 JSON이 깨지므로, body 필드에서 출력값을 JSON.stringify({{ $json.output }}) 로 감싸되 외부 쌍따옴표는 제거한다.