번역된 동영상을 위한 목소리 복제 API

다른 언어로 번역된 동영상에서도 모든 발표자의 원래 목소리를 유지하세요. API가 원본 동영상에서 목소리를 자동으로 복제하거나 미리 만들어 둔 맞춤형 목소리를 사용하여, 복제된 목소리와 음성 트랙, 자막이 포함된 더빙 동영상을 제공합니다.
즉석 목소리 복제
맞춤형 목소리 복제
REST + Python SDK
clone, assign, re-dub
OAuth 2.0
# 1. create the dub - each speaker gets an Instant Voice Clone by default
curl -X POST https://api.rask.ai/v2/projects \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"video_id": "b8f7835d-e8c9-4ff4-8e34-5c336d818319", "dst_lang": "es-mx"}'

# 2. list the voices available in this project
curl https://api.rask.ai/v2/projects/$ID/voices \
  -H "Authorization: Bearer $TOKEN"
#  "label": "Voice Clone", "gender": "auto"         instant clone
#  "label": "Maria Lopez", "sample_src": "https://..."  your custom clone

# 3. assign your custom clone - include every speaker in the map
curl -X PATCH https://api.rask.ai/v2/projects/$ID \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"voice": {"SPEAKER_00": "<custom_voice_id>", "SPEAKER_01": "<voice_id>"}}'
GET /v2/projects/{project_id}
polling, 10s
# 4. re-dub with the new voices, then poll until merging_done
curl -X POST https://api.rask.ai/v2/projects/$ID/generate \
  -H "Authorization: Bearer $TOKEN"
while :; do
  curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" | jq .status
  sleep 10
done
전 세계 팀들이 사용하는
지원 기능

목소리 복제 API의 주요 기능

원본 동영상의 각 발표자를 복제하거나, 한 번 만들어 둔 맞춤형 목소리를 여러 언어의 번역본에 사용하세요. 목소리 복제가 지원되지 않는 언어의 경우 AI 음성 프리셋을 선택할 수 있습니다. 추가 요금이 부과되는 입술 싱크 기능은 선택 사항입니다.

즉석 목소리 복제

오디오 샘플을 따로 녹음할 필요 없이, 모든 발표자가 원본 동영상의 자기 목소리를 그대로 복제받습니다. 지원되는 목표 언어에서는 기본으로 지정됩니다.

맞춤형 목소리 복제

깨끗한 오디오 샘플을 이용해 Rask 앱에서 재사용 가능한 목소리를 만들거나, 기존 프로젝트의 발표자 목소리를 목소리 복제 라이브러리에 저장하세요. 발표자의 동의를 얻어 지원되는 목표 언어의 API 프로젝트 전반에서 해당 목소리를 다시 사용할 수 있습니다.

발표자별 1개 목소리

발표자들이 자동으로 구분되고 각자 복제된 목소리를 유지하므로 인터뷰, 패널 토론, 팟캐스트를 쉽게 시청할 수 있습니다.

립싱크

완료된 프로젝트에서 선택 사항으로 입모양을 복제된 목소리에 맞출 수 있으며 별도 요금이 청구됩니다. 얼굴 인식이 먼저 실행되므로 효과가 있는 곳에만 적용할 수 있습니다.

기존 배경음 유지

음악, 현장음, 효과음이 음성과 분리되어 복제된 목소리 아래에 다시 믹싱되므로 원본 제작 당시의 사운드가 그대로 유지됩니다.

AI 음성 프리셋

목소리 복제가 지원되지 않는 언어이거나 일반 음성이 더 잘 어울리는 경우, 발표자에 맞춰 성별이 설정된 AI 음성 프리셋을 선택하세요.

언어를 뛰어넘는 목소리 정체성

복제된 목소리로 스페인어, 프랑스어, 일본어를 말하더라도 원래 발표자의 목소리가 그대로 유지되므로 전 세계 시청자에게 익숙한 목소리로 전달됩니다.

목소리 교체 및 특정 발표자 재더빙

발표자에게 다른 목소리를 지정하고 다시 생성하세요. 변경된 구간에 대해서만 요금이 청구되므로 아무도 새로 녹음할 필요가 없습니다.

