본문으로 건너뛰기

목소리 한 번 학습시켜 영상 나레이션 만들기 — Fish Audio 세팅부터 영상에 얹기까지

· 약 12분
AI builder

영상에 나레이션을 넣을 때 제일 지치는 건 녹음 자체가 아니라 다시 녹음하는 일입니다. 한 문장 틀리면 앞부터 다시 하고, 톤이 안 맞으면 또 다시 하고요.

그래서 저희는 목소리를 한 번 학습시켜 두고, 그다음부터는 대본만 붙여넣어 쓰고 있습니다.

할 일은 두 가지입니다.

  1. 음성 만들기 — 목소리 고르고, 대본 넣고, 받기
  2. 영상에 얹기 — 편집툴에 끌어다 놓거나, AI 도구에 맡기기

TTS — 대본을 넣으면 음성이 나옵니다

TTS는 Text To Speech의 줄임말입니다. 글자를 소리로 바꿔줍니다. 대본을 넣으면 그걸 읽은 음성 파일이 나옵니다.

예전 TTS는 기계 목소리 티가 심하게 났습니다. "안-녕-하-세-요" 처럼 뚝뚝 끊기고 억양이 이상했죠. 지금은 그냥 사람이 읽은 것처럼 들립니다. 나레이션을 여기로 옮긴 것도 그래서입니다.

내 목소리를 학습시킨다는 건

30초쯤 녹음해서 올리면 그 목소리를 흉내 낸 음성이 만들어집니다. 이걸 목소리 클로닝이라고 부릅니다. 한 번 만들어두면 계속 씁니다.

30초쯤 마이크에 대고 말한 녹음이 화살표를 따라 목소리 프로필 카드로 저장되고, 그 카드에서 여러 영상으로 선이 뻗어 나가 같은 목소리가 계속 쓰이는 그림

채널 운영에 일관성을 주고 싶다면 목소리가 통일되는 게 좋습니다.

이 글은 내 목소리를 만드는 것부터 그 음성을 영상에 얹는 것까지 설명합니다.

Fish Audio를 쓰는 이유

TTS 서비스는 많습니다. 그중 Fish Audio를 쓰는 이유는 두 가지입니다.

  • 한국어가 자연스럽다 — 어색한 억양이 덜합니다
  • 싸다 — 뒤에 금액을 적었습니다

fish.audio에서 가입하면 바로 써볼 수 있습니다.


1부. Fish Audio에서 음성 만들기

시작 — 앱으로 들어가기

fish.audio 소개 페이지에서 오른쪽 위 앱 열기를 눌러주세요.

Fish Audio 소개 페이지. 상단 메뉴 오른쪽 끝의 '앱 열기' 버튼이 빨간 상자로 표시돼 있다

가입·로그인 후 왼쪽 탭에서 나의 목소리들로 들어가세요.

Fish Audio 앱 홈 화면. 왼쪽 메뉴에서 '나의 목소리들'·'텍스트 음성 변환'·'음성 만들기' 세 곳이 빨간 상자로 표시돼 있다

앞으로 쓸 메뉴는 표시한 이 셋입니다. 위에서부터 순서대로,

메뉴언제
나의 목소리들만들어둔 목소리를 확인하고 고를 때
텍스트 음성 변환대본을 넣고 음성을 뽑을 때
음성 만들기내 목소리를 학습시킬 때 (처음 한 번)

내 목소리 만들기

1. 왼쪽 탭에서 음성 만들기를 눌러주세요

만드는 방법 셋이 나옵니다. 즉시 음성 복제를 고르고 계속을 누르세요.

Fish Audio 음성 만들기 창. '즉시 음성 복제'·'음성 디자인'·'전문 음성 복제' 셋 중 '즉시 음성 복제'가 선택돼 빨간 상자로 표시돼 있고, 아래 '계속' 버튼도 빨간 상자로 표시돼 있다

나머지 둘은 자물쇠가 걸려 있습니다. 유료 플랜에서 열리는 기능이라 지금은 신경 쓰지 않아도 됩니다.

2. 녹음 또는 업로드를 누르세요

이미 녹음해둔 파일이 있으면 업로드, 지금 녹음할 거면 녹음입니다.

Fish Audio 즉시 음성 복제 화면. '오디오 파일을 녹음하거나 업로드하세요' 안내 아래 '업로드'와 '녹음' 버튼이 빨간 상자로 표시돼 있다. 그 아래에 10s 최소 · 30s 충분함 · 90s 업그레이드하기 눈금이 있다

10초가 최소, 30초면 충분합니다. 버튼 아래 눈금이 그 기준입니다.

