Plus de 500 000 utilisateurs lui font confiance
Fonctionnalités puissantes de l'API TTS
Tout ce dont vous avez besoin pour intégrer une synthèse vocale professionnelle dans vos applicationsTTS neuronal
300+ voix IAAccédez à des voix neuronales de qualité supérieure dans plus de 33 langues, dont l'anglais, le portugais, l'espagnol, le français, l'allemand, le chinois, le japonais et bien plus encore.Illimité
Clonage vocalCréez des voix personnalisées à partir d'échantillons audio grâce au clonage illimité des voix. Parfait pour les contenus personnalisés et les voix de marque.Mondial
33+ languesPrise en charge de plus de 33 langues, dont l'anglais, le portugais, l'espagnol, le français, l'allemand, le chinois, le japonais et bien d'autres encore.Flux de travail de l'API TTS
Convertir le texte en parole à l'aide de quelques appels d'API simples01
Créer un projet TTS
Créez un nouveau projet de synthèse vocale avec votre contenu textuel et vos préférences vocales.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
Traitement des moniteurs
Suivez l'évolution de votre projet TTS au fur et à mesure qu'il transforme votre texte en parole naturelle.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
Télécharger l'audio
Téléchargez des fichiers audio de haute qualité une fois le traitement terminé. Obtenez le format MP3 avec une qualité de 22kHz.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"
}
]
}Points d'extrémité de l'API TTS
Référence API complète pour la fonctionnalité de synthèse vocalePOST
/projects/ttsCréer un projet TTS
Nouveau projet STT avec des segments de texte et des configurations vocalesRequest
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/ttsObtenir des projets TTS
Récupérer une liste de vos projets TTS avec des options de pagination et de filtrageRequest
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}Obtenir le projet TTS par ID
Récupérer des informations détaillées sur un projet TTS spécifiqueRequest
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}/segmentsCréer un segment TTS
Ajouter un nouveau segment de texte à un projet TTS existantRequest
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}Modifier le segment TTS
Mise à jour du contenu textuel, de la voix ou d'autres propriétés d'un segmentRequest
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"
}Exemples de code de l'API TTS
Exemples de codes prêts à l'emploi dans plusieurs langages de programmationJavaScript 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();
?>FAQ
Qu'est-ce que l'API TTS et comment fonctionne-t-elle ?
Notre API TTS est un service RESTful qui convertit le texte en voix naturelle à l'aide d'une technologie d'IA avancée. Il vous suffit d'envoyer une requête POST avec le contenu de votre texte et vos préférences vocales, et vous recevrez en retour des fichiers audio de haute qualité.
Combien de voix et de langues sont disponibles ?
Notre API TTS donne accès à plus de 300 voix d'IA de qualité supérieure dans plus de 33 langues et dialectes. Cela inclut des langues populaires comme l'anglais, l'espagnol, le français, l'allemand, le chinois, le japonais et bien d'autres.
Puis-je utiliser le clonage vocal avec l'API ?
Oui ! Notre API prend en charge le clonage illimité de voix personnalisées. Vous pouvez créer des voix personnalisées en fournissant des échantillons audio, puis utiliser ces voix personnalisées dans vos projets TTS.
Quels sont les formats et la qualité audio pris en charge par l'API ?
L'API TTS génère un son de haute qualité au format MP3.
Combien de temps faut-il pour traiter les demandes de TTS ?
Le temps de traitement dépend de la longueur et de la complexité du texte. Les segments typiques (1 à 2 phrases) sont traités en 10 à 30 secondes.
