AI 아바타 언어 튜터: 천천히 말하고 자막이 있는 레슨 영상

AI 아바타 언어 튜터 영상 만들기: 레슨 문장마다 TTS 1.0으로 천천히 읽히고, Fabric으로 튜터 아바타를 립싱크한 뒤, 클립마다 자막을 입히세요.

읽는 시간 5분Sume
전체 글

AI 아바타 언어 튜터는 실시간 대화 상대이거나 녹화된 진행자입니다. 녹화형은 레슨 문장마다 목표 언어로 천천히 말하고 그 단어를 화면에 띄우는 말하는 아바타입니다. Sume로 만드는 것은 녹화형입니다. TTS 1.0이 문장마다 목표 언어로 느린 속도의 음성을 만들고, VEED Fabric 1.0이 튜터 아바타를 그 음성에 립싱크하며, 자막이나 단어별 타이밍이 텍스트를 화면에 띄웁니다. 모든 클립은 먼저 렌더링한 뒤 나중에 재생하는 Job입니다.

이 글의 내용은 2026-09-27에 확인한 Sume의 Models 개요 (영문)와 영상 캡션 문서, 그리고 Sume API 레퍼런스의 TTS·Fabric 스키마에서 가져왔으며, 현재 동작이라고 설명한 내용은 Sume의 코드에서 확인했습니다. 얼굴 없이 오디오로만 연습하려면 언어 학습용 TTS를 참고하세요.

튜터가 내가 가르치는 언어로 말할 수 있나요?

영어라면 가능합니다. 다른 언어는 간단히 테스트한 뒤 TTS로 가능합니다. 호출 한 번으로 만드는 Avatar 1.0 말하는 영상은 현재 코드상 영어로만 말하고 속도 설정도 없으므로, 생성이 정하는 속도의 영어 레슨에만 맞습니다. 다른 언어나 더 느린 영어에는 TTS 1.0과 Fabric이 필요합니다. TTS 스키마는 예시 코드로 ko, ja, en을 들 뿐 전체 목록은 공개하지 않으므로, 강의를 녹화하기 전에 가르치는 언어로 짧은 문장 하나를 합성해 들어 보세요.

영어가 아닌 대본에는 모두 language를 지정하세요. 생략하면 영어가 기본값입니다. 현재 코드에서 language: "ko"는 대본에 한글 음절이 하나 이상 있어야 하며, 없으면 요청이 400 tts_language_script_mismatch로 실패합니다.

튜터가 천천히 말하게 하려면 어떻게 하나요?

TTS 요청에 0.6에서 1.5 사이의 배수인 generation_config.speed를 설정하세요. 음성으로는 튜터 아바타의 avatar_handle을 보내거나(현재 코드에서 아바타 자체의 음성은 영어로 클론됩니다), 에셋 → 보이스(Assets → Voices)에서 그 언어용으로 만든 음성을 voice.id로 보내세요.

timestamps.words와 문장 단위 segmentation을 추가하세요. WAV로 출력하면 문장마다 자체 audio_url이 돌아와 문장별로 클립을 따로 만들 수 있고, 모든 단어에 시작 시각과 끝 시각이 붙습니다. 이 요청은 언어 학습용 TTS에서 자세히 다룹니다.

curl -X POST https://api.sume.com/v1/tts-1.0/generate \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: lesson-3-lines-001" \
  -d '{
    "transcript": "¿Dónde está la estación? Está a la derecha.",
    "voice": { "id": "voi_…" },
    "language": "es",
    "generation_config": { "speed": 0.75 },
    "output_format": { "container": "wav", "encoding": "pcm_s16le", "sample_rate": 44100 },
    "timestamps": { "words": true },
    "segmentation": { "mode": "sentence" }
  }'

튜터를 화면에 어떻게 등장시키나요?

오디오 파일마다 튜터 아바타의 avatar_handle과 오디오의 duration_seconds를 담아 POST /v1/veed/fabric-1.0으로 보내세요. Sume가 handle을 아바타의 아이덴티티 스틸로 변환하므로, 모든 레슨이 같은 얼굴에서 시작합니다. Job 하나는 Sume에 호스팅된 1–300초 오디오를 받으며, 파일은 최대 10 MB입니다.

단어는 화면에 어떻게 보여 주나요?

  • 완성된 클립마다 POST /v1/video-captions로 자막을 입히세요. 레슨 텍스트를 script_text로 넘기면 입힌 단어가 여러분이 쓴 철자를 따릅니다. 타이밍은 여전히 음성 인식에서 나옵니다.
  • 자막은 클립마다 따로 입히세요. 현재 코드에서 자막 Job은 60초를 넘는 소스나 오디오 스트림이 없는 소스를 거부합니다.
  • 문서에 나온 자막 스타일은 라틴 서체나 한글 서체로 그립니다. 한국어에는 black-outline 같은 한글 스타일을 고르세요. 라틴 스타일인 slam, punch, tiktok-green은 한국어 문구를 400으로 거부합니다(한국어 자막).
  • 대신 직접 만든 플레이어에서 단어를 하나씩 강조하려면 단어 하이라이트 TTS에서처럼 TTS의 words 타이밍을 쓰세요.

레슨 클립 비용은 얼마인가요?

각 단계는 따로 과금되며, 기본적으로 5.5% 에이전트 수수료가 더해집니다. Fabric은 오디오 길이를 초 단위로 올림해 세므로, 20초짜리 레슨 클립은 720p 기준 수수료 전 $3.75입니다.

Sume API 레퍼런스의 스키마, 영상 캡션, Sume의 현재 코드, API 요금 페이지를 만드는 코드 기준, 2026-09-27 확인.
단계호출가격한도
느린 음성POST /v1/tts-1.0/generate1,000자당 $0.0475최대 20,000자. speed 0.6–1.5
화면 속 튜터POST /v1/veed/fabric-1.0오디오 초당(720p) $0.1875Sume에 호스팅된 1–300초 오디오, 최대 10 MB
자막POST /v1/video-captionsJob당 고정 금액. GET /v1/catalog에서 확인오디오 스트림이 있는 최대 60초 소스(현재 코드 기준)

출처

관련 글

활용 사례 카테고리의 다른 글

활용 사례 글 전체 보기

작성자 Sume