제한 없는 확장

이용 횟수 제한, 동시 작업 제한, 키별 속도 제한이 없습니다. 복제된 목소리로 전체 동영상 카탈로그를 병렬로 대량 더빙하세요.
실행 화면 보기

한 발표자의 목소리를 5개 언어로 듣기

영어 원본 목소리에 이어 프랑스어, 독일어, 포르투갈어, 스페인어로 복제된 목소리가 나옵니다. 각 발표자는 자신의 목소리를 유지하며 배경 오디오는 그대로 보존됩니다.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
작업 흐름

원본 동영상에서 복제된 목소리까지 3단계

프로젝트를 만들면 즉시 목소리 복제 기능과 함께 더빙이 시작됩니다. 목소리를 바꾸거나 대본을 수정한 후에는 /generate 엔드포인트를 사용하세요.
1

동영상 업로드

멀티파트 폼 데이터로 파일을 전송하거나 유튜브, 구글 드라이브, S3, 비메오 또는 기타 직통 URL의 링크를 게시하세요. 이 동영상의 음성은 각 즉시 목소리 복제 기능의 샘플 음성이 됩니다.

POST /api/library/v1/media/link
2

프로젝트 생성

미디어 ID를 video_id로 전달하고 목표 언어를 설정하세요. 감지된 각 화자에게는 지원되는 언어로 된 즉시 목소리 복제가 적용되며 더빙이 바로 시작됩니다.

POST /v2/projects
3

목소리 배정 및 재더빙

프로젝트의 목소리를 확인하고, 원하는 화자에게 맞춤형 복제 목소리나 기본 설정을 지정한 다음, /generate를 호출하고 더빙이 완료되면 파일을 다운로드하세요.

PATCH /v2/projects/{project_id}
처리 시간은 프로젝트에 따라 다릅니다. 화자의 목소리를 변경하면 해당 화자의 구간만 다시 더빙되며 요금이 청구됩니다.
맞춤형 서비스

목록에 없는 목소리가 필요하신가요? 저희 팀에 문의하세요

아직 지원되지 않는 언어의 목소리 복제, 더 큰 맞춤형 목소리 라이브러리, 자체 전달 방식 등 목소리 프로젝트에 공개 카탈로그 외의 기능이 필요한 경우 저희 팀에서 요구 사항과 가능한 옵션을 검토해 드립니다.

지원 언어 및 목소리

기본 목록에 없는 언어이나 목소리가 필요하신가요? 필요한 사항과 이용 가능한 옵션에 대해 저희 팀과 상담해 보세요.

전송 및 연동

웹훅, 자체 대기열 연동, S3 직접 전송, 맞춤형 엔드포인트를 지원합니다. 시스템에 맞는 방식을 알려주세요.

볼륨 및 처리량

배치 크기, 작업당 타겟 언어 수, 처리 우선순위는 고정된 제품 한계가 아니라 계약을 통해 조율할 수 있습니다.

보안 및 호스팅

데이터 보관, SSO 및 SAML, 보존 규칙 및 보안 검토 지원은 기업 온보딩 과정에서 처리됩니다.
사용 사례

목소리 복제 API를 사용하는 사람

동영상이 포함된 플랫폼

LMS 및 고객 교육 플랫폼, 크리에이터 및 동영상 플랫폼과 모바일 앱, 웨비나 및 가상 이벤트 도구, 동영상 호스팅 및 워크플로 SaaS, 디지털 도입 플랫폼, 라이브 쇼핑. 크리에이터와 강사가 지원되는 목소리 복제 언어 전반에서 자신의 목소리를 유지할 수 있도록 지원하세요. 다른 목표 언어에는 AI 목소리 설정을 사용하고 플랫폼에 다국어 더빙 기능을 추가해 보세요.

현지화 및 제작 대행사

모든 고객 동영상에 원래 발표자의 목소리로 맞춤형 더빙을 제공하세요. 동의를 거쳐 반복 출연하는 각 발표자의 맞춤형 복제 목소리를 보관하고, 누구나 다시 녹음할 필요 없이 API를 통해 모든 프로젝트에 재사용하세요.