3. 시작을 누르고 뜬 문장을 읽으세요

Fish Audio 즉시 음성 복제 녹음 화면. 읽을 예시 문장이 떠 있고 그 아래 '시작' 버튼이 빨간 상자로 표시돼 있다. 오른쪽 위에 '한국어' 선택과 '텍스트 셔플' 버튼이 있다

글자를 그대로 안 읽어도 됩니다. 화면 안내도 "편하게 바꿔 말하거나 추임새를 넣어도 좋아요. 자연스럽게만 읽어 주세요."라고 합니다. 문장이 마음에 안 들면 오른쪽 위 텍스트 셔플로 바꿉니다.

4. 다 읽었으면 중지를 누르세요

Fish Audio 녹음 중 화면. 읽을 문장 아래 '0:00/0:30' 타이머와 빨간 '중지' 버튼이 빨간 상자로 표시돼 있고, 오른쪽에 '너무 짧음' 경고 배지가 빨간 상자로 표시돼 있다

10초를 못 넘기면 「너무 짧음」이 뜹니다. 이럴 땐 한 번 더 녹음해서 보태면 됩니다. 여러 개를 올려도 길이가 합산됩니다.

5. 분석 시작을 누르세요

합이 10초를 넘으면 배지가 **「분석할 수 있어요」**로 바뀝니다.

Fish Audio 즉시 음성 복제 화면. '업로드됨: 18s' 옆에 초록색 '분석할 수 있어요' 배지가 빨간 상자로 표시돼 있고, 아래 '분석 시작' 버튼에도 빨간 상자가 표시돼 있다

6. 결과를 보고 세부 정보로 계속을 누르세요

파일마다 결과가 붙습니다. 통과면 그대로 쓰면 되고, 안내가 뜨면 뭐가 아쉬운지 알려줍니다.

Fish Audio 분석 결과 화면. 첫 파일에 초록색 '통과' 배지가 빨간 상자로 표시돼 있고, 둘째 파일에는 '안내' 배지와 함께 '말소리가 또렷하지 않을 수 있어요' 안내가 붙어 있다. 아래 '세부 정보로 계속' 버튼에 빨간 상자가 표시돼 있다

"말소리가 또렷하지 않을 수 있어요. 조금 더 또박또박 말하거나 배경 소음을 줄이면 도움이 될 수 있어요." — 이런 식입니다.

안내가 뜨면 다시 녹음하는 것이 좋지만, 수정 없이 다음 단계로 넘어갈 수도 있습니다.

7. 이름과 설명을 적으세요

성별·나이·용도·스타일 태그는 골라두면 나중에 목록에서 찾기 쉽습니다.

Fish Audio 음성 세부 정보 화면. Voice Name 입력칸이 빨간 상자로 표시돼 있고 아래에 Description, Gender, Age, Use cases, Voice Style을 고르는 칸이 있다

8. Type을 고르고 새로 만들기를 누르세요

아래로 내리면 Type과 체크박스가 있습니다.

Fish Audio 음성 세부 정보 화면 아래쪽. Type의 Public·Unlisted·Private 선택 영역이 빨간 상자로 표시돼 있고, 그 아래 '이 음성 모델을 생성하고 공유할 권한이 있음을 확인합니다 (필수)' 체크박스 영역에도 빨간 상자가 표시돼 있다

Type은 셋 중에 고릅니다. Public은 누구나 볼 수 있고, Unlisted는 링크를 아는 사람만, Private은 나만 씁니다.

마지막 체크박스는 필수입니다. "본인이 소유한 음성, 화자의 사용 동의를 받은 음성 또는 법적으로 공유가 허용된 음성만 생성하세요" — 남의 목소리를 함부로 올리지 말라는 뜻입니다.

기본값이 Public입니다

그대로 두면 내 목소리가 발견 페이지에 올라가고 누구나 쓸 수 있습니다.

내 채널에만 쓸 거면 **Private**으로 바꾸세요.

여기까지가 한 번만 하면 되는 일입니다. 이후로는 계속 그 목소리를 씁니다.

내 목소리 말고 기본 음성을 쓰고 싶다면

Fish Audio에서 미리 만들어둔 목소리가 있습니다. 남녀·나이·분위기별로 여러 개고, 녹음할 것 없이 고르면 바로 씁니다.

한국어는 조금 어색하더라고요. 다만 릴스처럼 짧은 영상이면 그런 맛으로 쓸 수도 있을 것 같습니다.

나의 목소리들로 가서 위쪽 기본 음성 탭을 누르면 목록이 나옵니다.

