TTS 시간 계산기: 낭독 시간을 추정하고 실제로 재기
말하는 시간은 단어 수를 말하기 속도로 나눠 추정한 뒤 실제 파일로 재세요. Sume TTS는 단어별 타임스탬프와 함께 파일 길이를 알려 줍니다.

텍스트를 소리 내어 읽는 데 걸리는 시간을 계산하려면 단어 수를 말하기 속도로 나누세요. 예를 들어 음성이 분당 150단어를 말한다면 300단어 대본은 2분이 걸립니다. 말하기 속도는 음성과 그 속도 설정에 따라 달라지므로, 이 값은 추정치로 보고 실제 오디오로 다시 재세요. Sume의 텍스트 음성 변환(TTS)에서는 현재 코드 기준으로 단어별 타임스탬프를 요청하면 파일의 정확한 길이를 duration_seconds로 반환합니다.
Sume 관련 사실은 2026-09-28에 확인한 Sume API 레퍼런스의 TTS 스키마에서 가져왔습니다. 이 레퍼런스는 API 레퍼런스 문서의 바탕이 되는 OpenAPI 문서입니다. 현재 동작이라고 설명한 결과 필드와 검사는 Sume의 코드에서, 가격은 API 요금 페이지를 만드는 코드에서 확인했습니다. 공식 자체는 단순한 산수입니다.
단어 수로 말하는 시간을 어떻게 추정하나요?
초는 단어 수를 초당 단어 수로 나눈 값이고, 분은 단어 수를 분당 단어 수로 나눈 값입니다. 정확히 잡아야 하는 것은 말하기 속도입니다. 음성, 속도 설정, 텍스트 자체가 모두 말하기 속도를 바꾸므로, 같은 음성이 같은 속도 설정으로 읽은 샘플로 재세요. 예를 들어 현재 코드에서 Sume의 아바타 영상 플래너는 초당 2.8단어로 추정합니다. 이는 아바타 클립용 추정치이며, 어떤 TTS 음성에서 잰 속도도 아닙니다(60초에 들어가는 단어 수).
일본어처럼 단어 사이를 띄어 쓰지 않는 언어라면 단어 대신 글자 수를 세고, 같은 방법으로 초당 글자 수를 재세요.
// Count words the same way for the estimate and the calibration
function countWords(text) {
return text.trim().split(/\s+/).filter(Boolean).length;
}
// Calibrate: result = data.result of a finished TTS job that voiced
// sampleText with timestamps: { words: true }
function wordsPerSecond(sampleText, result) {
return countWords(sampleText) / result.duration_seconds;
}
// Estimate a new script with the rate measured on the same voice and speed
function estimateSeconds(script, rate) {
return countWords(script) / rate;
}음성의 정확한 길이는 어떻게 재나요?
POST /v1/tts-1.0/generate에 timestamps: { "words": true }를 넣어 생성하세요. 그러면 완료된 결과에 각 단어의 시작과 끝을 초 단위로 담은 words[]가 들어가고, 현재 코드에서는 오디오 파일의 길이인 duration_seconds도 들어갑니다. 마지막 단어의 end는 말이 끝나는 시점이고, duration_seconds는 파일 끝까지의 길이입니다. 녹음에 대해 같은 계산을 하는 방법은 말하기 속도 계산 방법에서 다룹니다.
| 필드 | 들어가는 경우 | 재는 것 |
|---|---|---|
duration_seconds | timestamps.words: true일 때(현재 코드) | 오디오 파일의 길이(초) |
words[] start / end | timestamps.words: true일 때 | 각 단어의 타이밍(초). 마지막 end가 말이 끝나는 시점 |
segments[] | segmentation: { "mode": "sentence" }일 때(timestamps.words 필요) | 각 문장의 start, end, duration_seconds(현재 코드) |
character_count | 모든 결과(현재 코드) | 대본의 글자 수. TTS가 과금하는 단위 |
보이스오버를 15초, 30초, 60초에 맞추려면 어떻게 하나요?
첫 테이크의 길이를 재고, 단어나 속도로 차이를 줄인 뒤 다시 재세요.
- 단어를 바꾸세요. 같은 음성과 속도 설정으로 잰 말하기 속도를 알면, 그 차이가 대략 몇 단어에 해당하는지 알 수 있습니다.
- 속도를 바꾸세요.
generation_config.speed는 0.6에서 1.5 사이의 속도 배수입니다. 스키마는 배수가 길이에 어떻게 반영되는지 설명하지 않으므로, 바꿀 때마다duration_seconds를 다시 읽으세요. - 예전
speedenum(slow,normal,fast)은 쓰지 마세요. 스키마는 이를 지원 중단으로 표시하고generation_config.speed를 쓰라고 안내합니다. - 초 단위로 편집한 영상 아래에 까는 보이스오버라면, AI로 30초 광고 영상 만드는 방법에서 렌더 길이를 그에 맞게 설정합니다.
TTS 파일 하나는 얼마나 길 수 있나요?
요청 하나는 최대 20,000자의 대본을 받으며, 합성된 오디오가 1,200초를 넘으면 tts_duration_exceeded로 실패하고 크레딧은 확정되지 않습니다. 더 긴 대본은 긴 텍스트 TTS·오디오북 만들기에서처럼 나눠서 부분마다 합성하세요.
TTS로 길이를 재는 비용은 얼마인가요?
길이를 재려고 실행할 때마다 TTS Job 하나가 되며, 공백과 문장 부호를 포함한 대본 글자 수에 따라 1,000자당 $0.0475로 과금되고 기본적으로 5.5% 에이전트 수수료가 더해집니다. 현재 코드에서 예상 비용은 글자 수만 세므로, 단어별 타임스탬프를 요청해도 비용이 늘지 않습니다. 짧은 문단 하나로 말하기 속도를 보정하고, 추정에는 그 속도를 재사용하다가, 대본이 들어맞을 것 같을 때 전체를 합성하세요.
출처
관련 글
활용 사례 카테고리의 다른 글
- 강의 녹음 텍스트 변환: 타임스탬프가 달린 노트로 정리하기
강의를 문장 타임스탬프와 함께 전사한 뒤, 언어 모델이 각 제목에 주제가 시작하는 지점을 표시한 노트로 바꾸게 하세요.
- AI 가상 스테이징: 빈 방 사진 한 장에 가구 채우기
AI로 가상 스테이징을 하려면 빈 방 사진을 스타일과 바뀌면 안 되는 부분을 적은 프롬프트와 함께 보내고, 결과에서 벽과 창문을 확인하세요.
- YouTube 최종 화면 템플릿: 5–20초 16:9 아웃트로 만들기
YouTube 최종 화면 템플릿은 요소를 최대 네 개까지 둘 자리가 있는 5–20초 길이의 16:9 아웃트로입니다. YouTube의 규칙과 AI로 아웃트로를 만드는 방법을 정리했습니다.
- AI 앨범 커버 생성기: 3000×3000 정사각형 아트
정사각형 앨범 아트를 생성한 뒤 업스케일하세요. Apple은 최소 3000×3000을 권장합니다. Sume에서 2400×2400으로 생성해 1.25배 업스케일하면 3000×3000이 됩니다.
작성자 Sume