Más de 500.000 usuarios confían en nosotros
Potentes funciones de la API TTS
Todo lo que necesita para integrar la conversión profesional de texto a voz en sus aplicacionesTTS neuronal
Más de 300 voces de IAAccede a voces neuronales premium en más de 33 idiomas, incluidos inglés, portugués, español, francés, alemán, chino y japonés, entre otros.Sin límites
Clonación de vozCree voces personalizadas a partir de muestras de audio con clonación de voz ilimitada. Perfecto para contenidos personalizados y voces de marca.Global
33+ idiomasCompatible con más de 33 idiomas, como inglés, portugués, español, francés, alemán, chino, japonés y muchos más.Flujo de trabajo de la API TTS
Convierta texto en voz con unas sencillas llamadas a la API01
Crear proyecto TTS
Crea un nuevo proyecto de texto a voz con el contenido del texto y las preferencias de voz.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, this is a test message",
"voice": "anna_en_v2",
"language": "en"
}
]
}'02
Supervisar el procesamiento
Sigue el progreso de tu proyecto TTS a medida que procesa tu texto para convertirlo en habla natural.API Request
curl -X GET "https://dubsmart.ai/api/v1/projects/tts/{projectId}" \
-H "Authorization: Bearer YOUR_API_KEY"
# Response:
{
"id": "project_id",
"status": "processing",
"progress": 75,
"segments": [
{
"id": "segment_id",
"status": "completed",
"audioUrl": "https://..."
}
]
}03
Descargar audio
Descarga archivos de audio de alta calidad una vez finalizado el procesamiento. Obtén formato MP3 con calidad de 22 kHz.API Request
curl -X GET "https://dubsmart.ai/api/v1/projects/tts/{projectId}" \
-H "Authorization: Bearer YOUR_API_KEY"
# When status is "completed":
{
"id": "project_id",
"status": "completed",
"audioUrl": "https://storage.dubsmart.ai/audio.mp3",
"segments": [
{
"id": "segment_id",
"audioUrl": "https://storage.dubsmart.ai/segment.mp3"
}
]
}Puntos finales de la API TTS
Referencia completa de la API para la función de texto a vozPOST
/projects/ttsCrear proyecto TTS
Crear un nuevo proyecto de texto a voz con segmentos de texto y configuraciones de vozRequest
JSON
{
"title": "My TTS Project",
"segments": [
{
"text": "Hello world! This is a test message.",
"voice": "anna_en_v2",
"language": "en",
"speed": 1.0,
"pitch": 1.0
}
]
}Response
JSON
{
"id": "64f8a2b1c3d4e5f6a7b8c9d0",
"title": "My TTS Project",
"status": "pending",
"progress": 0,
"createdAt": "2023-09-06T10:30:00Z",
"segments": [
{
"id": "segment_1",
"text": "Hello world! This is a test message.",
"status": "pending"
}
]
}GET
/projects/ttsObtener proyectos TTS
Obtenga una lista de sus proyectos TTS con opciones de paginación y filtradoRequest
JSON
Query Parameters:
- limit: number (default: 20, max: 100)
- cursor: string (for pagination)
- status: "pending" | "processing" | "completed" | "failed"Response
JSON
{
"items": [
{
"id": "64f8a2b1c3d4e5f6a7b8c9d0",
"title": "My TTS Project",
"status": "completed",
"progress": 100,
"createdAt": "2023-09-06T10:30:00Z",
"audioUrl": "https://storage.dubsmart.ai/audio.mp3"
}
],
"nextCursor": "next_cursor_value"
}GET
/projects/tts/{projectId}Obtener proyecto TTS por ID
Recuperar información detallada sobre un proyecto TTS específicoRequest
JSON
Path Parameters:
- projectId: string (required)Response
JSON
{
"id": "64f8a2b1c3d4e5f6a7b8c9d0",
"title": "My TTS Project",
"status": "completed",
"progress": 100,
"createdAt": "2023-09-06T10:30:00Z",
"audioUrl": "https://storage.dubsmart.ai/audio.mp3",
"segments": [
{
"id": "segment_1",
"text": "Hello world! This is a test message.",
"status": "completed",
"audioUrl": "https://storage.dubsmart.ai/segment_1.mp3"
}
]
}POST
/projects/tts/{projectId}/segmentsCrear segmento TTS
Añadir un nuevo segmento de texto a un proyecto TTS existenteRequest
JSON
{
"text": "This is a new segment to add to the project.",
"voice": "john_en_v2",
"language": "en",
"speed": 1.2,
"pitch": 0.9
}Response
JSON
{
"id": "segment_2",
"text": "This is a new segment to add to the project.",
"voice": "john_en_v2",
"status": "pending",
"createdAt": "2023-09-06T10:45:00Z"
}PUT
/projects/tts/{projectId}/segments/{segmentId}Editar segmento TTS
Actualizar el contenido del texto, la voz u otras propiedades de un segmentoRequest
JSON
{
"text": "Updated segment text with new content.",
"voice": "sarah_en_v2",
"speed": 1.1
}Response
JSON
{
"id": "segment_2",
"text": "Updated segment text with new content.",
"voice": "sarah_en_v2",
"status": "pending",
"updatedAt": "2023-09-06T11:00:00Z"
}Ejemplos de código de la API TTS
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 createTTSProject() {
try {
// Create TTS project
const projectResponse = await axios.post(`${BASE_URL}/projects/tts`, {
title: 'My TTS Project',
segments: [
{
text: 'Hello! This is a sample text for text-to-speech conversion.',
voice: 'anna_en_v2',
language: 'en',
speed: 1.0,
pitch: 1.0
},
{
text: 'This is the second segment with a different voice.',
voice: 'john_en_v2',
language: 'en',
speed: 1.1,
pitch: 0.9
}
]
}, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
console.log('Project created:', projectResponse.data);
// Monitor project status
const projectId = projectResponse.data.id;
await monitorProjectStatus(projectId);
return projectResponse.data;
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
// Monitor project status
async function monitorProjectStatus(projectId) {
let status = 'pending';
while (status !== 'completed' && status !== 'failed') {
await new Promise(resolve => setTimeout(resolve, 5000)); // Wait 5 seconds
const response = await axios.get(`${BASE_URL}/projects/tts/${projectId}`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
status = response.data.status;
console.log(`Project status: ${status}, Progress: ${response.data.progress}%`);
if (status === 'completed') {
console.log('Audio URL:', response.data.audioUrl);
console.log('Segments:', response.data.segments);
}
}
}
// Usage
createTTSProject();Python Example
# Python Example
import requests
import time
API_KEY = 'your_api_key_here'
BASE_URL = 'https://dubsmart.ai/api/v1'
def create_tts_project():
headers = {'Authorization': f'Bearer {API_KEY}'}
try:
# Create TTS project
project_data = {
'title': 'My TTS Project',
'segments': [
{
'text': 'Hello! This is a sample text for text-to-speech conversion.',
'voice': 'anna_en_v2',
'language': 'en',
'speed': 1.0,
'pitch': 1.0
},
{
'text': 'This is the second segment with a different voice.',
'voice': 'john_en_v2',
'language': 'en',
'speed': 1.1,
'pitch': 0.9
}
]
}
project_response = requests.post(
f'{BASE_URL}/projects/tts',
json=project_data,
headers=headers
)
project_response.raise_for_status()
project = project_response.json()
print(f'Project created: {project}')
# Monitor project status
project_id = project['id']
monitor_project_status(project_id, headers)
return project
except requests.exceptions.RequestException as e:
print(f'Error: {e}')
if hasattr(e, 'response') and e.response is not None:
print(f'Response: {e.response.text}')
def monitor_project_status(project_id, headers):
status = 'pending'
while status not in ['completed', 'failed']:
time.sleep(5) # Wait 5 seconds
response = requests.get(
f'{BASE_URL}/projects/tts/{project_id}',
headers=headers
)
response.raise_for_status()
project_data = response.json()
status = project_data['status']
progress = project_data.get('progress', 0)
print(f'Project status: {status}, Progress: {progress}%')
if status == 'completed':
print(f'Audio URL: {project_data.get("audioUrl")}')
print(f'Segments: {project_data.get("segments")}')
# Usage
if __name__ == '__main__':
create_tts_project()cURL Example
# cURL Examples
# 1. Create TTS Project
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! This is a sample text for text-to-speech conversion.",
"voice": "anna_en_v2",
"language": "en",
"speed": 1.0,
"pitch": 1.0
},
{
"text": "This is the second segment with a different voice.",
"voice": "john_en_v2",
"language": "en",
"speed": 1.1,
"pitch": 0.9
}
]
}'
# 2. Get Project Status
curl -X GET "https://dubsmart.ai/api/v1/projects/tts/{projectId}" \
-H "Authorization: Bearer YOUR_API_KEY"
# 3. Get All TTS Projects
curl -X GET "https://dubsmart.ai/api/v1/projects/tts?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
# 4. Add Segment to Project
curl -X POST "https://dubsmart.ai/api/v1/projects/tts/{projectId}/segments" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "This is a new segment to add to the project.",
"voice": "sarah_en_v2",
"language": "en",
"speed": 1.2
}'
# 5. Edit Segment
curl -X PUT "https://dubsmart.ai/api/v1/projects/tts/{projectId}/segments/{segmentId}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Updated segment text with new content.",
"voice": "mike_en_v2",
"speed": 1.0
}'
# 6. Delete Project
curl -X DELETE "https://dubsmart.ai/api/v1/projects/tts/{projectId}" \
-H "Authorization: Bearer YOUR_API_KEY"PHP Example
<?php
// PHP Example
$apiKey = 'your_api_key_here';
$baseUrl = 'https://dubsmart.ai/api/v1';
function createTTSProject() {
global $apiKey, $baseUrl;
$headers = [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
];
try {
// Create TTS project
$projectData = [
'title' => 'My TTS Project',
'segments' => [
[
'text' => 'Hello! This is a sample text for text-to-speech conversion.',
'voice' => 'anna_en_v2',
'language' => 'en',
'speed' => 1.0,
'pitch' => 1.0
],
[
'text' => 'This is the second segment with a different voice.',
'voice' => 'john_en_v2',
'language' => 'en',
'speed' => 1.1,
'pitch' => 0.9
]
]
];
$projectResponse = httpRequest(
$baseUrl . '/projects/tts',
'POST',
$projectData,
$headers
);
echo "Project created: " . json_encode($projectResponse);
// Monitor project status
$projectId = $projectResponse['id'];
monitorProjectStatus($projectId, $headers);
return $projectResponse;
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
return null;
}
}
function monitorProjectStatus($projectId, $headers) {
global $baseUrl;
$status = 'pending';
while (!in_array($status, ['completed', 'failed'])) {
sleep(5); // Wait 5 seconds
$response = httpRequest(
$baseUrl . '/projects/tts/' . $projectId,
'GET',
null,
$headers
);
$status = $response['status'];
$progress = $response['progress'] ?? 0;
echo "Project status: $status, Progress: $progress%" . PHP_EOL;
if ($status === 'completed') {
echo "Audio URL: " . ($response['audioUrl'] ?? 'N/A') . PHP_EOL;
echo "Segments: " . json_encode($response['segments'] ?? []) . PHP_EOL;
}
}
}
function httpRequest($url, $method, $data, $headers) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
if ($method === 'POST') {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
} elseif ($method === 'PUT') {
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
}
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode >= 200 && $httpCode < 300) {
return json_decode($response, true);
} else {
throw new Exception("HTTP Error: " . $httpCode);
}
}
// Usage
$project = createTTSProject();
?>PREGUNTAS FRECUENTES
¿Qué es la API TTS y cómo funciona?
Nuestra API TTS es un servicio RESTful que convierte texto en voz natural mediante una avanzada tecnología de inteligencia artificial. Solo tienes que enviar una solicitud POST con el contenido de tu texto y tus preferencias de voz, y recibirás a cambio archivos de audio de alta calidad.
¿Cuántas voces e idiomas hay disponibles?
Nuestra API TTS proporciona acceso a más de 300 voces de IA premium en más de 33 idiomas y dialectos. Esto incluye idiomas populares como inglés, español, francés, alemán, chino, japonés y muchos otros.
¿Puedo utilizar la clonación de voz con la API?
Sí. Nuestra API admite la clonación ilimitada de voces personalizadas. Puede crear voces personalizadas proporcionando muestras de audio y, a continuación, utilizar estas voces personalizadas en sus proyectos TTS.
¿Qué formatos y calidad de audio admite la API?
La API TTS genera audio de alta calidad en formato MP3.
¿Cuánto tardan en tramitarse las solicitudes de TTS?
El tiempo de procesamiento depende de la longitud y complejidad del texto. Los segmentos típicos (1-2 frases) se procesan en 10-30 segundos.
