얼굴 없는 영상 API: 보이스오버, B-roll, 음악, 자막
Sume API로 얼굴 없는 영상을 만들려면 TTS 내레이션을 스파인으로 삼아 생성한 B-roll과 Sume 호스팅 배경 음악을 깔고, 자막은 TTS 단어 타이밍에 맞추세요.

Sume API로 얼굴 없는 영상을 만들려면 POST /v1/tts-1.0/generate로 내레이션을 합성하고, POST /v1/videos로 B-roll 클립을 생성한 뒤, Timeline 1.0 렌더에서 내레이션 위에 클립을 배치하고 Sume에 호스팅된 배경 음악을 까세요. 그다음 영상이 60초 이하라면 POST /v1/video-captions로 자막을 입히되, TTS 단어 타이밍을 words로 넘겨 음성 인식(STT)이 실행되지 않게 하세요.
아래 내용은 2026-09-27에 확인한 Sume API 레퍼런스의 TTS, BGM, 자막 스키마와 Sume 문서 영상 생성 (영문), Timeline 1.0, 영상 캡션 페이지에서 가져왔습니다. 현재 동작이라고 설명한 내용은 Sume의 코드에서 확인한 것입니다. 말하는 아바타 영상에 B-roll 넣기는 아바타의 A-roll 사이에 B-roll을 끼워 넣지만, 여기서는 화면에 아무도 나오지 않습니다.
B-roll 위 내레이션에는 왜 립싱크가 필요 없나요?
Sume의 모델 문서 (영문)에 따르면 영상 모델은 생성한 TTS나 나중에 입힌 보이스오버에 맞춰 립싱크하지 않습니다. 그래서 말하는 얼굴을 영상 모델 클립에 내레이션을 깔아 만드는 일은 없습니다. B-roll에는 맞춰야 할 입 모양이 없으므로, 생성한 클립은 어떤 내레이션 아래에도 깔 수 있습니다. 화면에 말하는 사람이 필요하다면 대신 Avatar 1.0 말하는 영상이나, 말하는 스틸에 오디오를 더하는 VEED Fabric 1.0을 쓰세요.
내레이션은 어떻게 만드나요?
대본을 최대 20,000자의 transcript로 TTS 1.0에 보내고 음성을 지정하세요. 음성은 목소리가 준비된 아바타의 avatar_id나 avatar_handle, 또는 voice.id로 지정합니다. TTS는 오디오를 반환하므로, 아바타는 목소리만 빌려줄 뿐 화면에 나오지 않습니다. 모든 필드는 텍스트 음성 변환(TTS) API에서 다루며, 여기서 중요한 필드는 세 가지입니다.
timestamps: { "words": true }는 완료된 결과에 시작과 끝을 초 단위로 담은words[]를 추가합니다. 현재 코드에서 각 항목은{ word, start, end }이며, 결과에는duration_seconds도 담깁니다. 이 값이 렌더의audio.duration_seconds에 넣을 값입니다.language: 영어가 아닌 대본에는 항상 지정하세요.output_format: 기본값은 44,100 Hz mp3입니다. Timeline 마스터는 스파인의 샘플레이트와 채널 수를 그대로 이어받고, API 레퍼런스는 TTS 마스터를 스파인에 알맞은 품질의 파일로 꼽으며, 32 kHz 미만인 스파인은audio_spine_low_fidelity로 보고됩니다.
B-roll은 어떻게 만드나요?
샷마다 POST /v1/videos로 생성하세요. prompt, 세로 영상이라면 aspect_ratio: "9:16", 그리고 모델이 나열한 duration을 보냅니다. sume/auto의 생성 옵션은 기본값이 720p와 8초이며, 16:9나 9:16으로 3–10초 클립을 만듭니다. 고정한 모델의 한도는 GET /v1/videos/models에 있습니다. Timeline은 Sume에 호스팅된 URL만 받으므로, 각 클립의 media.sume.com URL은 GET /v1/jobs/{id}/result에서 읽으세요. 슬롯에 넣은 Sume 호스팅 스틸은 정지 화면으로 유지됩니다.
내레이션, 클립, 음악은 어떻게 조립하나요?
편집은 Timeline 1.0 렌더 하나로 끝납니다. audio.url은 내레이션이고 audio.duration_seconds는 그 길이(1–1800)입니다. video[]에는 클립이 들어갑니다. 슬롯은 1–200개이고, 첫 슬롯은 0에서 시작합니다. soundtrack은 배경 음악을 더하고, duck_db(0–20)는 내레이션이 나오는 동안 배경 음악을 낮춥니다. 출력 오디오는 내레이션 스파인 아래에 배경 음악을 믹싱한 것입니다. 먼저 과금되지 않는 POST /v1/timeline-1.0/plan으로 문서를 검사하세요.
배경 음악은 API 키 없이 호출하는 BGM 라우트(GET /v1/bgm/catalog, 또는 분위기에 맞춰 트랙에 점수를 매기는 POST /v1/bgm/pick)가 바로 쓸 수 있는 트랙을 나열합니다. Sume 자체 트랙은 Sume 미디어 호스트에서 제공되므로, 현재 코드에서는 그 audio_url이 soundtrack.url로 그대로 받아들여집니다. 추천 CC BY 4.0 트랙은 Sume 밖의 공식 URL에 있습니다. Timeline은 이런 트랙을 unsupported_media_source로 거부하며, API는 공개적으로 사용할 때마다 track.attribution을 함께 표기하라고 요청합니다. 배경 음악 카탈로그는 별도 글에서 다룹니다.
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: faceless-render-001" \
-d '{
"audio": { "url": "https://media.sume.com/artifacts/artf_demo/narration.mp3", "duration_seconds": 24 },
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/broll-1.mp4", "start": 0, "duration": 8 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/broll-2.mp4", "start": 8, "duration": 8,
"transition": { "type": "fade", "duration": 0.25 } },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/broll-3.mp4", "start": 16, "duration": 8 }
],
"soundtrack": {
"url": "https://media.sume.com/assets/bgm/minimal-clean-focus.mp3",
"loop": true,
"duck_db": 8,
"fade_out_seconds": 2
}
}'TTS 타이밍으로 자막을 어떻게 넣나요?
렌더의 video_url을 words와 함께 POST /v1/video-captions로 보내세요. words에는 TTS의 words[]를 넣되, 각 항목의 word를 text로 이름만 바꿉니다. 그러면 Sume는 음성 인식을 건너뛰고 정확히 그 단어를 정확히 그 시각에 입힙니다. 내레이션이 첫 초부터 스파인으로 쓰이므로(audio.source_in 기본값은 0), TTS의 시각이 렌더와 그대로 맞습니다.
- 자막을 넣을 영상은 60초 이내로 유지하세요.
words의 각 시각은 0에서 60초 사이이고, 문서는 60초 이하 영상 기준으로 자막 가격을 안내하며, 현재 코드에서는 더 긴 소스를 보내면 자막 Job이 실패합니다. words는 항목을 1–1,200개 받으며, 각text는 최대 200자입니다.words는script_text,cues,segments와 함께 쓸 수 없습니다.style을 생략하면 라틴 문구는slam으로, 한국어 문구는black-outline으로 입혀집니다.
curl -X POST https://api.sume.com/v1/video-captions \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: faceless-captions-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/faceless.mp4",
"words": [
{ "text": "Three", "start": 0.12, "end": 0.41 },
{ "text": "ways", "start": 0.41, "end": 0.7 }
]
}'얼굴 없는 영상의 비용은 얼마인가요?
유료 단계는 각각 별도의 Job이며 따로 과금됩니다. TTS와 렌더 요율은 API 요금에서 가져왔습니다. 합성된 오디오가 1,200초를 넘으면 tts_duration_exceeded로 실패하며, 크레딧은 확정되지 않습니다.
| 단계 | 호출 | 과금 |
|---|---|---|
| 내레이션 | POST /v1/tts-1.0/generate | 1,000자당 $0.0475, 공백과 문장 부호도 포함 |
| B-roll | POST /v1/videos | 제출 시 공급사 정가 × 1.25로 예약 |
| 음악 | GET /v1/bgm/catalog, POST /v1/bgm/pick | API 키가 필요 없는 라우트, 배경 음악은 렌더에서 믹싱 |
| 사전 검사 | POST /v1/timeline-1.0/plan | 과금 없음 |
| 조립 | POST /v1/timeline-1.0/render | 출력 분당 $0.10, 예약은 ceil(audio.duration_seconds / 60)분 |
| 자막 | POST /v1/video-captions | 60초 이하 영상에 Job당 고정 금액, GET /v1/catalog에서 확인 |
출처
관련 글
활용 사례 카테고리의 다른 글
- Image-to-Video 제품 로고 왜곡: 프레임 vs 레퍼런스
Sume의 이미지로 영상 만들기 API에서 frame_images에 넣은 팩샷은 첫 프레임을 지정하고, input_references는 가이드 역할만 합니다. 추출한 스틸로 라벨을 확인하세요.
- 로고 애니메이션 API: 브랜드 마크를 아이덴트·엔드 카드로
Sume API로 로고 애니메이션을 만들려면 마크를 첨부해 sume-logo-motion-design을 호출하거나 첫 프레임으로 넣어 직접 움직이게 하고, 엔드 카드로 붙이세요.
- 모바일 앱 광고 영상 생성 API: 크리에이터 데모와 엔드 카드
Sume API로 모바일 앱 광고를 만드세요. 앱 스크린샷으로 sume-mobile-app-ugc를 실행하고, 로고 엔드 카드를 더한 뒤, Timeline 1.0으로 두 클립을 이어 붙이면 됩니다.
- 여러 제품 사진을 AI 이미지 한 장으로 합치는 API
여러 제품 사진을 AI 이미지 한 장으로 합치려면 SKU마다 팩샷을 Sume의 sume-editorial-product-set Format에 첨부하거나 POST /v1/images로 보내세요.
작성자 Sume