자동화2026년 9월 3일· 23분 읽기
유튜브 쇼츠 자동화, 직접 만드는 법
주제 한 줄로 영상 클립, 목소리, 자막이 들어간 캡컷 파일을 만드는 프로그램을 설계도 복사로 AI에게 만들게 하는 법이에요. 필요한 구독과 비용도 정리했어요.
이게 뭔가요
주제를 한 줄 적으면, 편집이 거의 끝난 쇼츠가 완성된 캡컷 파일이 나오는 프로그램입니다.
바로 결과물로 뽑아내는 것보다 품질유지를 위해 최종적으로 사람이 컨펌하고 올리는게 핵심입니다.
제가 실제로 테스트해봤고 1주일동안 구독자가 200명 + 조회수 수십만을 찍었습니다.
영상 클립도 들어가 있고, 목소리도 깔려 있고, 자막과 제목도 이미 얹혀 있습니다.
캡컷을 열어서 마무리만 하면 됩니다.
"쇼츠 자동화 강의"를 살 필요가 없도록, 제가 쓰는 방식을 통째로 공개합니다.
코딩 몰라도 만들 수 있나요
네. 직접 타이핑할 코드는 없습니다.
이 페이지 아래에 설계도가 있습니다. 그걸 복사해서 AI에게 붙여넣으면 AI가 대신 만들어 줍니다.
여러분이 할 일은 복사, 붙여넣기, 그리고 몇 가지 질문에 답하는 것뿐입니다.
궁금한 것 | 답 |
|---|---|
얼마나 걸리나요 | 처음 세팅에 1~2시간, 익숙해지면 30분 |
유료 구독이 필요한가요 | 네. 아래 꼭 읽어주세요 |
컴퓨터 사양은요 | 일반 노트북이면 충분합니다 |
맥에서도 되나요 | 됩니다 |
⚠️ 먼저 확인하세요: AI 유료 구독이 있어야 합니다
이 프로그램은 AI가 대신 만들어 주는 방식입니다.
그래서 클로드(Claude)나 챗지피티(ChatGPT) 유료 구독이 하나는 있어야 시작할 수 있습니다.
가장 낮은 요금제로도 충분합니다. 비싼 상위 플랜은 필요 없습니다.
이 가이드는 클로드 코드(Claude Code) 기준으로 썼습니다. 클로드 유료 구독에 포함되어 있습니다.
챗지피티 쪽 코딩 도구를 쓰셔도 됩니다. 아래 설계도는 어느 쪽에 붙여넣어도 동작합니다.
무료 계정으로는 대화량 제한 때문에 중간에 끊깁니다. 여기서 막히면 나머지가 다 소용없으니, 이것부터 확인하고 시작하세요.
요금은 각 서비스 공식 페이지에서 확인하시면 됩니다.
비용은 두 가지입니다
항목 | 설명 |
|---|---|
AI 구독료 | 위에 적은 클로드 또는 챗지피티 월 구독 |
서비스 사용료 | 영상 모으기(Apify), 영상 분석(AI)에 쓰는 만큼 |
목소리(Fish Audio)는 8월까지 무료라 지금은 여기에 돈이 안 듭니다.
자세한 비용 감각은 아래 돈은 얼마나 드나요 에 정리해 뒀습니다.
0. 시작 전 준비물
만들기 전에 이것부터 준비하세요.
① Fish Audio 계정 (목소리 만드는 곳)
가장 먼저 만드세요. 영상에 들어갈 목소리를 만들어 주는 서비스입니다.
지금 개발자에게 무료로 열려 있습니다 (8월까지).
쓸 수 있는 양에 상한이 없어서, 마음에 들 때까지 목소리를 몇 번이고 다시 뽑아볼 수 있습니다.
처음 만들어 보는 단계에서는 이게 제일 중요합니다.
가입하고 나면 fish.audio/app/api-keys 에서 API 키를 하나 받아 두세요.
💡 API 키가 뭔가요?
내 프로그램이 그 서비스를 쓸 수 있게 해주는 비밀번호 같은 것입니다.
복사해서 메모장에 붙여 두었다가 나중에 쓰면 됩니다.
📌 1주년 프로모션 (2026년 7월 31일 기준)
· 크리에이터 플랜 50% 할인: 8월 24일까지
· S2.1 Pro 크레딧 무소진 사용: 8월 7일까지
두 혜택은 대상과 기간이 다릅니다. 보시는 시점에 따라 끝났을 수 있으니 요금 페이지에서 확인
② Apify 계정 (영상 모으는 곳)
틱톡과 도우인에서 참고할 영상을 자동으로 긁어오는 서비스입니다.
직접 만들면 사이트 구조가 바뀔 때마다 고쳐야 해서, 이건 남의 것을 쓰는 게 낫습니다.
apify.com 에 가입합니다
Settings → API & Integrations에서 Personal API token 을 복사해 둡니다
요금: 검색어 하나당 처음 10~20건은 무료입니다. 그 뒤로는 쓴 만큼 소액이 붙습니다.
처음에는 검색어 5개 × 15건 정도로 시작하면 무료 범위 안에서 돌려볼 수 있습니다.
③ 나머지 준비물
무엇 | 왜 필요한가 | 어디서 |
|---|---|---|
파이썬(Python) | 프로그램이 돌아가는 바탕 | python.org (설치할 때 |
ffmpeg | 소리 길이 재고, 조용한 부분 잘라내기 | 설치도 AI에게 시키면 됩니다 |
캡컷 PC 버전 | 최종 편집 | capcut.com (모바일 앱 말고 PC용) |
영상 분석용 AI 키 | 영상을 직접 보고 좋은 구간 찾기 | Gemini 가장 추천 |
내 채널 캡컷 쇼츠 템플릿 | 캡컷에서 내 채널에서 계~속 쓸 템플릿 1개를 만듭니다. 그냥 수동으로 내가 직접 한번 만들면 됩니다. | 캡컷 PC용 |
④ 받은 키들은 .env 파일 하나에 모아두세요
프로그램은 이 파일에서 키를 읽어 갑니다. 파일은 AI가 만들어 주고, 여러분은 값만 채우면 됩니다.
꼭 채워야 하는 것 4개
이름 | 무엇 | 어디서 받나 |
|---|---|---|
| 틱톡·도우인 영상 모으기 | apify.com → Settings → API & Integrations |
| 영상 분석, 대본 쓰기 | |
| 목소리 만들기 | fish.audio/app/api-keys |
| 어떤 목소리를 쓸지 | fish.audio 에서 쓸 목소리 페이지 주소 끝의 아이디 |
안 채워도 되는 것 (기본값으로 돌아갑니다)
이름 | 기본값 | 언제 바꾸나 |
|---|---|---|
|
| 다른 음성 모델을 써보고 싶을 때 |
|
| 말 속도 조절 (0.5 ~ 2.0). 광고나 정보 영상은 1.0 유지 권장 |
|
| 나중에 다른 음성 엔진으로 갈아끼울 때 |
| 자동 탐색 | 쓰고 싶은 캡컷 템플릿 폴더를 직접 지정할 때 |
완성된 .env 모습
# 영상 모으기
APIFY_TOKEN=
# 영상 분석 · 대본
GEMINI_API_KEY=
# 목소리
TTS_PROVIDER=fish
FISH_API_KEY=
FISH_VOICE_ID=
FISH_MODEL=s2.1-pro
FISH_SPEED=1.0
# 캡컷 템플릿 폴더 (비워두면 알아서 찾습니다)
CAPCUT_TEMPLATE=💡
=앞뒤에 띄어쓰기를 넣지 마세요. 따옴표도 붙이지 마세요.FISH_API_KEY = "abc"(✗) /FISH_API_KEY=abc(○)
🔒 이 파일은 절대 남에게 보내지 마세요. 결제와 연결된 비밀번호입니다.
화면 녹화하실 때 키가 찍히지 않게 가리는 것도 잊지 마세요.
⚡ 바로 만들기
이렇게 하세요
1단계. 클로드 코드 데스크탑 앱을 설치하고 로그인합니다.
AI에게 말을 걸면 대신 프로그램을 만들어 주는 도구입니다.
2단계. 아무 데나 빈 폴더를 하나 만드세요. (예: 바탕화면에 쇼츠자동화)
그리고 클로드 코드에서 그 폴더를 엽니다.
3단계. 아래 회색 상자 오른쪽 위의 복사 버튼을 눌러 전체를 복사합니다.
클로드 코드 대화창에 붙여넣고 엔터를 치세요.
4단계. 중간에 질문이 오면 답해 주세요.
어떤 주제로 채널을 할 건지, 말투는 어떤 느낌이 좋은지 물어봅니다.
5단계. 다 만들어지면 .env 파일에 아까 받은 키들을 채웁니다.
그리고 AI에게 "대시보드 실행해줘" 라고 하면 브라우저에 화면이 뜹니다.
💡 한 번에 다 안 될 수도 있습니다. 정상입니다.
빨간 글씨가 뜨면 그 내용을 통째로 복사해서 클로드 코드에 붙여넣으세요.
"이런 에러가 났어" 한마디만 덧붙이면 알아서 고칩니다.
아래 설계도에 뭐가 들어 있나요
붙여넣을 내용이 좀 깁니다. 이런 것들이 적혀 있습니다.
내용 | 쉽게 말하면 |
|---|---|
목표와 만들 파일 | 뭘 만들 건지, 파일을 몇 개로 나눌지 |
영상 수집 | 틱톡·도우인에서 참고할 영상 긁어오기 |
영상 분석 | AI가 영상을 직접 보고 좋은 구간 찾기 |
대본 만들기 | 주제로 대본과 자막 쓰기 |
목소리 만들기 | Fish Audio로 내레이션 뽑기 |
캡컷 파일 조립 | 영상·자막·목소리를 캡컷 파일로 합치기 |
화면 만들기 | 버튼 눌러서 쓰는 웹 화면 |
미리 알려주는 함정들 | 제가 실제로 막혔던 것들. 이게 있어야 AI가 안 헤맵니다 |
읽어보지 않으셔도 됩니다. AI가 읽을 내용이니까요. 복사만 하세요.
복사할 설계도
아래 명세대로 "유튜브 쇼츠 자동화" 프로그램을 만들어줘.
나는 개발자가 아니니까, 필요한 환경 설치부터 도와주고 진행 상황을 쉬운 말로 설명해줘.
시작하기 전에 내 채널 주제와 말투를 물어보고, 그걸 프롬프트에 반영해줘.
# 목표
주제 한 줄을 입력하면 캡컷(CapCut) 프로젝트 파일이 나온다.
영상 컷, 보이스오버, 자막, 제목이 이미 배치된 상태여야 한다.
사람은 (1) 어떤 영상을 쓸지 고르는 것과 (2) 대본 검수만 한다.
# 기술 제약
- Python 3.10+, 외부 프레임워크 최소화. 웹 GUI 는 Flask.
- 각 단계 산출물을 JSON 파일로 저장한다(candidates.json -> analyzed.json -> 드래프트).
중간에 실패해도 앞 단계를 다시 돌리지 않기 위해서다. 분석은 비용이 드는 단계라 특히 중요하다.
- 모든 키는 .env 에서 읽는다. python-dotenv 없이 직접 파싱하는 env_boot.py 를 만들 것.
이미 환경변수에 있으면 덮어쓰지 말고, 값의 앞뒤 따옴표는 벗겨낼 것.
- env_boot.py 에서 sys.stdout/stderr 를 UTF-8 로 강제할 것.
(윈도우 기본 콘솔이 cp949 라 중국어 키워드나 이모지를 출력할 때 UnicodeEncodeError 로 죽는다)
# 환경변수 (.env)
필수:
APIFY_TOKEN 영상 수집
GEMINI_API_KEY 영상 분석 + 텍스트 생성 (google-genai SDK 가 환경변수에서 자동으로 읽는다)
FISH_API_KEY 보이스오버
FISH_VOICE_ID 보이스 모델 id
선택(기본값 있음):
TTS_PROVIDER 기본 fish. 엔진 교체용 스위치
FISH_MODEL 기본 s2.1-pro
FISH_SPEED 기본 1.0 (배속은 올리지 말 것)
CAPCUT_TEMPLATE 캡컷 템플릿 드래프트 폴더. 비면 자동 탐색
GEMINI_TEXT_MODEL 텍스트 모델 교체용
.env.example 에는 위 항목을 값 없이 주석과 함께 넣어둘 것.
.gitignore 에 .env 를 반드시 추가할 것.
# 만들 파일
env_boot.py .env 로더 + stdout UTF-8 강제
llm.py 텍스트 생성 공용 헬퍼
collect.py 틱톡/도우인 수집 + 1차 필터
analyze.py 영상 분석(멀티모달 LLM)
translate.py 영상 설명 한국어 번역 + 캐시
gen_script.py 주제 -> 대본/자막/샷리스트
tts_fish.py Fish Audio 보이스오버
build_draft.py 캡컷 드래프트 조립
dashboard.py 로컬 웹 GUI (포트 8001)
requirements.txt, .env.example
# 1. 수집 (collect.py)
- Apify 를 쓴다. apify-client 패키지, 토큰은 .env 의 APIFY_TOKEN.
틱톡 : apidojo/tiktok-scraper
run_input = {"keywords": [...], "maxItems": N, "sortType": "RELEVANCE"}
도우인: zen-studio/douyin-search-scraper
run_input = {"keywords": [...], "maxResultsPerQuery": N,
"sort": "general", "shouldDownloadVideos": True}
shouldDownloadVideos 를 켜야 Apify 저장소에 mp4 가 올라가고 그 주소로 받을 수 있다.
플랫폼마다 응답 구조가 다르니 정규화 함수를 따로 두고 공통 스키마로 맞춘다:
platform, id, url, download_url, duration, play_count, digg_count,
author, desc, desc_language, thumbnail, hashtags
- 토픽 -> 플랫폼별 검색 키워드 자동 생성. 도우인은 중국어, 틱톡은 영어+중국어.
한국어 키워드는 절대 만들지 마라. 국내에 안 퍼진 해외 소재를 노리는 게 목적이다.
- 받은 영상 목록에 아래 1차 필터를 적용한다.
한국 영상 제외 (설명/해시태그에 한글이 있거나 언어코드가 ko 면 버림)
최소 조회수 (기본 30000)
영상 길이 4~300초
다운로드 URL 없으면 제외
중복 id 제거
- CLI 옵션: --platform --keywords --topic --per-keyword --min-plays --append --out
- 진행률을 "@@PROGRESS done/total 라벨@@" 형식으로 stdout 에 출력할 것(대시보드가 파싱).
- 함정: 도우인은 playCount 가 0 으로 오는 경우가 많다. 좋아요 수로 대체해서 정렬할 것.
모르고 조회수 기준을 그대로 적용하면 후보가 0건이 된다.
# 2. 분석 (analyze.py)
- 후보 영상을 다운로드해서 멀티모달 LLM 에 그대로 업로드하고 영상을 직접 보게 한다.
썸네일이나 설명만으로는 판단이 안 된다.
- 받아야 할 JSON:
score 토픽 적합도 0~10
talk_score 사람이 말로 설명하는 정도 0~10
win_start 핵심 구간 시작(초)
win_end 핵심 구간 끝(초)
analysis_desc 그 구간에서 실제로 일어나는 일 한 문장
beats [{"t": 초, "event": "그 순간 화면 동작"}] 8~15개, 시간순
label 8자 이내 짧은 한국어 라벨
- 결과에 local_path(내려받은 mp4 경로)를 반드시 포함할 것. 나중에 영상 트랙에 쓴다.
- 기존 결과와 병합 가능하게 하고, --select 로 고른 id 만 분석하게 할 것.
# 3. 번역 (translate.py)
- 수집된 영상 설명(영어/중국어/일본어)을 한국어 40자 이내로 요약 번역한다.
- 해시태그와 이모지는 빼고 내용만.
- 번역 결과를 파일 캐시에 저장해서 같은 문장을 두 번 부르지 않게 할 것.
# 4. 대본 생성 (gen_script.py)
- 입력: {"topic", "note", "refs"}
refs 는 검토에서 고른 분석 결과 [{"desc", "beats"}] 상위 3개까지.
- 출력 JSON: title, hook_caption, tts_script, captions, shots, edit_plan, ig_caption
edit_plan 각 항목은 {"time": "0-3s", "cut", "caption", "broll", "bgm"}
captions 는 각 14자 이내
- 프롬프트에 반드시 넣을 것:
"refs 는 구조만 참고한다. 어떤 순서로 보여줘야 안 지루한지, 어디서 결과를 터뜨리는지만 빌린다.
소재와 대사와 자막을 그대로 가져오지 마라. 내용은 topic 에 맞게 새로 쓴다."
이 문장이 없으면 레퍼런스를 그대로 베낀다. 저작권 문제로 직결된다.
- max_tokens 는 6000 이상. 2800 이면 해시태그를 쓰다가 잘려서 JSON 이 깨진다(실측).
# 5. 보이스오버 (tts_fish.py)
Fish Audio S2.1 Pro 를 쓴다. 지금 가장 자연스러운 TTS다. SDK 없이 REST 로 직접 호출한다.
POST <https://api.fish.audio/v1/tts>
헤더:
Authorization: Bearer <FISH_API_KEY>
Content-Type: application/json
model: s2.1-pro-free
본문(JSON):
text 합성할 문장
reference_id 보이스 모델 id (.env 의 FISH_VOICE_ID)
format "mp3"
mp3_bitrate 128
chunk_length 300
normalize true
latency "normal"
prosody {"speed": 1.0}
응답: mp3 바이트 그대로
감정 태그를 지원한다. 대괄호 안에 톤을 적으면 그 뒤에 오는 문장부터 적용된다(위치가 중요).
[emphasis] 여기서부터 힘이 들어갑니다.
[sighing][emphasis] 겹쳐 쓰면 층이 생긴다.
[the calm, measured tone of someone who has done this a thousand times] 서술형도 된다.
주의: [whisper] 와 [whispering] 은 불안정하니 쓰지 마라. [sighing] 이나 [emphasis] 로 대체.
따라서 tts_script 를 Fish 로 보낼 때 대괄호 태그를 지우지 말 것. 그대로 넘겨야 한다.
구현 시:
- 대본 해시를 키로 mp3 를 캐시할 것. 대본을 안 고쳤으면 재합성하지 않는다.
캐시 키에 voice, model, speed, nonce 를 포함할 것(nonce 는 재생성용).
- duration(path) 은 ffprobe 로 포맷 기준 길이를 잰다.
- .env 에 TTS_PROVIDER 를 두고 나중에 다른 엔진으로 갈아끼울 수 있게 파사드(tts.py)를 둘 것.
# 6. 캡컷 드래프트 조립 (build_draft.py) - 가장 까다로운 부분
캡컷 프로젝트는 결국 JSON 파일이다. 템플릿 드래프트 폴더를 복사한 뒤 draft_content.json 을 코드로 다시 쓴다.
조립 순서(순서가 중요하다):
1) 템플릿 드래프트 폴더를 통째로 복사
2) 자막 트랙 생성 <- 템플릿의 텍스트 스타일을 복제해야 하므로 반드시 가장 먼저
3) 제목 트랙 생성 <- 주제 제목을 0초부터 끝까지 한 장으로
4) 템플릿 잔재 제거 (남의 영상/자막/음악 트랙)
5) 영상 트랙에 클립 배치 (분석에서 얻은 win_start 부터 잘라서)
6) 오디오 트랙에 보이스오버
7) 전체 duration 갱신, 폰트 통일, 저장
반드시 지킬 것:
- 캡컷 세그먼트는 speed, canvas 등 부속 머티리얼을 여럿 참조한다. 맨손으로 만들지 말고
기존 세그먼트를 복제해서 쓴다. 부속 머티리얼은 세그먼트마다 새 id 로 복제해야 한다.
재사용하면 캡컷이 인식하지 못한다.
- 템플릿 영상 트랙이 비어 있으면 복제할 골격이 없다. 영상이 들어 있는 다른 드래프트에서 빌려올 것.
- draft_meta_info.json 의 draft_materials 를 정리할 것. 안 지우면 템플릿에 있던 남의 mp4 가
미디어 패널에 그대로 뜨고, 파일이 없으면 "미디어 분실"로 표시된다.
반대로 우리가 쓰는 파일을 여기 등록하지 않으면 타임라인에는 있는데 미디어 목록에는 안 보인다.
- 자막 한 장은 14자 이내. 템플릿 기본 글자 크기는 짧은 라벨 기준이라 문장을 넣으면 양옆이 잘린다.
넘으면 여러 장으로 쪼개서 그 구간 안에 순서대로 배치한다. 한 장은 최소 0.7초 노출.
- 자막 내용은 tts_script 를 받아쓴 것이어야 한다. 키워드 자막만 넣으면 말과 자막이 따로 논다.
문장부호(. , ! ? ...) 기준으로 쪼개고 글자 수 비례로 시간을 배분한다.
TTS 는 말 속도가 일정해서 이 방식이 실제 발화와 잘 맞는다.
자막에는 감정 태그가 나가면 안 되니 대괄호는 제거할 것.
- 자막/제목의 크기와 색과 세로 위치는 템플릿에서 읽어와 그대로 계승할 것.
코드가 값을 강제하면 템플릿 디자인이 무시된다.
- 보이스오버의 늘어지는 무음은 ffmpeg silenceremove 로 잘라낸다. 여백 0.25초는 남길 것.
배속(speed)은 올리지 마라. 음성이 로봇처럼 들린다.
- 캡컷 Drafts 경로와 템플릿 경로를 하드코딩하지 마라. OS별로 추정하고 .env 로 덮어쓸 수 있게 할 것.
윈도우: %LOCALAPPDATA%/CapCut/User Data/Projects/com.lveditor.draft
맥: ~/Movies/CapCut/User Data/Projects/com.lveditor.draft
# 7. 대시보드 (dashboard.py)
Flask 로컬 웹 GUI. 포트 8001. 패널 순서:
0 레퍼런스 리서치: 플랫폼 선택 -> 토픽 -> 키워드 생성 -> 검수 -> 수집
0-1 1차 선별: 썸네일 격자에서 분석할 것만 클릭 (번역된 설명 표시)
0-2 레퍼런스 검토: 점수/구간/beats 확인하고 쓸 클립 선택
1 주제 입력 -> 스크립트 생성
2 보이스오버: 듣기 / 다시 생성 / 다운로드
3 기획 패키지 확인
4 내보내기: 에셋 저장 + 캡컷 드래프트 생성
구현 시:
- 수집/분석은 subprocess 로 돌리고 "@@PROGRESS" 마커를 파싱해 진행바를 그린다.
하위 프로세스 env 에 PYTHONUTF8=1, PYTHONIOENCODING=utf-8 을 넣을 것.
- 진행바와 로그는 방금 누른 버튼 바로 아래에 붙일 것.
- 작업 중 폴링할 때 목록을 매번 다시 그리지 마라. 목록이 바뀐 경우에만 다시 그리고,
선택 토글은 서버 재조회 없이 클래스만 바꾼다. 안 그러면 클릭이 리렌더에 씹힌다.
- 분석 시작 시 이전 분석 결과를 지우고 시작할 것(안 그러면 결과가 섞인다).
- 추천 주제 100개를 topics.json 에 카테고리별로 넣고 드롭다운으로 고르게 할 것.
- UI 는 밝은 톤(토스 스타일). 카드는 그림자와 둥근 모서리, 버튼은 크게.
# 8. 공통 함정 (미리 알고 시작할 것)
- LLM 이 JSON 뒤에 잡소리를 붙인다. response_mime_type 을 걸어도 가끔 그런다.
json.loads 가 "Extra data" 로 터지면서 그 건이 통째로 날아간다.
해결: 첫 JSON 값만 읽는다.
i = t.find("{"); obj, _ = json.JSONDecoder().raw_decode(t[i:])
응답이 중간에 잘리는 경우까지 대비하려면 안전한 지점들을 기록해두고
뒤에서부터 되짚어가며 파싱되는 곳을 찾는다. 그래도 안 되면 정규식으로 항목만 긁어낸다.
- 배치 요청은 12개 이하로 쪼갤 것. 많이 넣을수록 모델이 뒤에 군더더기를 붙인다.
- 파일 경로에 한글과 공백이 있다. 항상 절대경로로 다루고 인코딩을 명시할 것.
# 9. 구현 순서
1) env_boot + llm 헬퍼
2) gen_script (주제 -> 대본)
3) tts_fish + 캐시 <- 여기까지만 해도 쓸 만하다
4) collect + 1차 필터
5) analyze
6) dashboard
7) build_draft <- 가장 어렵다. 마지막에.
각 단계가 끝날 때마다 실제로 돌려서 결과를 보여주고, 내 확인을 받은 뒤 다음으로 넘어가줘.
# 10. 완료 기준
- 대시보드에서 주제를 넣으면 대본과 보이스오버가 나온다.
- 내보내기를 누르면 캡컷 Drafts 폴더에 프로젝트가 생성된다.
- 캡컷을 재시작하면 그 프로젝트가 목록에 뜨고, 열었을 때
영상 트랙에 클립이, 자막 트랙에 대본 받아쓰기가, 오디오 트랙에 보이스오버가 들어 있다.
- 미디어 패널에 "미디어 분실"이 없다.⚠️ 이건 뼈대만 만들어 줍니다.
주제, 말투, 자막 스타일, 캡컷 디자인은 만들어진 다음에 AI와 대화하면서 본인 채널에 맞게 고치세요.
거기서 채널 색깔이 나옵니다. 그대로 쓰면 남들과 똑같은 채널이 됩니다.
📖 어떻게 돌아가는지 (읽어보고 싶으신 분만)
여기부터는 왜 그렇게 만들었는지 설명입니다.
바로 만들어 보실 거면 주의사항으로 건너뛰셔도 됩니다.
전체 흐름
[주제 한 줄]
│
├─ 1. 검색어 자동 만들기 AI가 대신 씀
│ 한국어 검색어는 일부러 안 만듦
│
├─ 2. 참고 영상 모으기 틱톡 · 도우인
│
├─ 3. 쓸 만한 것 고르기 사람이 클릭
│
├─ 4. 영상 분석 AI가 영상을 직접 봄
│
├─ 5. 대본 · 자막 쓰기 AI
│
├─ 6. 목소리 만들기 Fish Audio S2.1 Pro
│
└─ 7. 캡컷 파일 조립 직접 만든 부분사람이 손대는 건 딱 두 번입니다. 3번(어떤 영상 쓸지)과 5번 다음(대본 확인).
나머지는 버튼 한 번입니다.
왜 파일을 여러 개로 나누나
한 파일에 다 넣으면 나중에 고치기가 지옥이 됩니다.
그리고 더 중요한 이유가 있습니다. 각 단계의 결과를 파일로 저장해 두면, 중간에 실패해도 앞 단계를 다시 안 돌려도 됩니다.
영상 분석은 돈이 드는 단계라 이게 특히 중요합니다.
왜 틱톡·도우인인가
한국에서 터지는 쇼츠 포맷은 대체로 도우인(중국) → 틱톡 → 한국 순서로 넘어옵니다.
아직 국내에 안 들어온 포맷을 먼저 가져오는 게 핵심입니다.
그래서 영상을 모을 때 한국어 영상은 일부러 걸러냅니다. 저작권 문제가 있을 수 있어요.
⚠️ 도우인 함정 하나
도우인은 조회수가 0으로 넘어오는 경우가 많습니다. 좋아요 수로 대신 봐야 합니다.
모르고 "조회수 3만 이상"으로 걸러 버리면 결과가 한 건도 안 나옵니다.
영상 분석이 왜 필요한가
썸네일이랑 설명만 봐서는 그 영상이 쓸 만한지 알 수 없습니다.
그래서 AI에게 영상 파일을 통째로 올려서 직접 보게 합니다.
이런 걸 받아옵니다.
받는 것 | 어디에 쓰나 |
|---|---|
점수 | 정렬하고 고르는 기준 |
좋은 구간 (몇 초부터 몇 초까지) | 영상 전체가 아니라 이 부분만 씁니다 |
장면별 동작 기록 | 자막 타이밍의 근거 |
말하는 영상인지 | 어떤 포맷으로 만들지 결정 |
대본 쓸 때 꼭 넣어야 하는 한 문장
참고 영상 정보를 AI에게 같이 넘기는데, 이 문장이 없으면 그대로 베껴 씁니다.
"참고 영상은 구조만 본다. 어떤 순서로 보여줘야 안 지루한지, 어디서 결과를 터뜨리는지만 빌린다.
소재와 대사와 자막을 그대로 가져오지 마라."
저작권 문제로 바로 이어지는 부분이라 꼭 넣으세요.
목소리
Fish Audio S2.1 Pro를 씁니다. 지금 가장 자연스러운 TTS입니다.
붙이는 것도 어렵지 않습니다. 별도 프로그램 설치 없이, 정해진 주소로 문장을 보내면 mp3가 돌아옵니다.
보내는 곳: <https://api.fish.audio/v1/tts>
쓸 모델: s2.1-pro-free
같이 보낼 것: 문장, 목소리 아이디, 파일 형식(mp3), 말 속도항목 | 값 |
|---|---|
지원 언어 | 83개 (모델 하나로, 언어별 추가 요금 없음) |
사용량 상한 | 없음 (공정 사용 정책) |
블라인드 평가 | 종합 1위 (점수 3.07, 2위의 약 1.7배) |
첫 소리까지 걸리는 시간 | 약 90밀리초 |
이전 버전과 비교 | 듣고 고르게 했을 때 61% 승 |
목소리 복제 | 무료 사용 범위에 포함 |
위 수치는 Fish Audio가 공개한 자체 측정치입니다.
붙일 때 알아두면 좋은 것
한 번 만든 소리는 저장해 두세요. 대본을 안 고쳤으면 다시 만들 필요가 없습니다.
미리 들어본 소리를 나중에 그대로 쓰니 시간도 비용도 아낍니다.
문장 사이 늘어지는 부분은 잘라내세요. ffmpeg 명령 한 줄이면 됩니다.
0.25초 정도 여백은 남겨야 자연스럽습니다. 말 속도를 빠르게 올리지는 마세요. 로봇처럼 들립니다.
요금 관련
S2.1 Pro는 8월까지 개발자에게 무료입니다. 쓸 수 있는 양에 상한이 없어서, 만들어 보고 돌려보는 데 부담이 없습니다.
기본 무료 범위는 이렇습니다.
항목 | 무료 범위 |
|---|---|
월 크레딧 | 8,000 (약 7분 분량) |
한 번에 | 최대 500자 |
목소리 복제 | 포함 (공개 슬롯 3개) |
상업적 이용 | 미포함 (유료 플랜부터) |
수익이 나는 채널에 쓰실 거면 상업적 이용이 포함된 플랜을 확인하세요.
만들어 보고 테스트하는 단계까지는 무료로 충분합니다.
캡컷 파일 조립 (제일 어려운 부분)
핵심 아이디어는 단순합니다. 캡컷 프로젝트는 사실 텍스트 파일입니다.
폴더 안에 draft_content.json 이라는 파일이 있고, 여기에 "몇 초에 어떤 클립, 어떤 자막"이 다 적혀 있습니다.
이 파일을 프로그램이 다시 써 주면 캡컷이 그대로 읽습니다.
여기서 반드시 막힙니다
제가 겪은 것들입니다. 위 설계도에 다 적어뒀으니 AI가 알아서 피해 갑니다.
① 클립 조각을 맨손으로 못 만듭니다.
캡컷의 클립 하나에는 속도, 화면 비율 같은 부속 정보가 여럿 딸려 있습니다. 새로 만들려 하지 말고 기존 것을 복사해서 쓰는 게 답입니다.
② 미디어 목록이 비어 보입니다.
타임라인에는 영상이 있는데 왼쪽 목록에는 아무것도 없습니다. 목록을 관리하는 파일이 따로 있어서 그렇습니다.
반대로 그걸 안 지우면 템플릿에 있던 남의 영상이 그대로 딸려갑니다.
③ 자막이 화면 밖으로 넘칩니다.
템플릿 기본 글자 크기는 짧은 단어 기준입니다. 문장을 넣으면 양옆이 잘립니다.
한 장에 14자로 제한하고, 넘으면 여러 장으로 나눠서 순서대로 띄우면 됩니다.
④ 말이랑 자막이 따로 놉니다.
키워드만 자막으로 넣으면 "말은 A를 하는데 자막은 B"가 됩니다.
대본을 그대로 받아쓴 자막이어야 합니다. 문장부호로 끊고 글자 수 비례로 시간을 나누면 잘 맞습니다.
0.00~ 1.42s 매달 나가는 전기 요금,
1.42~ 2.94s 혹시 쌩돈 날리고 계신 건
2.94~ 3.49s 아닌가요.돈은 얼마나 드나요
항목 | 비용 |
|---|---|
영상 모으기 | 저렴. 초반에는 무료 범위로 됩니다 |
영상 분석 | 여기가 제일 비쌉니다. 영상을 통째로 올리니까요 |
대본·번역 | 글자만 오가서 저렴 |
목소리 | 8월까지 무료 |
💰 아끼는 법 딱 하나만 기억하세요.
분석할 영상을 10~15개만 고르세요. 모으는 건 싸고 분석이 비쌉니다.
모아온 걸 전부 분석에 넣으면 비용이 확 뜁니다.
올리기 전에 꼭 읽으세요
① 남의 영상만 이어 붙이면 수익이 안 납니다
유튜브는 원본에 별다른 가치를 더하지 않은 영상의 수익 창출을 막습니다.
해설, 자막, 편집 구성으로 본인이 더한 것이 있어야 합니다.
이 프로그램이 목소리와 자막을 자동으로 붙이는 이유가 그것입니다.
② 출처는 꼭 남기세요
설명란에 원작자를 표기하세요. 다만 출처를 적었다고 써도 된다는 뜻은 아닙니다.
원작자가 내려달라고 하면 내려야 하고, 책임은 올린 사람에게 있습니다.
③ 비슷한 영상을 대량으로 찍어내지 마세요
정책 위반이 될 수 있습니다. 한 편 한 편의 품질을 유지하세요.
④ AI로 만든 부분은 표시하세요
업로드할 때 "합성 콘텐츠" 관련 설정을 확인하세요.
⑤ 목소리도 주인이 있습니다
남의 목소리를 함부로 복제하지 마세요. 유명인과 비슷한 목소리도 문제가 됩니다.
본인 목소리를 복제하거나, 원하는 톤을 글로 설명해서 새로 만들거나, 기본 제공 목소리를 쓰세요.
마지막으로
이대로 만들면 쇼츠 한 편 만드는 시간이 확 줄어듭니다.
저는 아무것도 없는 상태에서 업로드 직전까지 30분 안쪽으로 들어옵니다.
다만 그대로 복사하지는 마세요. 주제도 말투도 자막 스타일도 본인 채널에 맞춰야 합니다.
뼈대만 가져가시고 살은 직접 붙이세요.
아직 시작 안 하셨다면 목소리부터 잡고 가세요.
8월까지 개발자에게 무료라, 지금이 붙여보기 제일 좋은 시점입니다.
👉 Fish Audio 무료로 시작하기
카드 등록 없이 바로 됩니다. 감정 태그부터 한번 넣어보세요.
#광고 #FishAudio #FishAudioTurns1 @FishAudio_ai