유튜브 자동 번역 50개 언어|완전 자동화 대신 선택한 방식
유튜브 자동 번역과 업로드를 위해 만든 유튜브업로더는 영상 하나를 업로드할 때 영어로 작성한 제목과 설명을 총 50개 언어로 등록하도록 만들었습니다.
처음 유튜브업로더를 만들었을 때는 약 60개 언어를 대상으로 번역했었습니다. 이후 유튜브에서 실제로 많이 사용되고 조회되는 언어를 다시 조사해 활용도가 상대적으로 낮은 10개 언어를 제외했고, 현재는 영어를 포함한 50개 언어로 운영하고 있습니다.
영어 원문을 기준으로 나머지 49개 언어를 자동 번역하고, 각 언어의 제목과 설명을 유튜브에 함께 등록하는 방식입니다.
처음에는 유튜브 자동 번역에 구글 번역 API를 이용해 번역부터 등록까지 모두 자동으로 처리했습니다. 하지만 결과물을 점검해보니 일부 언어에서 문장이 어색하거나, 브랜드명과 앨범명처럼 번역하면 안 되는 표현을 보호하기 위해 넣어둔 {{ }} 마커가 깨지는 문제가 반복됐습니다. 이 문제를 처음 발견하고 수정한 과정은 유튜브 챕터가 사라졌다|자동 번역에서 생긴 예상 밖의 오류들에서 따로 다뤘습니다.
이를 보완하기 위해 프로그램에 두 가지 기능을 추가했습니다.
- 번역 결과에 문제가 있을 가능성이 높은 언어를 감지하는 기능
- 문제가 있는 언어만 수정된 번역문으로 교체하는 기능

유튜브 자동 번역 테스트를 몇 차례 반복하자 일정한 패턴이 보였습니다. 50개 언어 전체가 문제가 되는 것은 아니었습니다. 번역 결과를 검사할 때마다 거의 동일한 17개 언어에서 수정이 필요한 것으로 나타났습니다.
그래서 처음에는 이 17개 언어의 번역 품질을 높이기 위해 Claude API를 직접 연결해보기로 했습니다.
Claude API를 연결해보다
Claude API를 사용하면 구글 번역 결과를 거치지 않고, 프로그램 안에서 조금 더 자연스러운 번역문을 만들 수 있을 것으로 생각했습니다.
테스트를 위해 5달러의 크레딧을 충전했습니다. 세금을 포함한 실제 결제 금액은 5.5달러였습니다.
하지만 50개 언어 번역을 몇 차례 실행하자 충전한 크레딧은 금방 소진됐습니다. 번역할 제목과 설명문이 길고 대상 언어도 많다 보니, 영상을 올릴 때마다 같은 방식으로 사용하기에는 비용 부담이 생길 수밖에 없었습니다.
비용만의 문제도 아니었습니다.
Claude API로 번역한 결과를 다시 검사해보니 구글 번역 API를 사용했을 때와 마찬가지로 수정이 필요한 언어는 동일한 17개 언어였습니다.
한국어에서는 문맥에 맞는 조사를 선택하지 못하고 ‘을(를)’처럼 두 형태를 함께 표시하는 경우가 있었습니다. 독일어에서는 관사와 어미가 문장에서 맡는 역할에 따라 달라지는 격변화가 자연스럽지 않다는 문제가 확인됐습니다.
서비스를 바꿔도 결국 같은 언어들에서 사람의 확인과 수정이 필요했습니다. 그렇다면 49개 언어 전체를 유료 API로 번역할 이유가 크지 않다는 결론에 이르렀습니다.
유튜브 자동 번역, 49개 언어는 자동으로, 17개 언어는 따로

현재 유튜브 자동 번역은 구글 번역 API와 Claude 대화창을 함께 사용하는 방식으로 정착했습니다.
먼저 영어로 제목과 설명문을 완성합니다. 유튜브업로더는 이 영어 원문을 기준으로 현재 무료로 사용할 수 있는 구글 번역 API를 통해 나머지 49개 언어의 번역문을 만듭니다.
그다음 반복적으로 문제가 확인됐던 17개 언어만 따로 수정합니다.
작업 과정은 다음과 같습니다.
- 영어 제목과 설명문을 완성합니다.
- 구글 번역 API로 나머지 49개 언어를 자동 번역합니다.
- 수정이 필요한 17개 언어에 대해 영어 원문을 Claude 대화창에 전달합니다.
- Claude가 정리한 수정 번역문을 유튜브업로더의 해당 언어 입력란에 붙여넣습니다.
- 프로그램에서 50개 언어의 제목과 설명을 최종 확인한 뒤 유튜브에 등록합니다.
Claude 대화창에는 수정할 17개 언어의 목록과 번역 조건을 미리 정리해두었습니다. 따라서 작업할 때마다 대상 언어와 규칙을 처음부터 다시 설명할 필요는 없습니다. 영어 원문을 입력하면 필요한 17개 언어의 수정 번역문을 한 번에 받을 수 있습니다.
완전 자동화는 아니지만, 49개 언어를 처음부터 모두 수동으로 처리하는 것도 아닙니다. 문제가 반복되는 부분만 사람의 확인 과정으로 분리한 반자동 방식입니다.
완성된 프로그램이 아니라 계속 바뀌는 도구
유튜브 자동 번역 기능을 여러 차례 테스트하면서, 모든 언어를 같은 방식으로 처리하는 것이 반드시 효율적인 것은 아니라는 점을 알게 됐습니다.
처음에는 API를 바꾸면 50개 언어 번역을 완전히 자동화할 수 있을 것으로 생각했습니다. 하지만 여러 차례 실행해보니 구글 번역 API와 Claude API 모두 비슷한 17개 언어에서 수정이 필요했습니다.
Claude API는 몇 번의 테스트만으로 충전한 크레딧이 소진됐고, 그렇다고 수정 과정이 사라지는 것도 아니었습니다.
결국 현재 무료로 사용할 수 있는 구글 번역 API로 영어를 제외한 49개 언어를 먼저 번역하고, 반복적으로 문제가 확인되는 17개 언어만 Claude 대화창을 이용해 수정하는 방식을 선택했습니다.
클릭 한 번으로 모든 번역을 끝내는 완전 자동화는 아니지만, 비용을 줄이면서 번역 품질도 직접 확인할 수 있게 됐습니다. 모든 과정을 사람의 손에서 떼어내는 것보다 반복 작업은 프로그램에 맡기고, 판단이 필요한 부분만 사람이 확인하는 방식이 지금의 유튜브 업로더에는 더 잘 맞았습니다.
지난번 글에서 유튜브업로더를 소개했을 때 프로그램 버전은 1.1이었습니다. 그 뒤 실제 영상 업로드에 계속 사용하면서 번역 방식과 오류 감지, 언어별 수정 기능을 비롯한 자잘한 변화를 하나씩 더했고, 지금은 어느새 버전 1.7이 됐습니다.
처음부터 완성된 프로그램을 만든 것이 아니라, 직접 사용하면서 불편한 부분을 발견할 때마다 조금씩 고쳐온 결과입니다. 아마 유튜브 채널을 계속 운영하는 동안 이 도구도 함께 바뀌어갈 것 같습니다.
앞으로 작업 방식을 크게 바꿀 만한 기능이나 주요 업그레이드가 생기면, 그 과정도 다시 기록해보겠습니다.
Rain on Porcelain에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.