사내 자체 동영상 제작

글로벌 소매 및 전자상거래, 글로벌 프랜차이즈, 미디어 퍼블리셔, 사내 대학. 교육 담당자, 임원, 제품 전문가가 한 번 녹음한 후 지원되는 목표 언어에는 복제된 목소리를 사용하고, 교육 영상, 제품 업데이트, 사내 메시지의 다른 시장 버전에는 AI 목소리 설정을 사용하세요.
고객 성공 사례

실제 팀, 가시적인 성과

Rask를 통해 동영상을 현지화한 기업들의 실제 수치와 이야기를 확인해 보세요.
화살표
화살표
코드

목소리 복제 API 코드 예시

각 언어별 완전한 예시: 인증, 업로드, 즉시 목소리 복제로 더빙, 화자에게 맞춤형 복제 목소리 지정, 재더빙 및 다운로드.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

async def wait(client, job):
    while job.status is not enums.ProjectStatus.MERGING_DONE:
        await asyncio.sleep(10)
        job = await client.get_project(project_id=job.id)
    return job

async def main():
    client = clients.RaskSDKClient(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)

    video = await client.create_media_link(data=schemas.MediaCreateLink(link="https://youtu.be/..."))
    while video.status is not enums.MediaStatus.READY:
        await asyncio.sleep(5)
        video = await client.get_media(media_id=video.id)

    # first dub: every speaker gets an Instant Voice Clone
    job = await wait(client, await client.create_project(
        data=schemas.ProjectCreate(video_id=video.id, dst_lang="es-mx")))

    # assign a custom clone to SPEAKER_00, keep the other speakers as they are
    voices = await client.get_project_voices(project_id=job.id)
    custom = next(v for v in voices if v.label == "Maria Lopez")
    voice_map = {**job.voice, "SPEAKER_00": custom.id}
    await client.patch_project(project_id=job.id, data=schemas.ProjectPatch(voice=voice_map))

    job = await wait(client, await client.generate_project(project_id=job.id))
    print(job.translated_video, job.voiceover)

asyncio.run(main())
github.com/braskai/rask-sdk
async, typed models
import time, requests

AUTH = "https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token"
API  = "https://api.rask.ai"
token = requests.post(AUTH, auth=(CLIENT_ID, CLIENT_SECRET),
                      data={"grant_type": "client_credentials"}).json()["access_token"]
h = {"Authorization": f"Bearer {token}"}

def wait(pid):
    while (p := requests.get(f"{API}/v2/projects/{pid}", headers=h).json())["status"] != "merging_done":
        time.sleep(10)
    return p

video = requests.post(f"{API}/api/library/v1/media/link", headers=h, json={"link": "https://youtu.be/..."}).json()
while video["status"] != "ready":
    time.sleep(5)
    video = requests.get(f"{API}/api/library/v1/media/{video['id']}", headers=h).json()

pid = requests.post(f"{API}/v2/projects", headers=h,
                    json={"video_id": video["id"], "dst_lang": "es-mx"}).json()["id"]
project = wait(pid)

voices = requests.get(f"{API}/v2/projects/{pid}/voices", headers=h).json()
custom = next(v for v in voices if v["label"] == "Maria Lopez")
voice_map = {**project["voice"], "SPEAKER_00": custom["id"]}   # every speaker stays in the map

