Dipercaya oleh lebih dari 500.000+ pengguna
Fitur API Kloning Suara yang Kuat
Semua yang Anda butuhkan untuk mengintegrasikan kloning suara profesional ke dalam aplikasi AndaTidak terbatas
Kloning Suara Tanpa BatasBuat suara khusus tanpa batas dari sampel audio. Unggah audio dalam format MP3, WAV, AAC, M4A, atau FLAC.Kualitas Premium
Audio Berkualitas TinggiMenghasilkan ucapan yang terdengar alami dengan teknologi AI yang canggih. Dukungan untuk berbagai format audio dan output berkualitas tinggi.Ramah Pengembang
Integrasi yang MudahAPI REST sederhana dengan dokumentasi yang komprehensif. Integrasikan kloning suara ke dalam aplikasi Anda hanya dengan beberapa panggilan API.Alur kerja API Kloning Suara
Membuat suara khusus hanya dengan beberapa panggilan API sederhana01
Unggah Sampel Audio
Dapatkan URL yang telah ditentukan dan unggah file audio Anda dalam format yang didukung seperti MP3, WAV, AAC, M4A, atau FLAC.API Request
curl -X GET "https://dubsmart.ai/api/v1/upload?region=EU&fileExtension=mp3" \
-H "Authorization: Bearer YOUR_API_KEY"
# Response:
{
"url": "https://storage.dubsmart.ai/voice-cloning/...",
"key": "voice-cloning/user_id/filename.mp3"
}
# Upload file
curl -X PUT -T your_audio_file.mp3 "https://storage.dubsmart.ai/voice-cloning/..."02
Membuat Suara Khusus
Buat suara khusus menggunakan sampel audio yang diunggah. Berikan nama dan kunci file dari langkah unggah.API Request
curl -X POST "https://dubsmart.ai/api/v1/custom-voices/create" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Custom Voice",
"examplePath": "voice-cloning/user_id/filename.mp3"
}'
# Response:
{
"id": "67c123...",
"name": "My Custom Voice",
"examplePath": "https://...",
"createdAt": "2024-01-15T10:30:00Z"
}'03
Penggunaan dalam Proyek Sulih Suara TTS dan AI
Gunakan ID suara khusus Anda dalam proyek TTS dan AI Dubbing.API Request
curl -X POST "https://dubsmart.ai/api/v1/projects/tts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "My TTS Project",
"segments": [
{
"text": "Hello world!",
"voice": "67c123...",
"language": "en"
}
]
}'Titik akhir API Kloning Suara
Referensi API lengkap dengan contoh untuk semua titik akhirGET
/uploadDapatkan URL file unggahan
Dapatkan URL yang telah ditentukan sebelumnya untuk mengunggah file dan mengembalikan kunci fileRequest
JSON
Query Parameters:
- region: string (default: "EU")
- fileExtension: string (mp3, wav, aac, m4a, flac)Response
JSON
{
"url": "https://storage.dubsmart.ai/voice-cloning/...",
"key": "voice-cloning/user_id/filename.mp3"
}POST
/custom-voices/createMembuat suara khusus
Membuat suara khusus baru menggunakan sampel audio yang diunggahRequest
JSON
{
"name": "My Custom Voice",
"examplePath": "voice-cloning/user_id/filename.mp3"
}Response
JSON
{
"id": "67c123...",
"name": "My Custom Voice",
"examplePath": "https://...",
"createdAt": "2024-01-15T10:30:00Z"
}POST
/custom-voices/listDapatkan suara khusus
Mengambil semua suara khusus Anda dengan paginationRequest
JSON
{
"limit": 10,
"cursor": "cursor_value"
}Response
JSON
{
"items": [
{
"id": "custom_voice_id",
"name": "My Custom Voice",
"examplePath": "https://...",
"createdAt": "2024-01-15T10:30:00Z"
}
],
"nextCursor": "next_cursor_value"
}DELETE
/custom-voices/{id}Menghapus suara khusus
Menghapus suara khusus dari akun AndaRequest
JSON
Path Parameters:
- id: string (voice ID)Response
JSON
{
"id": "custom_voice_id",
"success": true
}Contoh kode API Kloning Suara
Contoh kode yang siap digunakan dalam berbagai bahasa pemrogramanJavaScript Example
// JavaScript/Node.js Example
const axios = require('axios');
const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://dubsmart.ai/api/v1';
async function createCustomVoice() {
try {
// Step 1: Get upload URL
const uploadResponse = await axios.get(`${BASE_URL}/upload`, {
params: {
region: 'EU',
fileExtension: 'mp3'
},
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
console.log('Upload URL:', uploadResponse.data.url);
// Step 2: Upload audio file (you would use the presigned URL here)
// This is typically done with a PUT request to the presigned URL
// Step 3: Create custom voice
const voiceResponse = await axios.post(`${BASE_URL}/custom-voices/create`, {
name: 'My Custom Voice',
examplePath: uploadResponse.data.key
}, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
console.log('Custom voice created:', voiceResponse.data);
// Step 4: List custom voices
const voicesResponse = await axios.post(`${BASE_URL}/custom-voices/list`, {
limit: 10
}, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
console.log('Custom voices:', voicesResponse.data.items);
return voiceResponse.data;
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
// Usage
createCustomVoice();Python Example
# Python Example
import requests
import json
API_KEY = 'your_api_key_here'
BASE_URL = 'https://dubsmart.ai/api/v1'
def create_custom_voice():
headers = {'Authorization': f'Bearer {API_KEY}'}
try:
# Step 1: Get upload URL
upload_response = requests.get(f'{BASE_URL}/upload',
params={'region': 'EU', 'fileExtension': 'mp3'},
headers=headers
)
upload_data = upload_response.json()
print(f"Upload URL: {upload_data['url']}")
# Step 2: Upload audio file (you would use the presigned URL here)
# This is typically done with a PUT request to the presigned URL
# Step 3: Create custom voice
voice_data = {
'name': 'My Custom Voice',
'examplePath': upload_data['key']
}
voice_response = requests.post(f'{BASE_URL}/custom-voices/create',
json=voice_data,
headers=headers
)
voice_result = voice_response.json()
print(f"Custom voice created: {voice_result}")
# Step 4: List custom voices
list_data = {'limit': 10}
voices_response = requests.post(f'{BASE_URL}/custom-voices/list',
json=list_data,
headers=headers
)
voices_result = voices_response.json()
print(f"Custom voices: {voices_result['items']}")
return voice_result
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
# Usage
create_custom_voice()cURL Example
# cURL Examples
# Step 1: Get upload URL
curl -X GET "https://dubsmart.ai/api/v1/upload?region=EU&fileExtension=mp3" \
-H "Authorization: Bearer YOUR_API_KEY"
# Response:
# {
# "url": "https://storage.dubsmart.ai/voice-cloning/...",
# "key": "voice-cloning/user_id/filename.mp3"
# }
# Step 2: Upload audio file
curl -X PUT -T your_audio_file.mp3 "https://storage.dubsmart.ai/voice-cloning/..."
# Step 3: Create custom voice
curl -X POST "https://dubsmart.ai/api/v1/custom-voices/create" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Custom Voice",
"examplePath": "voice-cloning/user_id/filename.mp3"
}'
# Response:
# {
# "id": "67c123...",
# "name": "My Custom Voice",
# "examplePath": "https://...",
# "createdAt": "2024-01-15T10:30:00Z"
# }
# Step 4: List custom voices
curl -X POST "https://dubsmart.ai/api/v1/custom-voices/list" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"limit": 10}'
# Step 5: Delete custom voice
curl -X DELETE "https://dubsmart.ai/api/v1/custom-voices/VOICE_ID" \
-H "Authorization: Bearer YOUR_API_KEY"PHP Example
<?php
// PHP Example
$apiKey = 'your_api_key_here';
$baseUrl = 'https://dubsmart.ai/api/v1';
function createCustomVoice($apiKey, $baseUrl) {
$headers = [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
];
try {
// Step 1: Get upload URL
$uploadUrl = $baseUrl . '/upload?region=EU&fileExtension=mp3';
$uploadResponse = file_get_contents($uploadUrl, false, stream_context_create([
'http' => [
'method' => 'GET',
'header' => $headers
]
]));
$uploadData = json_decode($uploadResponse, true);
echo "Upload URL: " . $uploadData['url'] . "\n";
// Step 2: Upload audio file (you would use the presigned URL here)
// This is typically done with a PUT request to the presigned URL
// Step 3: Create custom voice
$voiceData = [
'name' => 'My Custom Voice',
'examplePath' => $uploadData['key']
];
$voiceContext = stream_context_create([
'http' => [
'method' => 'POST',
'header' => $headers,
'content' => json_encode($voiceData)
]
]);
$voiceResponse = file_get_contents($baseUrl . '/custom-voices/create', false, $voiceContext);
$voiceResult = json_decode($voiceResponse, true);
echo "Custom voice created: " . json_encode($voiceResult) . "\n";
// Step 4: List custom voices
$listData = ['limit' => 10];
$listContext = stream_context_create([
'http' => [
'method' => 'POST',
'header' => $headers,
'content' => json_encode($listData)
]
]);
$voicesResponse = file_get_contents($baseUrl . '/custom-voices/list', false, $listContext);
$voicesResult = json_decode($voicesResponse, true);
echo "Custom voices: " . json_encode($voicesResult['items']) . "\n";
return $voiceResult;
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}
}
// Usage
createCustomVoice($apiKey, $baseUrl);
?>FAQ API Kloning Suara
Apa itu API Kloning Suara dan bagaimana cara kerjanya?
API Kloning Suara kami memungkinkan Anda membuat suara AI khusus dari sampel audio. Cukup unggah file audio, buat suara khusus, dan gunakan dalam proyek TTS dan AI Dubbing Anda.
Format audio apa yang didukung untuk kloning suara?
Kami mendukung format audio MP3, WAV, AAC, M4A, dan FLAC. File audio harus terdiri dari 20 detik tanpa suara latar belakang untuk hasil kloning suara yang optimal.
Berapa banyak suara khusus yang dapat saya buat?
Pada paket berbayar, Anda dapat membuat suara khusus tanpa batas.
Berapa lama waktu yang dibutuhkan untuk membuat suara khusus?
Kloning suara biasanya memerlukan waktu beberapa detik, tergantung pada panjang dan kompleksitas audio.
Dapatkah saya menggunakan suara khusus dalam proyek TTS?
Ya! Setelah dibuat, suara khusus Anda dapat digunakan dalam proyek TTS dengan merujuk ID suara. Suara-suara ini bekerja secara mulus dengan API Text-to-Speech kami untuk menghasilkan ucapan yang terdengar alami.
Dapatkah saya menggunakan suara khusus dalam proyek AI Dubbing?
Ya! Setelah dibuat, suara khusus Anda dapat digunakan dalam proyek AI Dubbing dengan merujuk pada ID suara. Mereka bekerja dengan mulus dengan AI Dubbing API kami untuk menghasilkan ucapan yang terdengar alami.
Apakah data audio saya aman dan pribadi?
Tentu saja. Kami menangani privasi data dengan serius. File audio Anda dienkripsi dan disimpan dengan aman. Anda dapat menghapus suara khusus dan data audio terkait kapan saja.
