#自媒体视频制作
주제를 바로 게시 가능한 멀티 플랫폼 쇼트 비디오로 제작합니다. 문화 여행, 지식 교육, 제품 홍보, 일상 스토리 등 네 가지 콘텐츠 유형을 다루며, 세 가지 생산 라인(프롬프트 패키지, 영상 프레임 생성, 최종 MP4 합성)을 지원합니다.
핵심 원칙
먼저 사양을 정하고, 콘텐츠를 작성한 후, 영상을 생성합니다. 순서가 틀리면 재작업이 발생합니다: 화면 비율을 정한 후 스크립트를 작성하고, 스크립트를 정한 후 영상을 매칭하며, 자막 사양은 화면 비율에 따라 결정됩니다.
필요에 따라 리소스를 소비합니다. 이미지 및 비디오 생성은 크레딧을 소비하므로, 실행 전에 예상 소비량을 알리고 사용자 확인을 받습니다.
경계를 넘지 않습니다. 어떤 플랫폼에도 자동으로 게시하지 않으며, 사용자 계정 자격 증명을 읽거나 쓰지 않으며, 사용자의 기존 파일을 삭제하지 않습니다.
실행 흐름
1단계: 사양 확인
사용자 입력에서 다음 정보를 추출합니다. 누락된 항목은 아래 표에 따라 채웁니다. 추출할 수 없고 결과에 큰 영향을 미치는 경우에만 질문하며, 한 번에 최대 하나의 핵심 질문만 합니다.
| 항목 | 기본값 | 선택값 |
|---|---|---|
| 화면 비율 | 9:16 세로 | 9:16 세로, 16:9 가로, 1:1 정사각형 |
| 해상도 | 1080P | 720P 경량, 1080P 고화질 |
| 길이 | 45초 | 15초, 30초, 45초, 60초, 90초 |
| 콘텐츠 유형 | 사용자 설명에 따라 판단 | 문화 여행, 지식 교육, 제품 홍보, 일상 스토리, 풍경 혼합 편집 |
| 생산 라인 | 사용자 표현에 따라 판단 | 프롬프트 패키지, 영상 프레임, 최종본 |
생산 라인 판단 규칙:
- 사용자가 '프롬프트를 줘', 'Doubao/Jimeng/Kling에 복사할게', '문안만 줘'라고 말함 → A 라인
- 사용자가 '영상을 생성해 줘', '비디오를 만들어 줘', '이미지를 원해', '영상을 매칭해 줘'라고 말함 → B 라인
- 사용자가 '합성해 줘', '최종본을 줘', 'mp4를 원해', '최종 파일'이라고 말함 → C 라인
- 명확히 말하지 않은 경우: 먼저 A 라인의 프롬프트 패키지를 제공하고, 마지막에 B 또는 C로 업그레이드할 수 있음을 알림
화면 비율에 따른 고정 해상도: 9:16은 1080×1920, 16:9는 1920×1080, 1:1은 1080×1080을 출력합니다.
2단계: 스크립트 및 스토리보드 작성
콘텐츠 유형에 따라 스크립트 구조를 선택하고, references/script-templates.md를 로드합니다.
Markdown 테이블로 출력합니다. 열은 다음과 같습니다: 컷 번호, 시간 구간, 화면 콘텐츠, 나레이션, 자막 텍스트,素材 필요 사항.
필수 요구 사항:
- 시작 3초에는 반드시 훅이 있어야 합니다. 유형은 콘텐츠에 따라 결정: 질문, 반전, 서스펜스, 이점, 시각적 경이
- 각 컷의 나레이션은 15~25자로 제한하며, 낭독 시 6초를 초과하지 않아야 함
- 총 길이는 목표 길이와 정확히 일치해야 하며, 각 컷의 시간 구간은 연속적이고 빈틈이 없어야 함
- 자막 텍스트는 나레이션과 일치해야 하며, 별도로 작성하지 않음
- 마지막 3초에는 명확한 행동 유도 또는 서스펜스 마무리가 있어야 함
3단계: 시각 스타일 결정
references/visual-styles.md를 로드하고, 콘텐츠 유형과 감정에 따라 스타일을 선택합니다.
각 컷에 대해 화면 프롬프트를 출력합니다. 형식:
주제 + 동작 + 환경 + 조명 + 카메라 언어 + 스타일 + 화면 비율
프롬프트에는 반드시 화면 비율 키워드가 포함되어야 하며, 이미지 및 비디오 생성 모델이 인식할 수 있도록 합니다.
4단계: 자막 사양 출력
references/spec-sheet.md를 로드하고, 자막 매개변수 테이블을 출력합니다.
필수 출력 필드: 글꼴, 글꼴 크기, 색상, 테두리 두께, 테두리 색상, 위치, 배경 스타일, 표시 모드, 애니메이션.
화면 비율에 따라 자동으로 글꼴 크기 변환: 세로 60, 1:1 정사각형 54, 가로 48.
자막 텍스트는 문장별로 줄 바꿈하며, 한 줄에 14자를 초과하지 않아야 하며, 초과 시 줄을 나눕니다.
5단계: 더빙 구성
references/tts-domestic.md를 로드하고, 더빙 구성을 출력합니다.
우선순위에 따라 추천: 무료 등급(Edge TTS), 고급 등급(SiliconFlow / Fish Audio), 복제 등급(VoxCPM).
반드시 제공해야 할 정보: 음색 이름, 속도, 볼륨, 감정 표시, 청취 가능 채널.
6단계: 결과물 생성
생산 라인에 따라 실행합니다.
A 라인 프롬프트 패키지: 완전한 Markdown 문서를 출력합니다. 스크립트 테이블, 화면 프롬프트, 자막 사양, 더빙 매개변수, 편집 매개변수를 포함합니다. Doubao, Jimeng, Kling, Jianying에 직접 복사할 수 있습니다.
B 라인 영상 프레임 생성: 먼저 예상 크레딧 소비량을 알리고, 사용자 확인 후 컷별로 이미지 및 비디오 생성 API를 호출합니다. 호출 시 3단계의 프롬프트를 전달합니다.
C 라인 최종본 합성: 로컬 도구 체인을 사용하여 MP4를 합성합니다.
python scripts/make_video.py --spec 사양파일.json --out 출력디렉토리
7단계: 전달 및 자체 점검
다음 표에 따라 항목별로 확인하고, 모두 통과해야 전달합니다.
| 확인 항목 | 통과 기준 |
|---|---|
| 길이 | 실제 길이와 목표 길이 오차 1초 이내 |
| 화면 비율 | 해상도가 화면 비율과 일치 |
| 자막 | 오타 없음, 중요 화면 가리지 않음 |
| 오디오-비디오 동기화 | 자막 표시 시간이 나레이션과 일치 |
| 素材 | 반복되는 클립 노출 없음 |
| 저작권 | 배경 음악 및素材 출처 표시 |
| 플랫폼 규정 준수 | 절대적 표현, 허위 약속 없음 |
한 항목이라도 통과하지 못하면 수정 후 다시 결과물을 생성합니다.
세 가지 생산 라인의 차이
A 라인 프롬프트 패키지
결과물은 Markdown 문서입니다. 사용자가 받아서 각 플랫폼에서 직접 생성합니다. 크레딧을 소비하지 않으며, 로컬 환경이 필요하지 않습니다.
해외素材 라이브러리(Pexels, Pixabay, Coverr)는 문서에 '프록시 필요'로 표시하고, 국내 플랫폼은 '프록시 불필요'로 표시합니다.
B 라인 영상 프레임 생성
결과물은 로컬 이미지 및 비디오 클립 파일입니다. 크레딧 소비: 단일 이미지 약 510 크레딧, 5초 비디오 약 50100 크레딧.
실행 전에 반드시 현재 컷의 예상 소비량을 알려야 합니다. 단일 컷의 화면 설명은 직접 생성에 사용할 수 있을 만큼 구체적이어야 하며, 추상적 설명은 화면이 공허해질 수 있습니다.
C 라인 최종본 합성
결과물은 최종 MP4 파일입니다. 로컬에 FFmpeg가 필요합니다.
화면 소스는 B 라인의 출력 파일이거나 사용자 자체素材일 수 있습니다. 로컬素材를 사용할 때는 먼저 파일 경로와 길이를 확인합니다.
국내에서 접근 가능한 채널
주요 채널은 국내에서 직접 접근 가능한 채널만 사용합니다:
- 더빙: Edge TTS(무료, 키 불필요), SiliconFlow, Fish Audio, MiniMax
- 스크립트: Doubao, Tongyi Qianwen, DeepSeek, Zhipu Qingyan, Kimi
- 화면: Doubao, Jimeng, Kling, Tongyi Wanxiang
- 편집: Jianying
해외 소스(Pexels, Pixabay, Coverr, Edge TTS 외 ElevenLabs 등)는 선택적 강화로만 사용하며, 사용 시 반드시 '프록시 필요'를 표시해야 합니다.
중단 조건
다음 상황이 발생하면 중단하고 설명하며, 억지로 진행하지 않습니다:
- 사용자가 요청한 길이와 화면 비율 조합을 현재 비디오 생성 기능으로 구현할 수 없는 경우
- 화면 프롬프트가 해당 컷의 내러티브 의도를 지원할 수 없는 경우
- 최종본 라인에서 FFmpeg를 사용할 수 없고 사용자가 다운그레이드를 수락하지 않는 경우
- 승인되지 않은素材, 타인의 초상권 또는 저작권 콘텐츠가 포함된 경우
- 사용자가 자동 게시를 요구하는 경우
의존성 확인
실행 전에 다음 명령을 실행합니다:
python scripts/check_environment.py
ready 반환 시 환경이 완전하여 정상 흐름으로 진행합니다. partial 반환 시 사용 가능한 기능을 계속하고 제한 사항을 설명합니다. needs_setup 반환 시 현재 작업에 누락된 항목만 표시합니다. unavailable 반환 시 복구 단계와 안전한 다운그레이드 방안을 제공합니다.
다운그레이드 전략
| 누락 항목 | 영향 | 다운그레이드 방법 |
|---|---|---|
| 비디오 생성 기능 | B 라인에서 동적 화면 생성 불가 | 정적 이미지에 Ken Burns 효과 적용 또는 A 라인으로 전환 |
| 이미지 생성 기능 | 첫 프레임 생성 불가 | 순수 텍스트-비디오 생성 또는 A 라인으로 전환 |
| FFmpeg | C 라인 합성 불가 | A 라인으로 전환하고 Jianying에서 직접 가져올 수 있는 자막 파일 출력 |
| 글꼴 파일 | 자막 렌더링 실패 | 시스템 기본 고딕체로 대체하고 스타일 차이를 알림 |
| 배경 음악 | 최종본에 음악 없음 | 무음 최종본을 출력하고 음악 추천 목록 첨부 |
다운그레이드 후에는 반드시 제한 사항과 검증 상태를 표시해야 합니다. 핵심 정확성을 보장할 수 없을 때는 중단하고 결과를 추측하여 대체하지 않습니다.
참고 파일
references/script-templates.md네 가지 콘텐츠 유형의 스크립트 구조 및 훅 패턴references/visual-styles.md스타일 라이브러리, 색상 구성, 카메라 움직임, 화면 프롬프트 템플릿references/spec-sheet.md화면 비율, 해상도, 자막, 더빙, 편집 전체 매개변수references/tts-domestic.md국내 더빙 채널, 음색 선택, 매개변수 구성references/setup-guide.md의존성 설치 및 계정 구성assets/subtitle-presets.json자막 스타일 프리셋