Typecast 같은 서비스 제작하기: 문장별 AI 음성 생성·부분 수정·영상 출력 제작법
대본과 목소리 설정으로 음성을 만들고 수정한 문장만 다시 생성해 영상에 연결하는 AI 더빙 서비스의 구현 방법을 설명합니다.
핵심 요약
1. 대본을 문장별 음성으로 만들고 수정 구간만 재생성해 완성 영상으로 출력하는 서비스를 설계합니다. 2. Typecast API를 음성 생성에, FFmpeg를 음성 연결과 영상 출력에 활용할 수 있습니다. 3. 대본 버전·문장별 설정·편집 타임라인·작업 상태와 최종 검수는 자체 개발합니다.
Typecast의 기능에서 참고할 가치는 녹음 작업을 반복하지 않고 대본을 수정하며 음성을 다듬는 것입니다. AI 더빙 서비스 개발에서는 좋은 목소리를 선택하는 기능과 편집 결과를 안정적으로 관리하는 기능이 함께 필요합니다. 다음은 유사한 음성 편집기를 만드는 방법입니다.
대본과 목소리 설정을 문장별로 관리하기
입력은 대본과 목소리, 지원되는 표현 설정입니다. Typecast API를 연결해 합성 음성을 요청하는 구성을 사용할 수 있습니다. 사용할 목소리와 언어·표현 옵션의 지원 범위, 상업 이용과 목소리 권리 조건은 계약과 API 조건에서 확인합니다.
자체 코드는 대본을 편집 가능한 문장으로 나누고 각 문장에 고유 ID를 붙입니다. 숫자·약어·고유명사의 읽는 방법을 사용자가 조정할 수 있게 하고 설정값을 버전으로 저장합니다. 출력은 생성할 문장과 해당 음성 설정의 목록입니다.

한국어 TTS API 연동으로 음성 만들기
입력은 확정한 문장과 목소리 설정입니다. API에 생성 요청을 보내고 반환된 작업 ID와 결과 파일을 문장 ID에 연결합니다. 비동기 처리가 필요한 경우 자체 작업 큐에서 대기·생성 중·완료·실패 상태를 관리합니다.
한국어 AI 성우 기능을 구현할 때는 텍스트가 같아도 설정이 바뀌면 다른 결과로 관리해야 합니다. 요청 내용의 해시를 비교해 이미 생성한 결과를 재사용하고, 실패한 요청만 다시 처리합니다. 출력은 문장별 오디오와 길이 정보이며 재생 가능한 파일인지 확인합니다.
문장별 음성 편집기 개발하기
입력은 기존 대본과 수정한 문장, 변경할 표현 설정입니다. Typecast API로 바뀐 구간의 음성만 새로 요청하고, 자체 타임라인이 기존 구간과 새 구간의 관계를 관리합니다. 원본 결과를 보존하면 수정 전후를 들어보고 선택할 수 있습니다.

대본의 문장을 합치거나 나누면 뒤쪽 음성의 시작 시각도 달라집니다. 자체 코드는 구간 길이와 쉼을 다시 계산하고 자막 위치를 함께 갱신합니다. 출력은 선택된 버전으로 구성한 편집 타임라인이며, 아직 생성 중인 구간이 완성본에 섞이지 않도록 합니다.
FFmpeg 음성 영상 합치기
입력은 확정한 음성 구간과 영상·이미지, 자막과 배경음입니다. FFmpeg로 오디오 형식을 맞추고 순서대로 연결한 뒤 영상과 합칠 수 있습니다. FFmpeg는 프로그램이 지정한 장면 순서와 편집 조건을 처리하는 도구입니다.

자체 코드는 음량, 샘플레이트, 장면 길이와 출력 해상도를 정합니다. 배경음 때문에 내레이션이 잘 들리지 않는지 확인하고, 자막이 화면 밖으로 나가지 않도록 검수합니다. 출력은 다운로드할 파일과 재생 미리보기이며 실제 길이와 오디오 포함 여부를 검사합니다.
제작 결과와 비용을 관리하기
교육 영상 음성 제작처럼 대본 변경이 잦은 업무에서는 변경된 구간만 다시 만드는 구조가 효율적입니다. 프로젝트별 사용량과 생성 횟수, 실패·재시도 이력을 기록하면 비용과 처리 시간을 파악할 수 있습니다. 사용자에게는 어떤 구간이 완료됐는지 명확히 보여줍니다.
최종 확인에는 발음, 문장 사이의 쉼, 영상과 음성의 순서와 음량을 포함합니다. AI 스킬에는 대본 정리와 표현 원칙을 담고, 타임라인과 파일 처리는 자체 코드가 담당합니다. 제작할 영상 종류와 편집 범위를 정리해 트램스 AI에 문의해 주세요: https://trams.co.kr/ai-si/contact/#inquiry
참고 자료
- https://typecast.ai/kr/learn/how-to-use-typecast/
- https://typecast.ai/kr/
- https://developers.openai.com/api/docs/guides/function-calling
- https://www.pexels.com/api/documentation/
- https://creatomate.com/docs/fundamentals/getting-started/introduction
- https://typecast.ai/kr/text-to-speech/
- https://help.typecast.ai/ko/articles/15347503-%EC%9D%8C%EC%84%B1-%EC%9E%AC%EC%83%9D%EC%84%B1
- https://help.typecast.ai/ko/articles/15347556-%EC%9D%8C%EC%84%B1-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EC%84%A0%ED%83%9D-%EA%B5%AC%EA%B0%84
- https://typecast.ai/kr/learn/audiobook-tts-long-script-workflow/
- https://infogarage69.tistory.com/entry/%EC%84%B8%EB%A1%9C-%EC%87%BC%EC%B8%A0%EB%A5%BC-%EC%9D%BD%EC%96%B4%EC%A3%BC%EB%8A%94-%EC%98%81%EC%83%81%EC%9C%BC%EB%A1%9C-%EC%A0%84%ED%99%98%ED%95%98%EB%A9%B0-%EC%A0%95%EB%A6%AC%ED%95%9C-%EC%BA%A1%EC%BB%B7-%ED%8E%B8%EC%A7%91-%EA%B3%BC%EC%A0%95
- https://elevenlabs.io/docs/overview/models
- https://elevenlabs.io/docs/help-center/product/core-capabilities/text-to-speech/how-do-audio-tags-work-with-eleven-v3-and-v4
- https://ffmpeg.org/ffmpeg-formats.html#concat-1
비슷한 AI 서비스를
사업에 적용하고 싶으신가요?
아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.