Más de 500.000 usuarios confían en nosotros
Potentes funciones de la API de clonación de voz
Todo lo que necesita para integrar la clonación de voz profesional en sus aplicacionesSin límites
Clonación de voz ilimitadaCrea voces personalizadas ilimitadas a partir de muestras de audio. Sube audio en formato MP3, WAV, AAC, M4A o FLAC.Calidad superior
Audio de alta calidadGenere voz con sonido natural gracias a la avanzada tecnología de IA. Compatible con varios formatos de audio y salida de alta calidad.Desarrolladores
Fácil integraciónAPI REST sencilla con documentación completa. Integre la clonación de voz en sus aplicaciones con solo unas pocas llamadas a la API.Flujo de trabajo de la API de clonación de voz
Cree voces personalizadas con unas sencillas llamadas a la API01
Cargar muestra de audio
Obtén una URL preasignada y sube tu archivo de audio en formatos compatibles como MP3, WAV, AAC, M4A o 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
Crear voz personalizada
Cree una voz personalizada utilizando la muestra de audio cargada. Proporcione un nombre y la clave del archivo desde el paso de carga.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
Uso en proyectos de doblaje TTS y AI
Utiliza tu identificador de voz personalizado en proyectos TTS y de doblaje AI.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"
}
]
}'Puntos finales de la API de clonación de voz
Referencia completa de la API con ejemplos para todos los puntos finalesGET
/uploadObtener la URL del archivo cargado
Obtener la URL preasignada para la carga de archivos y devolver la clave del archivoRequest
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/createCrear voz personalizada
Crear una nueva voz personalizada utilizando una muestra de audio cargadaRequest
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/listConsigue voces personalizadas
Recupera todas tus voces personalizadas con paginaciónRequest
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}Borrar voz personalizada
Eliminar una voz personalizada de tu cuentaRequest
JSON
Path Parameters:
- id: string (voice ID)Response
JSON
{
"id": "custom_voice_id",
"success": true
}Ejemplos de código de la API de clonación de voz
Ejemplos de código listos para usar en varios lenguajes de programaciónJavaScript 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);
?>Preguntas frecuentes sobre la API de clonación de voz
¿Qué es la API de clonación de voz y cómo funciona?
Nuestra API de clonación de voces le permite crear voces AI personalizadas a partir de muestras de audio. Solo tienes que subir un archivo de audio, crear una voz personalizada y utilizarla en tus proyectos de doblaje TTS y AI.
¿Qué formatos de audio son compatibles con la clonación de voz?
Admitimos los formatos de audio MP3, WAV, AAC, M4A y FLAC. El archivo de audio debe ser de 20 segundos sin ruido de fondo para obtener resultados óptimos de clonación de voz.
¿Cuántas voces personalizadas puedo crear?
En los planes de pago, puedes crear un número ilimitado de voces personalizadas.
¿Cuánto se tarda en crear una voz personalizada?
La clonación de voz suele tardar unos segundos, dependiendo de la longitud y complejidad del audio.
¿Puedo utilizar voces personalizadas en proyectos TTS?
Sí. Una vez creadas, tus voces personalizadas pueden utilizarse en proyectos TTS haciendo referencia al ID de voz. Funcionan a la perfección con nuestra API de conversión de texto a voz para generar un habla que suene natural.
¿Puedo utilizar voces personalizadas en proyectos de doblaje AI?
Sí. Una vez creadas, sus voces personalizadas pueden utilizarse en proyectos de Doblaje AI haciendo referencia al ID de voz. Funcionan a la perfección con nuestra API de Doblaje AI para generar voz con sonido natural.
¿Están seguros y son privados mis datos de audio?
Absolutamente. Nos tomamos muy en serio la privacidad de los datos. Tus archivos de audio están encriptados y almacenados de forma segura. Puedes eliminar las voces personalizadas y sus datos de audio asociados en cualquier momento.