requests.patch(f"{API}/v2/projects/{pid}", headers=h, json={"voice": voice_map})
requests.post(f"{API}/v2/projects/{pid}/generate", headers=h)
print(wait(pid)["translated_video"])
requests + polling
no SDK required
// no dependencies, Node 18+ global fetch
const API = 'https://api.rask.ai';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
const auth = await fetch('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token', {
  method: 'POST',
  headers: { Authorization: 'Basic ' + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`) },
  body: new URLSearchParams({ grant_type: 'client_credentials' }),
}).then((r) => r.json());
const h = { Authorization: `Bearer ${auth.access_token}`, 'Content-Type': 'application/json' };
const call = (method, path, body) => fetch(API + path, { method, headers: h, body: body && JSON.stringify(body) }).then((r) => r.json());
const wait = async (id) => { let p; while ((p = await call('GET', `/v2/projects/${id}`)).status !== 'merging_done') await sleep(10000); return p; };

let video = await call('POST', '/api/library/v1/media/link', { link: 'https://youtu.be/...' });
while (video.status !== 'ready') { await sleep(5000); video = await call('GET', `/api/library/v1/media/${video.id}`); }

const { id } = await call('POST', '/v2/projects', { video_id: video.id, dst_lang: 'es-mx' });
const project = await wait(id);

const voices = await call('GET', `/v2/projects/${id}/voices`);
const custom = voices.find((v) => v.label === 'Maria Lopez');
await call('PATCH', `/v2/projects/${id}`, { voice: { ...project.voice, SPEAKER_00: custom.id } });
await call('POST', `/v2/projects/${id}/generate`);

console.log((await wait(id)).translated_video);
fetch, Node 18+
plain HTTP
# 1. token (valid 1 hour - cache and reuse it)
TOKEN=$(curl -s -X POST https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token \
  -u "$CLIENT_ID:$CLIENT_SECRET" -d "grant_type=client_credentials" | jq -r .access_token)

# 2. create the dub - Instant Voice Clones are assigned by default
ID=$(curl -s -X POST https://api.rask.ai/v2/projects -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" -d "{\"video_id\": \"$VIDEO_ID\", \"dst_lang\": \"es-mx\"}" | jq -r .id)

# 3. after merging_done: read the current voice map and the voice options
curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" | jq .voice
curl -s https://api.rask.ai/v2/projects/$ID/voices -H "Authorization: Bearer $TOKEN" | jq '.[] | {id, label, gender}'

# 4. assign voices for every speaker, then re-dub
curl -s -X PATCH https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" -d '{"voice": {"SPEAKER_00": "<custom_voice_id>", "SPEAKER_01": "<voice_id>"}}'
curl -s -X POST https://api.rask.ai/v2/projects/$ID/generate -H "Authorization: Bearer $TOKEN"
PATCH /v2/projects/{id}
OAuth 2.0 client credentials
<?php
use GuzzleHttp\Client;

$http = new Client(['base_uri' => 'https://api.rask.ai']);
$json = fn($r) => json_decode($r->getBody(), true);
$auth = $json((new Client)->post('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token',
    ['auth' => [$clientId, $clientSecret], 'form_params' => ['grant_type' => 'client_credentials']]));
$h = ['Authorization' => 'Bearer ' . $auth['access_token']];

$wait = function ($id) use ($http, $h, $json) {
    do { sleep(10); $p = $json($http->get("/v2/projects/$id", ['headers' => $h])); }
    while ($p['status'] !== 'merging_done');
    return $p;
};

$id = $json($http->post('/v2/projects', ['headers' => $h,
    'json' => ['video_id' => $videoId, 'dst_lang' => 'es-mx']]))['id'];
$project = $wait($id);

$voices = $json($http->get("/v2/projects/$id/voices", ['headers' => $h]));
$custom = current(array_filter($voices, fn($v) => $v['label'] === 'Maria Lopez'));
$map = array_merge($project['voice'], ['SPEAKER_00' => $custom['id']]);

$http->patch("/v2/projects/$id", ['headers' => $h, 'json' => ['voice' => $map]]);
$http->post("/v2/projects/$id/generate", ['headers' => $h]);
echo $wait($id)['translated_video'];
Guzzle 7
plain HTTP
공식 SDK는 Python입니다. Node, PHP, cURL 탭은 동일한 엔드포인트를 사용하는 일반적인 HTTP 예시입니다.
진행 상황

목소리 복제 프로젝트의 진행 상황 보고 방식

프로젝트는 첫 더빙 시와 재더빙마다 문서화된 상태 머신을 거치므로, 목소리를 바꿀 때마다 사용자가 실제 진행 상황을 확인할 수 있습니다. 세 가지 그룹만 처리하면 됩니다.

성공, 여기서 중지

merging_done
더빙이 완료되었습니다. 프로젝트를 다시 불러와 다운로드 링크를 확인하세요.

진행 중, 계속 확인

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
또한 일치하는 항목 _done 단계별 진행 상황 화면에 알맞게 표시됩니다.

실패, 중단 및 보고

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words 및 forbidden_link 사용자에게 직접 보여줄 수 있을 만큼 구체적입니다.
Observed run, 3:47 source video, en → es-mx
GET /v2/projects/{project_id}
   0s  created
  11s  transcription_started
  87s  translation_started
  99s  voiceover_started
 154s  merging_started
 165s  merging_done

또는 상태 확인 과정을 완전히 건너뛰세요

웹훅 엔드포인트를 지정하면 모든 상태 전환이 POST 요청으로 전송되므로 큐가 변경 즉시 반응할 수 있습니다. 웹훅 전달은 엔터프라이즈 온보딩의 일부입니다.
문서 읽기
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
결과물

복제된 목소리, 더빙된 동영상 및 자막

복제된 목소리와 SRT 및 VTT 형식의 번역된 자막이 포함된 더빙 동영상을 다운로드하세요. 지원되는 요금제에서는 복제된 목소리 트랙만 WAV로 다운로드하거나 원래 배경 오디오와 섞어서 다운로드할 수도 있습니다.
항목
형식
설명
translated_video
MP4
바로 게시할 수 있는 더빙된 동영상
voiceover
WAV
자체 믹싱을 위해 복제된 목소리로만 이루어진 번역된 음성
translated_audio
WAV
번역된 음성과 원래의 배경음악이 섞인 오디오
translation_srt_path
.srt
번역된 언어의 자막
translation_vtt_path
.vtt
웹 플레이어용 WebVTT 자막
original_video
MP4
참고용으로 보관된 원본 파일
제어

목소리를 변경한 후 해당 화자만 다시 더빙하기

즉시 복제는 대부분의 화자에게 적합합니다. 특정 목소리에 다른 옵션이 필요한 경우 해당 화자에게 맞춤형 복제나 설정을 지정하고 다시 생성하세요. 변경된 구간에만 요금이 청구됩니다.

문장 단위 편집

문장 단위 편집
모든 프로젝트는 대본을 화자 라벨이 포함된 구간으로 제공하므로, 대사를 다른 화자에게 옮기거나 목소리를 바꾸는 작업은 요청 한 번으로 가능합니다.
대본과 문장 불러오기
원본 텍스트를 수정하면 자동으로 다시 번역됩니다.
번역된 텍스트를 직접 수정하여 원하는 표현을 유지하세요.
타임스탬프 조정, 문장 추가 및 삭제
화자에게 연결된 목소리 변경하기

용어집

용어집
용어집을 추가하여 어떤 목소리로 말하든 상관없이 브랜드 이름, 제품 이름, 기술 용어가 모든 언어에서 동일하게 번역되도록 하세요.

용어집 하나는 한 쌍의 언어에 적용되며 해당 목표 언어의 모든 지역별 변형에 공통으로 적용되므로 하나의 스페인어 용어집으로 es-mx 및 es-es 모두 커버할 수 있습니다. 프로젝트 기록은 glossary_version유지되므로 나중에 수정하더라도 완료된 작업이 예기치 않게 변경되지 않습니다.
입력

지원되는 파일 형식

7가지 동영상 형식과 4가지 오디오 형식 중 하나를 업로드하거나 URL을 전송하세요. 파일의 음성은 즉시 목소리 복제의 기준이 되므로 오디오가 깨끗할수록 더 좋은 결과를 얻을 수 있습니다.

동영상

7가지 형식
.mp4
.mov
.mkv
.avi
.webm
.m4v
.3gp

오디오

4가지 형식
.mp3
.wav
.flac
.m4a

작업 전 메타데이터 확인

미디어 엔드포인트는 재생 시간, 파일 크기, 동영상 코덱, 프레임 속도, 해상도, 오디오 코덱, 샘플링 레이트, 채널 레이아웃을 반환합니다. 복제된 목소리를 이용한 더빙은 분 단위로 요금이 청구되므로 사전에 파일을 검증하고 비용을 예상하세요.
보안 및 규정 준수

법무팀이 승인할 수 있는 음성 데이터

Brask Inc는 SOC 2 Type II 인증을 취득했으며 GDPR을 준수합니다. 또한 트러스트 센터를 통해 실시간 제어 상태를 공개합니다. 맞춤형 목소리 복제는 화자의 동의 하에 이루어지며, 데이터 보안을 위해 오디오는 일반 모델 학습에 절대 사용되지 않습니다.

인증

SOC 2 Type II
GDPR
CAI 및 C2PA 회원사

암호화

전송 중 TLS 1.2 암호화
저장 시 AES-256 암호화
SSE-S3 관리형 키
최소 12개월마다 키 갱신

회원님의 콘텐츠

폐쇄형 AI 환경
일반 모델 학습에 절대 사용되지 않음
전체 내보내기 가능, 종속성 없음

액세스

SSO 및 SAML
역할 기반 접근 제어
OAuth 2.0 클라이언트 자격 증명

기업

데이터 보관 지역 선택 옵션
맞춤형 SLA
전담 계정 관리자

음성 권리

사용 권한이 포함된 합성 목소리
동의 기반 목소리 복제
AI 안전 제어 및 사람의 관리
비교

Rask API와 직접 구축하는 음성 파이프라인 비교

텍스트 음성 변환 복제 API는 입력한 텍스트를 음성으로 변환합니다. 번역된 동영상의 복제된 목소리는 전사, 번역, 화자 분리, 타이밍 및 믹싱 작업도 거쳐야 합니다. 동일한 결과물을 두 가지 방식으로 구현한 비교입니다.
필요한 기능
Rask API
부품들을 조립하는 방식
원본 동영상의 각 화자 목소리 복제
기본 제공되는 즉시 목소리 복제
모든 화자의 샘플 수집 및 업로드
재사용 가능한 맞춤형 목소리
voice_id를 이용한 맞춤형 목소리 복제
직접 구축하고 관리하는 목소리 라이브러리
자막 추출, 번역, 음성 합성, 오디오 믹싱
하나의 API
3~4개의 서비스 업체와 이를 연결하는 코드
화자 감지 및 화자당 하나의 목소리
포함됨
화자 분리 업체와 자체 목소리 할당 로직 필요
배경 음악과 효과음 유지
포함됨
직접 구축하고 조정해야 하는 오디오 분리 단계
목소리 복제가 지원되지 않는 언어
AI 음성 프리셋
다른 텍스트 음성 변환 서비스 업체
립싱크
선택 사항, 별도 과금
별도의 서비스 업체
특정 화자의 목소리 변경
해당 화자만 다시 더빙하며, 변경된 구간에 대해서만 비용 청구
전체 파일에 대해 파이프라인 재실행
사용량 제한
없음
가장 엄격한 서비스 업체의 기준 적용
카탈로그에 없는 목소리 또는 언어
저희 팀과 논의
업체별로 상이
자주 묻는 질문

목소리 복제 API 관련 자주 묻는 질문

원하시는 내용을 찾지 못하셨나요? 영업팀에 문의해 주세요.

목소리 복제를 위한 API가 있나요?

API를 이용한 목소리 복제는 어떻게 작동하나요?

즉시 목소리 복제와 맞춤형 목소리 복제는 어떤 차이가 있나요?

API를 통해 맞춤형 목소리 복제를 만들 수 있나요?

맞춤형 목소리 복제에는 어떤 오디오 파일이 필요한가요?

어떤 언어에서 목소리 복제를 지원하나요?

목소리 복제 API를 텍스트 음성 변환(TTS)으로 사용할 수 있나요?

더빙 후에 화자의 목소리를 어떻게 바꾸나요?

맞춤형 목소리를 몇 개까지 저장할 수 있나요?

목소리를 복제하려면 동의가 필요한가요?

복제된 목소리에 화자의 감정과 억양이 유지되나요?

복제된 목소리를 상업적 목적으로 사용할 수 있나요?

목소리 복제 비용은 얼마인가요?

단 하루 만에 더블링을 시작해 보세요

오늘 첫 요청을 보내보시고, 대량 이용 조건이나 흔하지 않은 언어가 필요할 때 저희에게 문의해 주세요.