쇼츠 번역, AI 자막 추출부터 번역까지 ep2: 팀 대시보드로 교정 워크플로우 자동화

Google Docs 링크 하나 붙여넣으면 자막 추출, 번역, 문서 작성, 이메일 알림, 교정 관리까지 끝난다.

완성된 대시보드: https://beloved-shorts-translator.vercel.app

☘️소개

시도하고자 했던 것과 그 이유를 알려주세요.

교회 쇼츠번역팀에서 매주 YouTube Shorts 영상의 한국어 자막을 영어로 번역하는 사역을 하고 있다. 기존에는 이 과정이 전부 수작업이었다.

  1. 영상 자막을 직접 듣고 받아적기

  2. 번역 도구에 복붙해서 번역

  3. Google Docs에 옮겨 적기

  4. 담당자에게 "번역 완료됐어요" 연락

  5. 교정자가 검토 후 피드백

  6. 피드백을 다음 번역에 수동으로 반영

영상이 매주 1~2개씩 쌓이면서, 이 반복 작업이 점점 부담이 됐다. 특히 교정 피드백이 체계적으로 관리되지 않아서 같은 실수가 반복되는 게 가장 큰 문제였다.

"문서 링크 하나만 넣으면 번역부터 교정 관리까지 자동으로 되면 안 되나?"에서 시작해서, 결국 팀 전체가 사용하는 대시보드까지 만들었다.


☘️진행 방법

어떤 도구를 사용했고, 어떻게 활용하셨나요?

사용한 도구: Claude Code (CLI), Google Drive/Docs/Sheets/Gmail API, Gemini API, OpenAI Whisper, Vercel, Google Cloud Console


1단계: 자막 추출 + AI 번역 자동화

Claude Code에게 전체 워크플로우를 설명하고 모듈별로 만들어나갔다.

교회에서 매주 YouTube Shorts 영상을 한->영 번역하는 작업을 자동화하고 싶어.
1. YouTube 링크가 있는 Google Docs 문서를 받으면
2. 각 영상에서 한국어 자막을 자동 추출 (자막 API 우선, 없으면 Whisper 음성인식)
3. Gemini AI로 교회 맥춤 한→영 번역
4. 원본 문서에 한영병기로 번역 결과 작성
5. 팀원들에게 이메일 알림 발송

핵심은 번역 프롬프트 튜닝이었다. 일반 번역이 아니라 교회 간증/설교 영상이기 때문에:

TRANSLATE_PROMPT = """당신은 영어권 교회에서 통역 경험이 풍부한 전문 번역가입니다.

[번역 품질 규칙]
1. 직역하지 마세요. 영어권 교회에서 자연스럽게 들리는 간증/설교체로 의역하세요.
2. 기독교 용어: 하나님=God, 예수님=Jesus, 주님=the Lord,
   은혜=grace, 믿음=faith, 치유=healing
3. 성도님/자매님은 "this sister (in Christ)" 또는
   "one of our church members"로 번역하세요.
4. 사랑하는교회=Beloved Church, 치유 간증=Healing Testimony

[형식 규칙]
1. 의미가 연결되는 한국어 줄들을 하나의 그룹으로 묶으세요 (2~4줄).
2. 한국어 그룹의 모든 줄을 먼저 쓰고, 바로 아래에 영어 번역을 쓰세요."""

2단계: 용어사전 자동 학습

교정자가 번역 문서에 댓글로 수정 피드백을 남기면, Gemini AI가 댓글을 분석해서 Google Sheets 용어사전에 자동 누적한다.

[피드백 수집] 댓글 확인 중...
  -> 댓글 23개 발견. 문서 본문 로딩 중...
  -> AI 분석 중...
  -> 12개 규칙 저장 완료

다음 번역 시 이 규칙이 자동으로 적용된다. 쓸수록 번역 품질이 좋아지는 구조.


3단계: 팀 대시보드 구축

개인 터미널에서 실행하는 방식으로는 팀원들이 참여할 수 없었다. Claude Code에게 대시보드를 만들어달라고 했다.

랜딩페이지를 팀 대시보드로 확장하고 싶어.
- Google 로그인으로 팀원 인증
- 역할 관리 (팀장/관리자/팀원)를 Google Sheets로
- 팀장이 문서 링크를 붙여넣고 번역 실행
- 팀원들이 교정완료 체크
- 팀장이 교정마감 → 용어사전 자동 업데이트

