Tekst naar spraak API

Zet tekst om in natuurlijke spraak met TTS API. 300+ AI-stemmen, onbeperkt klonen van stemmen en realistische spraakgeneratie
300+ AI-stemmen
Stem klonen
REST API
TTS Editor Interface
Vertrouwd door meer dan 500.000+ gebruikers

Krachtige TTS API-functies

Alles wat je nodig hebt om professionele tekst-naar-spraak te integreren in je applicaties
Neurale TTS
300+ AI-stemmenToegang tot premium neurale stemmen in meer dan 33 talen, waaronder Engels, Portugees, Spaans, Frans, Duits, Chinees en Japans.
Onbeperkt
Stem klonenMaak aangepaste stemmen van audiomonsters met onbeperkt stemmen klonen. Perfect voor gepersonaliseerde content en merkstemmen.
Wereldwijd
33+ TalenOndersteuning voor meer dan 33 talen, waaronder Engels, Portugees, Spaans, Frans, Duits, Chinees, Japans en nog veel meer.

TTS API-workflow

Converteer tekst naar spraak met slechts een paar eenvoudige API-aanroepen
01

TTS-project maken

Maak een nieuw tekst-naar-spraak project met je tekstinhoud en stemvoorkeuren.
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

Monitor verwerking

Volg de voortgang van je TTS-project terwijl het je tekst verwerkt tot natuurlijke spraak.
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

Audio downloaden

Download audiobestanden van hoge kwaliteit wanneer de verwerking is voltooid. MP3-indeling met 22 kHz kwaliteit.
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"
    }
  ]
}

TTS API eindpunten

Volledige API-referentie voor tekst-naar-spraak functionaliteit
POST
/projects/tts

TTS-project maken

Maak een nieuw tekst-naar-spraak project met tekstsegmenten en stemconfiguraties
Request
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/tts

TTS-projecten krijgen

Een lijst opvragen van je TTS-projecten met paginering en filteropties
Request
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}

TTS-project ophalen op ID

Gedetailleerde informatie opvragen over een specifiek TTS-project
Request
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}/segments

TTS-segment maken

Een nieuw tekstsegment toevoegen aan een bestaand TTS-project
Request
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}

TTS-segment bewerken

Tekstinhoud, stem of andere eigenschappen van een segment bijwerken
Request
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"
}

TTS 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 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

Wat is de TTS API en hoe werkt het?
Onze TTS API is een RESTful service die tekst omzet in natuurlijk klinkende spraak met behulp van geavanceerde AI-technologie. Stuur gewoon een POST-verzoek met je tekstinhoud en stemvoorkeuren en ontvang audiobestanden van hoge kwaliteit terug.
Hoeveel stemmen en talen zijn er beschikbaar?
Onze TTS API biedt toegang tot 300+ premium AI-stemmen in 33+ talen en dialecten. Hieronder vallen populaire talen zoals Engels, Spaans, Frans, Duits, Chinees, Japans en vele andere.
Kan ik stem klonen gebruiken met de API?
Ja! Onze API ondersteunt onbeperkt klonen van aangepaste stemmen. Je kunt persoonlijke stemmen maken door audiofragmenten aan te leveren en deze aangepaste stemmen vervolgens gebruiken in je TTS-projecten.
Welke audioformaten en -kwaliteit ondersteunt de API?
De TTS API genereert audio van hoge kwaliteit in MP3-formaat.
Hoe lang duurt het om TTS-verzoeken te verwerken?
De verwerkingstijd hangt af van de lengte en complexiteit van de tekst. Typische segmenten (1-2 zinnen) worden in 10-30 seconden verwerkt.
© DubSmart LLC | Alle rechten voorbehouden.[email protected]