Fish Audio 나의 목소리들 페이지. 위쪽 탭 줄의 '기본 음성'이 빨간 상자로 표시돼 있고, 아래에 만들어둔 목소리 세 개가 카드로 놓여 있다

기본 음성으로도 다음 단계를 진행할 수 있습니다.

대본 넣고 음성 뽑기

1. 나의 목소리들에서 사용을 눌러주세요

만든 목소리에 마우스를 올리면 사용 버튼이 뜹니다.

Fish Audio 나의 목소리들 목록. '친근한 청년' 카드에 마우스를 올려 재생·공유 아이콘과 함께 나타난 '사용' 버튼이 빨간 상자로 표시돼 있다

누르면 텍스트 음성 변환 화면으로 넘어갑니다. 그 목소리가 이미 골라져 있습니다.

2. 대본을 붙여넣어주세요

Fish Audio 텍스트 음성 변환 화면. 가운데 대본 입력칸이 빨간 상자로 표시돼 있고 그 안에 문장이 들어가 있다. 왼쪽 위에는 선택된 목소리 '친근한 청년'이 보인다

한 번에 500자까지 들어갑니다. 남은 글자 수는 오른쪽 아래에 212 / 500자처럼 표시됩니다.

3. 모델속도를 확인해주세요

오른쪽 패널 두 곳입니다.

Fish Audio 텍스트 음성 변환 화면. 오른쪽 설정 패널의 '모델(Fish Audio S2.1 Pro 무료)'과 '오디오 컨트롤'의 '속도(1x)' 두 곳이 빨간 상자로 표시돼 있다

모델 — 왼쪽에서 고른 내 목소리와는 다른 항목입니다. 목소리는 누구 목소리로 읽을지, 모델은 그걸 읽어주는 엔진입니다. 2026년 9월 기준 S2.1 Pro가 최신이고 「무료」 배지가 붙어 있습니다. 나머지는 「레거시」라 고를 이유가 없습니다.

속도 — 기본은 1x입니다. 조금 빠르게 하면 훨씬 활기차게 들립니다. 같은 대본이라도 인상이 꽤 달라지니 1.1배부터 올려보세요.

4. 음성 생성을 누르고 내려받으세요

오른쪽 아래 음성 생성을 누르면 몇 초 만에 끝납니다.

음성 생성이 끝난 Fish Audio 화면. 아래쪽에 생성된 음성의 재생 바 두 개가 파형과 함께 나타나 있다

한 번 요청하면 샘플이 두 개 나옵니다. 들어보고 나은 쪽을 내려받으세요. 추가 비용은 없습니다.

웹에서 할 일은 여기까지입니다. 설치할 것도, 코드도 없습니다.

대본을 쓸 때 알아두면 좋은 것

숫자와 영어는 한글로 풀어 쓰세요. 기계가 읽는 거라 훨씬 안정적입니다.

이렇게 쓰면이렇게 읽습니다
13원십삼 원 — 그대로 읽는 경우도 있지만 흔들립니다
십삼 원안정적입니다
n8n엔에잇엔 / 엠파랜 등 제각각
엔에잇엔의도한 대로 읽습니다

문장도 짧게 끊으세요. 길면 중간 호흡이 이상해집니다.

얼마나 드나

2026년 9월 7일 기준 — 무료입니다

공식 안내는 2026년 8월 31일까지 무료였는데, 9월 7일 현재도 무료로 쓰이고 있습니다. 기간 한정 행사라 언제 끝날지 모릅니다.

무료 모델에는 조건이 붙습니다. "요청이 모델 품질 개선에 쓰일 수 있다"고 안내하고, 느려도 책임지지 않습니다. 연습은 무료로 하고, 중요한 건 유료로 쓰는 게 안전합니다.

유료로 쳐도 얼마 안 됩니다.

항목
단가$15 / 100만 UTF-8 bytes
한국어 1글자약 3 bytes
$1로한국어 약 22,000자

숏폼 하나 나레이션이 500 bytes 안팎이니, $1만 충전해두면 짧은 영상 100편 넘게 만듭니다.

1달러만 충전해보세요. 대시보드에서 금액을 직접 적습니다.

Fish Audio 대시보드의 API 크레딧 추가 창. 충전 금액을 입력하는 칸과 $10·$100·$500·$1000 빠른 금액 버튼이 있고, '$1에서 $10,000 사이의 금액을 입력하세요'라는 안내가 있다

매달 빠져나가는 게 아니라 충전해둔 만큼만 씁니다.

상업적으로 쓸 거면 약관을 먼저 보세요

음성 서비스는 플랜과 프로모션마다 상업적 이용 조건이 다릅니다. 특히 무료로 쓸 때와 유료로 쓸 때가 같지 않을 수 있습니다.

