얼굴 없는 숏폼 영상 자동화: AI 보이스오버, 자막, 음악
얼굴 없는 숏폼 영상 자동화 방법: 대본, AI 보이스오버, B-roll, 음악, 9:16 렌더와 자막을 API나 에이전트 호출 한 번으로 만들고, 확인 날짜를 적은 도구 비교표도 담았습니다.

얼굴 없는 숏폼 영상을 자동화하려면 일곱 단계를 이어서 일정이나 트리거에 맞춰 실행하세요. 30–60초 대본을 쓰고, 텍스트 음성 변환(TTS)으로 AI 보이스오버를 만들고, 세로 B-roll 클립이나 스틸을 생성하고, 배경 음악을 고르거나 생성하고, 음성 아래로 음악을 더킹해 모든 것을 9:16 영상 하나로 조립하고, 보이스오버에 맞춘 자막을 입히고, 파일을 전달합니다. 별도 도구들을 스케줄러로 연결할 수도 있고, 브리프 전체를 에이전트 호출 한 번에 보낼 수도 있습니다. 한 번에 자막을 넣으려면 각 영상을 일 분 미만으로 유지하세요.
Sume API에서는 각 단계가 API 키 하나로 쓰는 문서화된 호출이며, Agent Completions나 Format을 한 번 호출하면 브리프에서 전체 과정이 실행됩니다. 아래 내용은 2026-09-29에 확인한 Sume API 레퍼런스와 Sume 문서 (영문)에서 가져왔습니다. 현재 동작이라고 설명한 내용은 Sume의 코드에서 확인한 것입니다.
자동화 파이프라인은 어떻게 생겼나요?
유료 단계는 각각 별도의 비동기 Job이며, API 요금 요율로 따로 과금됩니다.
| 단계 | 호출 | 받는 결과 | 과금 |
|---|---|---|---|
| 1. 대본 | 여러분의 코드, 또는 output_schema를 넣은 POST /v1/agent/completions | 대본 텍스트 | 여러분의 도구, 또는 생성 지출이 generation_spend_cap_usd로 제한되는 에이전트 실행 |
| 2. 보이스오버 | POST /v1/tts-1.0/generate | 오디오와 words[] 타이밍 | 1,000자당 $0.0475, 공백과 문장 부호도 포함 |
| 3. B-roll | POST /v1/videos | media.sume.com에 올라간 9:16 클립 | 제출 시 공급사 정가 × 1.25로 예약 |
| 4. 음악 | GET /v1/bgm/catalog, POST /v1/bgm/pick, 또는 POST /v1/music-router/generate | 트랙 URL | 카탈로그 라우트는 API 키 불필요, 생성한 트랙은 오디오 1건당 $0.125 |
| 5. 조립 | POST /v1/timeline-1.0/plan 다음 POST /v1/timeline-1.0/render | MP4 하나, 기본 1080×1920 | plan은 과금 없음, 렌더는 출력 분당 $0.10, ceil(audio.duration_seconds / 60)분 예약 |
| 6. 자막 | POST /v1/video-captions | 자막을 입힌 MP4 | 60초 이하 영상에 Job당 고정 금액, GET /v1/catalog에서 확인 |
| 7. 전달 | 각 Job의 웹훅 URL, 또는 Job 상태 폴링 | 최종 video_url | 없음 |
얼굴 없는 영상 파이프라인은 어떤 도구로 실행할 수 있나요?
공급사 한 곳이 과정의 어디까지 맡기를 원하는지에 따라 다릅니다. 모델 API는 생성마다 과금하고 편집과 자막은 다른 도구나 여러분의 코드에 맡기며, 파이프라인 API는 전체 과정을 맡습니다. 아래 공급사 가격은 각 공급사 페이지에 적힌 단위 그대로 옮겼습니다.
- Runway의 자체 영상 모델과 음성을 크레딧 계정 하나로 쓰고 편집과 자막은 다른 곳에서 한다면 Runway를 고르세요. Runway의 API는 "Runway에 API가 있나요?" 글에서 다룹니다.
- 이미 조립 코드를 직접 운영하고 있고 개별 모델을 직접 호출하고 싶다면 fal이나 Replicate를 고르세요. fal.ai와 Replicate 대안: AI 영상 생성 API 비교에서 둘의 형태를 비교합니다.
- 보이스오버, 클립, 음악, 세로 편집, 자막을 API 키 하나와 지갑 하나로 처리하고 싶다면 Sume API를 고르세요.
- 영상당 호출 한 번을 원하고 단계별 제어가 줄어드는 것을 받아들일 수 있다면 Sume Format이나 Agent Completions를 고르세요.
- 영상마다 직접 손보고 싶다면 수동 편집기를 고르세요.
| 옵션 | 가격 단위 | 맡는 단계 | API 형태 | 확인할 한도 |
|---|---|---|---|---|
| Sume API, 단계별 호출 | TTS 1,000자당 $0.0475, 음악 오디오 1건당 $0.125, 렌더 출력 분당 $0.10, 클립은 공급사 정가 × 1.25, 기본적으로 5.5% 에이전트 수수료 추가 | 보이스오버, 클립, 음악, 9:16 편집, 자막 | API 키 하나, 웹훅이나 폴링을 쓰는 비동기 Job | 자막은 Job당 60초까지, 편집 입력은 Sume에 호스팅되어 있어야 함 |
| Sume Agent Completions 또는 Format | generation_spend_cap_usd까지의 생성 지출, 에이전트 자체의 LLM 턴은 이 상한과 별도로 과금, 기본적으로 5.5% 에이전트 수수료 추가 | 에이전트가 브리프에서 단계를 조합 | 영상당 호출 한 번 | 단계별 제어가 적음 |
| Runway API | 크레딧당 $0.01, gen4.5는 초당 12크레딧, 음성 모델 중 두 개는 50자당 1크레딧 | 영상, 이미지, 오디오 모델(음성, 효과음) | 프로젝트별 크레딧으로 과금되는 생성 단위 task | 사용 등급이 최대 동시성, 일일 생성 수, 월 지출을 정함 |
| fal | 모델에 따라 초당 또는 영상당, 출력 단위로 과금되는 영상 모델 | 호출당 모델 하나 | 사용한 만큼 과금하는 모델 API | 일부 모델은 대신 GPU 기반 과금일 수 있음 |
| Replicate | 대부분의 모델은 사용한 하드웨어의 실행 시간으로 과금, 일부는 입력과 출력으로 과금(예: 이미지로 영상 만들기 예시 하나는 출력 영상 초당 $0.09) | 호출당 모델 하나 | 공개 모델, 또는 전용 하드웨어의 비공개 모델 | 대부분의 비공개 모델은 설정 시간과 유휴 시간도 과금 |
1단계: 대본은 어디서 가져오나요?
여러분의 코드나 어떤 텍스트 모델에서든 가져오면 됩니다. 나머지 과정에는 텍스트만 있으면 됩니다. Sume가 대본을 쓰게 하려면 output_schema를 넣어 Agent Completion을 보내세요. 그러면 실행의 output이 원하는 형태로 돌아옵니다. 예를 들면 { "script": "…" }입니다. Job 하나로 자막을 넣을 수 있을 만큼 짧게 유지하세요. 6단계는 60초에서 멈춥니다.
2단계: AI 보이스오버는 어떻게 만드나요?
대본을 최대 20,000자의 transcript로 TTS 1.0에 보내고 음성을 지정하세요. 음성은 목소리가 준비된 아바타의 avatar_id나 avatar_handle, 또는 voice.id로 지정합니다. 목소리 클론과 설명으로 목소리 만들기는 API가 아니라 Sume 앱의 보이스(Voices)에서 합니다. 내 목소리로 AI 보이스오버 만들기: 한 번 클론해 TTS에 재사용에서 다룹니다. 모든 필드는 텍스트 음성 변환(TTS) API: 아바타 목소리로 음성 생성하기에서 다루며, 여기서 중요한 필드는 세 가지입니다.
timestamps: { "words": true }는 완료된 결과에 시작과 끝을 초 단위로 담은words[]를 추가합니다. 현재 코드에서 각 항목은{ word, start, end }이며, 결과에는duration_seconds도 담깁니다. 이 값이 렌더의audio.duration_seconds에 넣을 값입니다.language: 영어가 아닌 대본에는 항상 지정하세요.output_format: 기본값은 44,100 Hz mp3입니다. 렌더는 스파인의 샘플레이트를 그대로 이어받으며, 32 kHz 미만인 스파인은audio_spine_low_fidelity로 보고됩니다.
3단계: 세로 B-roll은 어떻게 만드나요?
샷마다 POST /v1/videos로 생성하세요. prompt, 세로 영상이라면 aspect_ratio: "9:16", 그리고 모델이 나열한 duration을 보냅니다. sume/auto의 생성 옵션은 기본값이 720p와 8초이며, 16:9나 9:16으로 3–10초 클립을 만듭니다. 따라서 24초 보이스오버에는 8초 클립 세 개가 필요합니다. 고정한 모델의 한도는 GET /v1/videos/models에 있습니다. 각 Job의 상태를 종료 상태가 될 때까지 폴링한 다음 GET /v1/jobs/{id}/result에서 클립의 media.sume.com URL을 읽으세요. Timeline은 Sume에 호스팅된 URL만 받기 때문입니다. 슬롯에 넣은 Sume 호스팅 스틸은 정지 화면으로 유지됩니다.
B-roll에는 립싱크가 필요 없습니다. Sume의 모델 문서 (영문)에 따르면 영상 모델은 생성한 TTS에 맞춰 립싱크하지 않습니다. 화면에 말하는 사람이 필요하다면 대신 Avatar 1.0 말하는 영상이나 VEED Fabric 1.0(말하는 스틸과 오디오)을 쓰세요.
4단계: 배경 음악은 어떻게 고르거나 생성하나요?
API 키 없이 호출하는 BGM 라우트(GET /v1/bgm/catalog, 또는 분위기에 맞춰 트랙에 점수를 매기는 POST /v1/bgm/pick)가 바로 쓸 수 있는 트랙을 나열합니다. 자세한 내용은 영상 배경 음악 API: API 키 없는 Sume BGM 카탈로그에서 다룹니다. 트랙마다 라이선스가 있습니다. Sume 자체 트랙은 sume-original, 추천 트랙은 cc-by-4.0입니다. 현재 코드에서는 Sume 자체 트랙만 soundtrack.url로 받아들여집니다. CC BY 4.0 트랙은 Sume 밖의 공식 URL에 있으므로 Timeline이 거부합니다(unsupported_media_source).
영상마다 새 배경 음악을 만들려면 sume/music-auto나 GET /v1/music-router/models에서 고른 고정 ID와 함께 프롬프트를 POST /v1/music-router/generate로 보내세요. 길이 필드는 없으므로 길이는 프롬프트로 조정하고, 보이스오버 아래에 깔리도록 프롬프트를 "Instrumental, no vocals."로 끝내세요. 생성된 출력은 Sume 미디어 URL로 미러링되므로, 트랙을 그대로 렌더에 넣을 수 있습니다.
5단계: 세로 영상은 어떻게 조립하나요?
편집은 Timeline 1.0 렌더 하나로 끝나며, 기본 출력이 1080×1920이므로 세로 영상에는 output 블록이 필요 없습니다. audio.url은 보이스오버이고 audio.duration_seconds는 그 길이(1–1800)입니다. video[]에는 클립이 들어갑니다. 슬롯은 1–200개이고, 첫 슬롯은 0에서 시작합니다. soundtrack은 배경 음악을 gain_db(기본값 −16 dB, 음성 아래에 까는 배경 음악 수준)로 더하고, loop는 보이스오버가 끝날 때까지 음악을 반복하며, duck_db(0–20)는 보이스오버가 나오는 동안 음악을 낮춥니다. 출력 오디오는 보이스오버 스파인 아래에 배경 음악을 믹싱한 것이며, 현재 코드에서는 각 클립 자체의 오디오는 버려집니다. 먼저 과금되지 않는 POST /v1/timeline-1.0/plan으로 문서를 검사하세요.
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
}
}'6단계: 보이스오버 타이밍으로 자막을 어떻게 넣나요?
렌더의 video_url을 words와 함께 POST /v1/video-captions로 보내세요. words에는 TTS의 words[]를 넣되, 각 항목의 word를 text로 이름만 바꿉니다. 그러면 Sume는 음성 인식을 건너뛰고 정확히 그 단어를 정확히 그 시각에 입힙니다. 보이스오버가 첫 초부터 스파인으로 쓰이므로(audio.source_in 기본값은 0), TTS의 시각이 렌더와 그대로 맞습니다.
- 자막을 넣을 영상은 60초 이내로 유지하세요.
words의 각 시각은 0에서 60 사이이며, 현재 코드에서는 더 긴 소스를 보내면 자막 Job이 실패합니다. 오디오 스트림이 없는 소스도 마찬가지입니다. 더 긴 영상은 먼저 나누세요. words는 항목을 1–1,200개 받고, 각text는 최대 200자이며,script_text,cues,segments와 함께 쓸 수 없습니다.style을 생략하면 라틴 문구는slam으로, 한국어 문구는black-outline으로 입혀집니다. 강조 단어의 색은 대부분의 스타일에서design.colors.active로 바꿀 수 있지만,punch와tiktok-green에서는design을 지원하지 않습니다. 나머지는 자막 커스터마이즈 API: 색, 위치, 크기, 줄당 단어 수에 정리되어 있습니다.
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 }
]
}'7단계: 어떻게 전달하고, 일정이나 트리거에 따라 실행하나요?
유료 단계는 모두 비동기 Job입니다. 제출할 때 webhook_url을 보내면(POST /v1/videos는 이를 callback_url로 문서화합니다) Sume가 HMAC SHA-256으로 서명한 job.completed, job.failed, job.canceled를 여러분의 공개 HTTPS URL로 POST합니다. 백업으로 status_url 폴링도 유지하세요. 자막 Job의 결과가 게시할 파일이며, 게시는 여러분의 코드가 맡습니다. AI로 YouTube Shorts 자동화하기, YouTube Shorts 영상 규격, TikTok 영상 규격을 참고하세요.
호출이 여러분의 코드 안에 있으므로 실행은 여러분의 스케줄러가 맡습니다. 서버의 cron job, Cloudflare Workers cron, 또는 그날의 주제를 보내는 새 스프레드시트 행이나 노코드 시나리오 같은 트리거입니다. Sume 스케줄은 다릅니다. 대시보드에서 IANA 시간대와 5필드 cron 표현식으로 작성하며, 저장된 지시문을 새 스레드에서 Agent로 실행합니다. 실행당 생성 상한은 지정하지 않으면 $1.00입니다. 시계가 아니라 이벤트로 영상을 시작해야 한다면, Scheduled 문서는 대신 백엔드에서 Format을 호출하라고 안내합니다.
호출 한 번으로 얼굴 없는 영상 전체를 만들 수 있나요?
네. Sume의 기초 페이지는 에이전트가 개별 도구(Image, Video, Avatar, TTS, timeline)를 조합해 B-roll, 보이스오버, 타임라인 조립을 거친 게시 준비 영상을 만든다고 설명합니다. 브리프(주제, 9:16, 길이, 보이스오버, 자막, 음악)를 Agent Completions로 보내거나, 잘 작동하는 레시피를 Format으로 저장하고 그날의 주제를 input으로 넣어 호출하세요. 영상 에이전트 API: 브리프 하나로 편집된 완성 영상 받기는 그 호출이 무엇을 반환하고 어디서 멈추는지 다룹니다.
Sume가 맞지 않는 경우는 언제인가요?
문서와 현재 코드가 정한 한계는 다음과 같습니다.
- Job 하나로 60초가 넘는 영상에 자막 넣기, 또는 오디오 스트림이 없는 영상에 자막 넣기(현재 코드).
- 디스크의 파일 받기. Timeline은 이 워크스페이스의
media.sume.comURL만 받으므로, 모든 입력은 이전 Sume Job의 출력처럼 이미 Sume에 있어야 합니다. - 추천 CC BY 트랙을 렌더에 믹싱하기.
soundtrack.url로는 Sume 자체 트랙과 Sume에 호스팅된 출력만 받아들여집니다. - TTS Job 하나로 1,200초가 넘는 오디오 합성하기. 이 경우
tts_duration_exceeded로 실패하며 크레딧은 확정되지 않습니다. - 플랫폼에 대신 게시하기. 게시는 여러분의 코드가 맡습니다.
출처
관련 글
활용 사례 카테고리의 다른 글
- AI로 영상에 맞는 음악 만들기: 생성 후 편집본에 맞추기
AI로 영상에 맞는 음악을 만들려면 편집본을 음악 브리프로 설명하고, 영상의 스틸을 보내고, 영상 길이만큼 요청한 뒤 트랙을 영상에 맞추세요.
- UGC 광고 훅 베리에이션: 훅만 바꾸고 본편은 재사용
UGC 광고 훅 베리에이션은 도입부만 바꿔 만드세요. 같은 본편 클립과 음성 위에 훅마다 Timeline 렌더를 하나씩 만들고, 먼저 무료로 검사합니다.
- 광고 영상은 몇 초가 적당한가요? 플랫폼별 영상 광고 길이
정답인 길이 하나는 없고, 플랫폼마다 자체 기준을 공개합니다. YouTube 범퍼 광고는 6초이고, Facebook은 15초 이하 인스트림 광고를 끝까지 재생합니다.
- AI 아바타 인플루언서 만드는 법: 얼굴 하나, 목소리 하나
AI 인플루언서는 재사용 가능한 얼굴과 목소리 하나입니다. Sume 아바타를 한 번 만들고, 영상과 보이스오버에는 handle을, 새 사진에는 스틸을 재사용하세요.
작성자 Sume