영상에서 무음 구간을 자동으로 제거하는 방법
전사문의 단어 타이밍으로 모든 쉼을 찾고, 말소리 앞뒤로 약간의 여유를 남긴 뒤, 남길 구간을 Timeline Job 하나에서 차례로 이어 렌더링하세요.

영상에서 무음 구간을 제거하려면 아무도 말하지 않는 쉼을 찾아 잘라 내고, 남은 부분을 이어 붙이세요. Sume에서는 클립이 이미 Sume에 호스팅되어 있다면 영상 검사(transcribe: true)로 클립을 전사하고, 단어 사이의 틈 중 임계값보다 긴 것은 모두 무음으로 본 뒤, 남길 구간들을 클립에서 분리한 오디오 위에 Timeline 1.0 Job 하나로 차례로 이어 렌더링하세요.
아래 내용은 2026-09-27에 확인한 Sume의 영상 검사, 오디오 분리, Timeline 1.0, 타임라인 오디오 문서와 Sume API 레퍼런스를 기준으로 합니다. 렌더 자체는 API로 영상 일부 잘라내기에서 단계별로 설명하며, 이 글은 모든 쉼을 자동으로 찾는 방법을 다룹니다.
무음 구간은 어떻게 자동으로 찾나요?
전사문을 요청하세요. 클립은 앞서 실행한 Sume Job의 출력처럼 이미 워크스페이스에 있는 media.sume.com 아티팩트나 에셋이어야 합니다. Sume에는 컴퓨터에 있는 녹화 파일을 올리는 공개 업로드 경로가 없습니다(엔드포인트별로 받는 URL). 클립을 transcribe: true, 그리고 스틸을 건너뛰는 frames: false와 함께 POST /v1/video-inspect로 보내세요. 기본 mode는 sync이며, 최대 30초 기다렸다가 결과와 함께 200으로 응답하거나, GET /v1/video-inspect/:id에서 폴링할 Job과 함께 202로 응답합니다.
결과의 transcript.words[]에는 단어마다 영상 시작부터 잰 초 단위의 start와 end가 담깁니다. 단어가 있는 곳이 말소리이고, 한 단어의 end와 다음 단어의 start 사이의 틈은 모두 쉼입니다.
curl -X POST https://api.sume.com/v1/video-inspect \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: talk-silence-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"frames": false,
"transcribe": true
}'단어 타이밍을 컷으로 바꾸려면 어떻게 하나요?
숫자 두 개를 정하세요. 잘라 낼 만한 가장 짧은 쉼인 임계값과, 단어 가장자리가 잘리지 않도록 말소리 양쪽에 남겨 두는 여유입니다. 둘 다 Sume 설정이 아니라 여러분이 정하는 값입니다. 아래 Python 함수는 단어들을 병합해 남길 구간을 만듭니다. API 레퍼런스는 word만 필수로 표시하므로, 이 함수는 타이밍이 없는 항목을 건너뜁니다.
- 두 구간의 여유가 서로 겹치지 않도록 임계값은 여유의 두 배보다 크게 두세요.
- 각 쌍은 분리한 wav의
audio.parts[]조각 하나와 클립의video[]슬롯 하나가 되며, 둘 다 그 쌍의source_in과duration을 씁니다. 각 슬롯은 앞서 남긴 길이의 누적 합에서 시작하고,audio.duration_seconds는 남긴 길이를 모두 더한 값입니다. - 스파인으로 쓸 오디오는
POST /v1/audio-detach로 분리하세요. 전사문 자체의audio_url은 음성 인식용 16 kHz 모노 사본이며, API 레퍼런스에 따르면 타임라인 스파인이 아닙니다. - 비용을 내기 전에, 과금되지 않는
POST /v1/timeline-1.0/plan이 슬롯이 수십 개인 본문을 검사하고 그 본문의duration_seconds,segment_count,estimated_cost_usd_micros를 반환합니다.
def kept_ranges(words, clip_length, threshold=0.6, margin=0.15):
"""(source_in, duration) pairs from transcript.words[]."""
timed = [w for w in words if "start" in w and "end" in w]
ranges = []
for w in timed:
if ranges and w["start"] - ranges[-1][1] <= threshold:
ranges[-1][1] = w["end"] # same stretch of speech
else:
ranges.append([w["start"], w["end"]]) # pause before this word
kept = []
for start, end in ranges:
s, e = max(0.0, start - margin), min(clip_length, end + margin)
if e - s >= 0.2: # a Timeline slot lasts at least 0.2 s
kept.append((round(s, 3), round(e - s, 3)))
return kept무엇을 무음으로 보나요?
여기서 무음은 소리가 작은 구간이 아니라 전사된 단어가 없는 구간을 뜻합니다. 단어 사이의 틈은 음악이나 배경음이 채우고 있어도 잘리며, 전사문이 놓친 단어는 그 틈과 함께 잘립니다. 게시하기 전에 결과를 한 번 재생해 보세요.
렌더 한 번으로 쉼을 몇 개까지 제거할 수 있나요?
video[]가 슬롯을 최대 200개까지 받으므로, 렌더 하나에 남길 구간을 최대 200개까지 넣을 수 있습니다. 다만 audio.parts[]는 조각 20개가 상한이므로, 남길 구간이 20개를 넘으면 API로 영상 일부 잘라내기에서 보여 주듯 타임라인 오디오로 오디오 조각부터 이어 붙인 뒤, 이어 붙인 파일을 audio.url로 넘기세요.
비용은 얼마이고, 한도는 어떻게 되나요?
각 단계는 따로 과금되며, 기본적으로 5.5% 에이전트 수수료가 더해집니다. 오디오 분리 한 번의 출력은 최대 900초이므로, 900초보다 긴 클립에는 range를 지정한 분리가 두 번 필요합니다. 이때 각 part의 source_in은 자기 파일의 시작부터 셉니다.
| 단계 | 호출 | 과금 | 한도 |
|---|---|---|---|
| 전사문 | POST /v1/video-inspect | duration_seconds 힌트로 계산해 오디오 분당 $0.01 기준으로 예약(힌트를 생략하면 일 분); 프로브는 과금 없음 | 소스 ≤ 1,800초; 힌트 ≤ 600초 |
| 스파인 | POST /v1/audio-detach | Job당, 요율은 GET /v1/catalog에 표시 | 소스 ≤ 1,800초; 출력 ≤ 900초 |
| 오디오 잇기 | POST /v1/timeline-1.0/audio | Job당, 요율은 GET /v1/catalog에 표시 | part 1–20개; 생성 오디오 ≤ 1,800초 |
| 렌더 | POST /v1/timeline-1.0/render | 출력 분당 $0.10 기준으로 예약, 예약액을 넘는 청구 없음 | 출력 1–1,800초; 오디오 part ≤ 20개; 슬롯 1–200개, 각 ≥ 0.2초 |
출처
관련 글
미디어 도구 카테고리의 다른 글
- 영상을 90도 회전해 저장하는 방법
ffmpeg의 transpose 필터로 영상을 90도 회전하세요. clock은 시계 방향, cclock은 반시계 방향으로 돌리며, Sume의 영상 필터는 결과를 새 MP4로 저장합니다.
- Shopify 제품 이미지 크기와 영상 규격: AI 미디어용
Shopify는 정사각형 제품 이미지에 보통 2048 x 2048 px가 가장 잘 표시된다고 안내합니다. Sume에 이 크기를 요청한 뒤 Shopify의 다른 상한을 확인하세요.
- Snapchat 광고 규격: 9:16 영상 720×1280, 3–180초
Snapchat 영상 광고는 9:16, 720×1280, .mp4 또는 .mov, 3–180초이며, Commercials는 처음 6초를 건너뛸 수 없습니다. Sume로 만드는 방법입니다.
- Spotify 영상 광고 규격: 9:16 또는 16:9, 최대 30초
Spotify 영상 광고는 최대 30초, 약 720x1280 또는 1280x720의 9:16 또는 16:9, 최대 500 MB의 MOV나 MP4이며, 소리는 -14 dBFS RMS로 맞춥니다.
작성자 Sume