돈 버는 콘텐츠에 쓸 거면 공식 약관을 직접 보고 시작하세요. 여기서 대신 정리해드리기엔 바뀔 여지가 큽니다.


2부. 만든 음성을 영상에 얹기

방법은 두 가지입니다. 편집툴에 끌어다 놓거나, AI 도구에 맡기거나.

음성 파일 하나에서 화살표가 두 갈래로 갈라진다. 왼쪽은 편집툴 타임라인의 오디오 트랙에 음성 블록을 끌어다 놓는 모습, 오른쪽은 터미널에 말하면 음성 파일들이 순서대로 쌓이는 모습

편집툴을 쓰는 경우 — 다운받아서 얹으면 끝

CapCut, 프리미어, 파이널컷 다 똑같습니다.

  1. Fish Audio에서 음성을 내려받는다
  2. 편집툴 타임라인에 오디오 트랙으로 끌어다 놓는다
  3. 화면에 맞춰 위치를 맞춘다

새로 배울 게 없습니다. 녹음 파일 넣던 자리에 이 파일을 넣으면 됩니다.

문장별로 따로 뽑으면 편합니다

대본 전체를 한 번에 뽑으면 한 덩어리 파일이 나와서, 특정 문장만 고치고 싶을 때 전체를 다시 뽑아야 합니다.

문장 단위로 나눠서 뽑아두면 틀린 문장만 다시 만들어 갈아 끼울 수 있고, 화면 전환에 맞춰 간격을 조절하기도 쉽습니다.

AI 도구로 하는 경우 — API 키를 넣어두면 말로 시킬 수 있다

편마다 대본이 여러 개라면 붙여넣고 내려받고 이름 바꾸는 게 일이 됩니다. 이럴 땐 Claude Code나 Codex에게 시킵니다.

직접 스크립트를 짤 필요는 없습니다. 준비는 세 단계, 한 번만 하면 됩니다.

1. 왼쪽 탭 API 키 → 오른쪽 위 API 키 생성을 눌러주세요

이름을 적고 만료를 고른 다음 생성을 누릅니다.

Fish Audio API 키 페이지. 'API 키 생성' 창이 떠 있고 키 이름 입력칸과 만료 선택(절대로·7일·30일·90일), 생성 버튼이 있다. 뒤쪽 목록의 비밀 키는 sk-fish-****처럼 가려져 있다

이름에 어디에 쓸 키인지 적어두세요. 나중에 키가 여러 개가 되면 이게 유일한 단서입니다. 만료는 계속 쓸 거면 절대로로 둡니다.

생성하면 키가 적힌 창이 뜹니다. 바로 복사해서 .env에 붙여넣으세요.

API 키 저장 창. '이 키는 지금 한 번만 표시됩니다. 지금 복사하여 안전한 곳에 보관하세요. 나중에 다시 볼 수 없습니다'라는 안내와 함께 키 값이 표시돼 있다. 키 값은 가려져 있다

이 창을 닫으면 전체 키를 다시 볼 수 없습니다. 목록에는 sk-fish-****Xv6s처럼 앞뒤 몇 글자만 남습니다.

복사를 놓쳤다면

그 키는 지우고 새로 발급하면 됩니다.

2. 주소창에서 voice id를 복사해주세요

만들어둔 목소리로 텍스트 음성 변환 화면에 들어가면, 주소창 끝에 ?modelId=가 붙습니다.

Chrome 주소창 전체가 빨간 상자로 표시돼 있고, 'fish.audio/ko/app/text-to-speech/?modelId=' 뒤에 붙은 32자리 값에 노란 형광펜이 칠해져 있다

= 뒤에 붙은 32자리 값이 voice id입니다. 그대로 복사해두세요.

기본 음성을 쓸 거면 이 값은 비워둬도 됩니다.

3. .env 파일에 두 줄을 넣어주세요

.envAPI 키처럼 남에게 보이면 안 되는 값을 적어두는 파일입니다. 이름=값 한 줄씩이 전부입니다. 여기 적어두면 에이전트가 알아서 읽어 가서, 대화창에 키를 매번 붙여넣지 않아도 됩니다.

작업 폴더에 .env 파일을 만들고 이렇게 적습니다.

FISH_AUDIO_API_KEY=발급받은_키
FISH_AUDIO_VOICE_ID=만들어둔_목소리_id
파일 만드는 게 막막하면 그것도 AI에게 시키세요

쓰고 있는 AI에게 이렇게 말하면 됩니다.

.env 파일에 피쉬오디오 API 키랑 voice id 적을 자리 만들어주고, 그 파일 열어줘.

