Voice klonen API

Maak aangepaste AI-stemmen van audiomonsters met onze Voice Cloning API. Upload audio, kloon stemmen en gebruik ze in Text to Speech of AI Dubbing.
Stem klonen
Aangepaste stemmen
REST API
Voice Cloning Interface
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 applicaties
Onbeperkt
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-aanroepen
01

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 eindpunten
GET
/upload

URL voor uploadbestand opvragen

Verkrijg vooraf ondertekende URL voor bestandsupload en retourneer bestandssleutel
Request
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/create

Aangepaste stem maken

Een nieuwe aangepaste stem maken met behulp van een geüpload audiomonster
Request
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/list

Aangepaste stemmen krijgen

Vind al je aangepaste stemmen terug met paginering
Request
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 verwijderen
Request
JSON
Path Parameters:
- id: string (voice ID)
Response
JSON
{
  "id": "custom_voice_id",
  "success": true
}

Voice Cloning API-codevoorbeelden

Gebruiksklare codevoorbeelden in meerdere programmeertalen
JavaScript 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.
© DubSmart LLC | Alle rechten voorbehouden.[email protected]