소개
Video Translator는 말하는 클립을 다른 언어로 더빙합니다. video_url에 영상을 보내고 target_language를 고르면, 도구가 음성을 받아 적고 번역한 뒤 원래 대사의 타이밍에 맞춰 다시 녹음해 같은 화면에 새 오디오를 얹어 돌려줍니다. clone_voice를 켜면 각 화자가 자신의 목소리를 본뜬 음성을 유지합니다.
핵심 기능 및 하이라이트
화자는 여전히 제 목소리로 말합니다
clone_voice를 켜면 더빙은 각 화자 고유의 음색으로 만든 목소리로 말합니다. 두 사람이 나온 저희 테스트에서 여성과 남성 모두 자신의 음색 그대로 스페인어로 돌아왔고, 각 대사는 원래 대사가 시작된 지점에서 시작했습니다.
배경 음악은 남기거나 제거
keep_background_audio가 더빙 아래에 무엇을 둘지 정합니다. 켜 두면 저장고의 실내 분위기와 방의 공간음이 원래 자리에 그대로 남습니다. 끄면 돌아오는 클립에는 번역된 목소리만 대사 사이의 완전한 무음과 함께 담기므로, 직접 믹스하기에 좋습니다.
고유명사는 그대로 지킵니다
glossary에 {term, translation} 쌍으로 용어를 넣으면 매번 지정한 방식으로 번역됩니다. 저희 테스트에서는 용어집에 넣은 표현이 그 표현이 나온 두 대사 모두에서 그대로 쓰였습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
video_url | 예 | 번역할 클립으로 1초에서 10분 사이입니다. 화면은 바뀌지 않고 돌아옵니다. 1자 이상 |
target_language | 아니요 | 더빙할 언어로 28개 중 하나입니다. 기본값은 영어입니다. |
source_language | 아니요 | 클립에서 말하는 언어입니다. 기본값은 auto이며 자동으로 감지합니다. |
clone_voice | 아니요 | 기본값은 꺼짐입니다. 켜면 각 화자가 자신의 목소리를 본뜬 음성으로 다시 녹음됩니다. 기본값: |
keep_background_audio | 아니요 | 기본값으로 켜져 있으며, 음악과 효과음이 더빙 아래 남습니다. 끄면 번역된 목소리만 대사 사이 무음과 함께 돌아옵니다. 기본값: |
speaker_count | 아니요 | 클립에서 말하는 사람 수로 1~4명입니다. 비워 두면 도구가 직접 셉니다. |
glossary | 아니요 | 고정 번역이 필요한 이름, 브랜드, 표현을 용어 / 번역 쌍으로 최대 100개까지 넣습니다. 같은 텍스트를 양쪽에 넣으면 번역하지 않고 그대로 두게 할 수 있습니다. 100개 이하 |
요금
$0.005 / 출력 초
원본 클립을 분 단위로 올림하여 과금하므로 70초 클립은 2분과 같은 요금입니다. 클립은 1초에서 10분 사이여야 합니다. 제출 전 견적은 업로드한 클립이면 실제 길이, 영상 URL이면 최대 10분 기준으로 계산되며, 차이는 작업이 정산될 때 풀립니다. 복제 목소리나 배경 제거 같은 옵션은 가격을 바꾸지 않습니다.
활용 사례
숏폼 영상 현지화
언어별 시장마다 성우를 따로 섭외하지 않고 같은 클립을 올리십시오. 1분 미만의 클립은 1분으로 과금됩니다.
영상 모델 캐릭터 더빙
영어로 말하는 생성 캐릭터를 캐릭터의 목소리를 유지한 채 시청자의 언어로 더빙할 수 있습니다.
프롬프트 가이드 및 실전 팁
음악이 깔렸다면 말하는 언어를 지정하십시오
깨끗한 음성에서는 자동 감지가 믿을 만합니다. 속삭이는 프랑스어 대사 아래 기타 소리가 깔린 클립에서는 감지가 실패해 작업이 환불 처리되었고, 같은 클립을 source_language를 프랑스어로 지정해 보내자 정상 처리되었습니다. 영상 처리와 관련된 메시지로 작업이 실패하면 source_language를 지정하고 다시 보내십시오.
몇 명이 말하는지 알려 주십시오
speaker_count는 선택 사항이지만, 두 사람 대화에 설정하면 각 대사가 올바른 목소리에 붙습니다.
화면을 고려하십시오
바뀌는 것은 오디오뿐입니다. 입 모양이 중요한 클로즈업이라면 더빙된 클립을 나중에 Lip Sync 도구에 돌리십시오.
API 빠른 시작
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/video-translator-v1/video-translate",
"input": {
"source_language": "auto",
"target_language": "en",
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.




