탐색으로 건너뛰기

더빙 빠른 시작

더빙 API를 사용하여 여러 언어의 오디오 및 비디오 파일을 더빙하는 방법을 알아보세요.

이 가이드에서는 더빙 API로 미디어 파일을 다른 언어로 더빙하는 방법을 설명합니다. 이 예제에서는 영어 오디오 파일로 더빙 프로젝트를 만들고 스페인어 더빙을 생성합니다.

더빙 프로젝트는 두 부분으로 구성됩니다. 하나의 소스 미디어와 해당 트랜스크립트를 보관하는 프로젝트, 그리고 각각 한 언어로 더빙된 출력을 생성하는 하나 이상의 언어 대상입니다. 프로젝트를 만들고 소스가 트랜스크립션될 때까지 기다린 뒤 언어를 추가하고 완성된 더빙을 다운로드합니다.

프로젝트를 생성하면 더빙 프로젝트의 최소 요금인 언어 1개분이 선불로 청구됩니다. 이는 첫 번째 언어 대상에 대한 선결제입니다. 처음 추가하는 언어에서 이를 사용하며, 추가 언어는 각각 별도로 청구됩니다. 자세한 내용은 더빙 비용은 얼마인가요?를 참조하세요.

언어는 es 또는 fr-CA와 같은 BCP-47 태그로 지정합니다. 허용되는 모든 값은 지원 언어 및 방언에서 확인하세요.

더빙 API 사용

1

API 키 생성

대시보드에서 API 키를 생성하세요. 이 키로 API에 안전하게 액세스할 수 있습니다.

키는 관리형 시크릿으로 저장하고, .env 파일을 통한 환경 변수 또는 앱 구성에서 직접 SDK에 전달하세요.

.env
ELEVENLABS_API_KEY=<your_api_key_here>
2

SDK 설치

환경 변수에서 API 키를 불러오기 위해 dotenv 라이브러리도 사용합니다.

pip install elevenlabs
pip install python-dotenv

Python 예제에서는 더빙 오디오를 다운로드하기 위해 requests 라이브러리를 사용합니다. pip install requests로 설치하세요.

3

API 요청 수행

선택한 언어에 따라 example.py 또는 example.mts라는 새 파일을 만들고 다음 코드를 추가합니다.

# example.py
import os
import time
import requests
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
# 1. Create a project from a source URL
project = elevenlabs.dubbing.project.create(
source_url="https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3",
source_language="en",
reference="Quickstart dub",
)
# 2. Wait for the source media to be transcribed
while True:
project = elevenlabs.dubbing.project.get(project.project_id)
if project.status == "ready":
break
if project.status == "failed":
raise RuntimeError("Project preparation failed")
print("Preparing project...")
time.sleep(5)
# 3. Add a Spanish language target
language = elevenlabs.dubbing.project.language.create(
project.project_id,
target_language="es",
)
# 4. Wait for the dub to finish generating
while True:
language = elevenlabs.dubbing.project.language.get(
project.project_id, language.language_id
)
if language.status == "completed":
break
if language.status == "failed":
raise RuntimeError("Dub generation failed")
print("Generating dub...")
time.sleep(5)
# 5. Download the dubbed audio from the signed URL
audio = requests.get(language.outputs.lossless_audio)
with open("dubbed.wav", "wb") as f:
f.write(audio.content)
print("Saved dubbed audio to dubbed.wav")

outputs.lossless_audio의 다운로드 URL은 서명되어 있으며 발급 후 약 1시간이 지나면 만료됩니다. 만료된 경우 언어를 다시 가져와 새 URL을 받으세요.

그런 다음 실행합니다.

python example.py

더빙 오디오는 작업 디렉터리에 dubbed.wav로 저장됩니다.

실패 처리

언어 추가에 실패하면 새 프로젝트를 만드는 대신 기존 프로젝트에 동일한 언어를 다시 추가하세요. 프로젝트와 트랜스크립션된 소스는 재사용할 수 있으므로, 언어를 재시도하는 편이 더 빠르고 언어 1개 최소 요금을 두 번째로 지불하지 않아도 됩니다.

준비 중 프로젝트 자체가 failed 상태가 되어 소스를 트랜스크립션할 수 없는 경우에만 새 프로젝트를 만드세요. 소스 파일 또는 URL을 확인한 후 새 프로젝트를 만드세요.

엔터프라이즈 워크스페이스에서는 언어를 추가하기 전에 소스 트랜스크립트를 검토하고 수정할 수 있어 더 정확한 번역을 생성합니다. 더빙 수정 및 재생성을 참조하세요.

다음 단계