결과적으로 만들어진 워크플로우:

1. 담당자가 Google Docs에 쇼츠 스크립트 작성
2. 팀장이 대시보드에 링크 붙여넣기 + [번역 실행]
   → 팀원들에게 자동 편집 권한 부여
3. AI가 자막 추출 + 번역 + 원문에 작성
4. 팀원들에게 이메일 알림
5. 팀원들이 교정 댓글 작성 + [교정완료] 클릭
6. 팀장이 [교정마감] → 댓글 수집 → 용어사전 업데이트

Google Sheets 하나로 역할관리, 용어사전, 교정현황, 진행현황, 작업큐를 모두 관리한다. 별도 DB 없이.


4단계: YouTube 봇 차단과의 전쟁

가장 어려웠던 부분. 자막이 없는 영상은 Whisper 음성인식을 위해 오디오를 다운로드해야 하는데, 클라우드 서버(GitHub Actions, Google Cloud Run)에서는 YouTube가 봇으로 차단한다.

시도한 방법들:

  • GitHub Actions → 차단

  • Google Cloud Run → 차단

  • yt-dlp player_client 변경 (mweb, ios, android, tv) → 차단

  • YouTube 쿠키 추출 → 브라우저 재접속 시 무효화

  • deno 런타임 설치 → 차단

결국 로컬 PC에서 백그라운드 워커를 돌리는 하이브리드 방식으로 해결했다. 대시보드에서 버튼을 누르면 Google Sheets 작업큐에 기록되고, PC의 워커가 30초마다 큐를 확인해서 실행한다.

대시보드 [번역 실행] → Google Sheets 작업큐에 기록
    ↓ (30초 이내)
PC 워커가 감지 → 자막 추출 + Whisper + 번역
    ↓
완료 → 이메일 알림 → 대시보드 반영

☘️결과와 배운 점

결과:

  • 매주 1~2시간 걸리던 번역 작업이 버튼 한 번으로 끝남

  • 팀원 6명이 대시보드에서 교정 워크플로우 진행

  • 용어사전 88개 규칙 자동 누적

  • 코드 한 줄 직접 안 씀

☘️과정 중 시행착오:

  1. YouTube 봇 차단 — GitHub Actions, Cloud Run 모두 차단됨. player_client 변경, 쿠키 추출, deno 설치 등 5가지 방법을 시도한 끝에 로컬 워커로 해결

  2. Gemini API 503 과부하 — 재시도 로직 없이 바로 실패 처리했다가, 5/10/15초 간격 재시도 + fallback 모델 추가로 해결

  3. Google OAuth 토큰 만료 — 테스트 모드에서 7일마다 만료. 프로덕션 모드로 전환해서 해결

  4. 팀원 대시보드 동기화 — localStorage만 쓰면 다른 사용자에게 안 보임. Google Sheets를 공유 상태 저장소로 사용해서 해결

  5. 번역 결과 형식 — 초기에 번역만 별도 섹션으로 작성했다가, 한영병기 형식으로 수정

☘️나만의 꿀팁:

  • Google Sheets를 DB처럼 쓰면 놀랍도록 많은 것을 할 수 있다. 역할 관리, 작업 큐, 상태 추적, 용어사전 — 전부 시트 탭 하나씩이면 된다.

  • "이건 번역하지 마"처럼 예외 케이스를 구체적으로 알려주는 게 중요하다. AI는 "전부 번역해"라고 하면 전부 번역한다.

  • 클라우드에서 안 되면 로컬로 돌아가는 것도 방법이다. 완벽한 서버리스보다 작동하는 하이브리드가 낫다.

  • 한 번에 완벽하게 안 나와도 괜찮다. 실행 → 결과 확인 → "이거 고쳐줘" 반복이 가장 빠르다.


도움 받은 글 (옵션)

  • Claude Code 공식 문서

  • Google Docs API / Drive API / Sheets API 공식 레퍼런스

  • OpenAI Whisper GitHub 레포지토리

  • yt-dlp Wiki (YouTube 쿠키 / EJS 관련)

3
2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요