파일이 열리면 = 뒤에 아까 복사해둔 값을 붙여넣고 저장하면(Cmd/Ctrl + S) 끝입니다.

편집기에 열린 .env 파일. FISH_AUDIO_API_KEY와 FISH_AUDIO_VOICE_ID 두 줄이 있고, = 뒤에는 '발급받은_키', '만들어둔_목소리_id'라고 자리만 잡혀 있다

파일이 .env.example이라는 이름으로 열렸다면, 값을 채운 뒤 이름에서 .example을 지워주세요.

.env는 .gitignore에 넣어주세요

.gitignore깃에 올리지 않을 파일 목록입니다. 여기에 .env 한 줄을 적어두면 실수로 키가 올라가는 일이 없습니다.

이것도 AI에게 시키면 됩니다 — ".env.gitignore에 추가해줘."

API 키가 노출되면 다른 사람이 내 크레딧을 쓸 수 있으니 조심하세요.

4. 이제 말로 시키면 됩니다

대본을 그대로 붙여넣고 이렇게 말합니다.

아래 대본을 문장 단위로 나눠서 Fish Audio API로 음성 만들어줘. 키는 .env에 있어. 음성 엔진은 s2.1-pro-free로 하고, 문장마다 파일 하나씩 01.mp3, 02.mp3 순서로 저장해줘.

(여기에 대본 붙여넣기)

문장을 나누는 것도 AI가 합니다. 미리 파일로 정리해둘 필요 없습니다.

s2.1-pro-free는 현재 무료입니다 (9.7 기준)

테스트해보았는데 크레딧이 차감되지 않았습니다. 대신 앞에서 말한 것처럼 요청이 품질 개선에 쓰일 수 있고, 속도가 느릴 수 있습니다.

품질 개선에 쓰이는 것을 원하지 않고 속도가 중요하다면 -free를 뗀 s2.1-pro 모델을 사용하세요.

나머지는 에이전트가 합니다. API 호출 코드를 짜고, 실행하고, mp3 파일까지 만들어 놓습니다. JSON 형식을 내가 정할 필요도, 그 코드를 읽을 필요도 없습니다.

대본을 고쳤을 때도 같습니다. "3번 문장만 다시 뽑아줘"라고 하면 그 파일만 새로 나옵니다.

영상 편집도 같은 방식으로 넘길 수 있습니다. 나레이션 파일이 폴더에 순서대로 쌓여 있으면 "이 음성들에 맞춰 자막 붙이고 영상 붙여줘"까지 시킬 수 있습니다. (추후 음성 타이밍에 자막 또는 컷을 붙이는 방법도 설명드리겠습니다)

평소 영상을 편집툴로 만들면 편집툴로, AI에게 맡기고 있으면 API로 하시면 됩니다. 나오는 음성 파일은 똑같아서 나중에 바꿔도 됩니다.

되는 것과 아쉬운 것

설명하는 톤은 충분합니다. 나레이션, 강의, 숏폼처럼 차분히 읽어주는 영상이면 티가 잘 안 납니다. 이 글에 쓴 방식으로 저희 영상 나레이션을 만들고 있습니다.

감정 연기는 아직 아쉽습니다. Fish Audio에는 [excited] 같은 감정 태그가 있는데, 문장에 붙여봐도 톤이 거의 안 바뀌었습니다. 웃거나 울거나 화내는 연기가 필요한 영상이면 직접 녹음하는 게 낫습니다.

대신 속도는 조절됩니다. 앞의 「대본 넣고 음성 뽑기」에서 다뤘습니다.

왼쪽 초록 체크 칸에는 차분히 설명하는 영상과 고른 파형이, 오른쪽 빨간 X 칸에는 웃고 울고 화내는 표정 카드와 변화 없는 평평한 파형, 그리고 마이크가 있다. 아래에는 속도 조절 슬라이더에 초록 체크가 붙어 있다

한 번 세팅하면 계속 씁니다

정리하면 이렇습니다.

  1. 목소리를 한 번 만든다 (선택)
  2. 대본을 붙여넣는다
  3. 음성이 나온다
  4. 편집툴에 끌어다 놓거나, 에이전트에게 맡긴다

1번은 처음에 한 번만 하고, 그다음부터는 2~4번만 반복합니다. 영상을 만들 때마다 마이크 앞에 앉지 않아도 되고, 틀렸다고 처음부터 다시 할 일도 없습니다.

음성이 준비되면 그다음은 자막입니다. 자막 타이밍을 손으로 맞추지 않는 방법은 다음 글에서 다루겠습니다.