Vertrouwd door meer dan 500.000+ gebruikers
Krachtige Voice Cloning API-functies
Alles wat je nodig hebt om professioneel stemmen klonen te integreren in je applicatiesOnbeperkt
Onbeperkt stemmen klonenMaak onbeperkt aangepaste stemmen van audiomonsters. Upload audio in MP3-, WAV-, AAC-, M4A- of FLAC-indeling.Premium kwaliteit
Audio van hoge kwaliteitGenereer natuurlijk klinkende spraak met geavanceerde AI-technologie. Ondersteuning voor meerdere audioformaten en uitvoer van hoge kwaliteit.Ontwikkelaarsvriendelijk
Eenvoudige integratieEenvoudige REST API met uitgebreide documentatie. Integreer voice klonen in je applicaties met slechts een paar API-aanroepen.Voice Cloning API-workflow
Maak aangepaste stemmen met slechts een paar eenvoudige API-aanroepen01
Upload audiomonster
Ontvang een vooraf toegewezen URL en upload je audiobestand in ondersteunde formaten zoals MP3, WAV, AAC, M4A of 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
Aangepaste stem maken
Maak een aangepaste stem met behulp van het geüploade audiomonster. Geef een naam en de bestandssleutel van de uploadstap.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
Gebruik in TTS en AI nasynchronisatieprojecten
Gebruik je aangepaste stem-ID in TTS- en AI Dubbing-projecten.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"
}
]
}'Voice Cloning API eindpunten
Volledige API-referentie met voorbeelden voor alle eindpuntenGET
/uploadURL voor uploadbestand opvragen
Verkrijg vooraf ondertekende URL voor bestandsupload en retourneer bestandssleutelRequest
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/createAangepaste stem maken
Een nieuwe aangepaste stem maken met behulp van een geüpload audiomonsterRequest
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/listEigen stemmen ophalen
Al je stemmen ophalen met pagineringRequest
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}Aangepaste stem verwijderen
Een aangepaste stem uit je account verwijderenRequest
JSON
Path Parameters:
- id: string (voice ID)Response
JSON
{
"id": "custom_voice_id",
"success": true
}Voice Cloning API-codevoorbeelden
Gebruiksklare codevoorbeelden in meerdere programmeertalenJavaScript 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);
?>Voice Cloning API FAQ
Wat is de Voice Cloning API en hoe werkt het?
Met onze Voice Cloning API kun je aangepaste AI-stemmen maken van audiomonsters. Upload gewoon een audiobestand, maak een aangepaste stem en gebruik die in je TTS- en AI- nasynchronisatieprojecten.
Welke audioformaten worden ondersteund voor stem klonen?
We ondersteunen MP3, WAV, AAC, M4A en FLAC audioformaten. Het audiobestand moet 20 seconden lang zijn zonder achtergrondgeluiden voor optimale resultaten bij het klonen van je stem.
Hoeveel aangepaste stemmen kan ik maken?
Bij betaalde plannen kun je onbeperkt aangepaste stemmen maken.
Hoe lang duurt het om een aangepaste stem te maken?
Stemmen klonen duurt meestal enkele seconden, afhankelijk van de lengte en complexiteit van de audio.
Kan ik aangepaste stemmen gebruiken in TTS-projecten?
Ja! Zodra je aangepaste stemmen hebt gemaakt, kun je ze gebruiken in TTS-projecten door te verwijzen naar de stem-ID. Ze werken naadloos samen met onze Text-to-Speech API voor het genereren van natuurlijk klinkende spraak.
Kan ik aangepaste stemmen gebruiken in AI Dubbing-projecten?
Ja! Zodra je aangepaste stemmen hebt gemaakt, kunnen ze worden gebruikt in AI Dubbing-projecten door te verwijzen naar de stem-ID. Ze werken naadloos samen met onze AI Dubbing API voor het genereren van natuurlijk klinkende spraak.
Zijn mijn audiogegevens veilig en privé?
Absoluut. We nemen de privacy van gegevens serieus. Je audiobestanden worden versleuteld en veilig opgeslagen. Je kunt aangepaste stemmen en de bijbehorende audiogegevens op elk gewenst moment verwijderen.
