واجهة برمجة تطبيقات تحويل النص إلى كلام

تحويل النص إلى كلام طبيعي باستخدام واجهة برمجة تطبيقات تحويل النص إلى كلام. أكثر من 300 صوت ذكاء اصطناعي، واستنساخ صوتي غير محدود، وتوليد كلام واقعي
300+ صوت AI
استنساخ الصوت
REST API
TTS Editor Interface
موثوق به من قبل أكثر من 500,000 مستخدم

ميزات واجهة برمجة تطبيقات تحويل النص إلى كلام القوية

كل ما تحتاجه لدمج تحويل النص إلى كلام احترافي في تطبيقاتك
تحويل النص إلى نص عصبي
300+ صوت AIتمتع بالوصول إلى أصوات عصبية متميزة بأكثر من 33 لغة بما في ذلك الإنجليزية والبرتغالية والإسبانية والفرنسية والألمانية والصينية واليابانية وغيرها.
غير محدود
استنساخ الصوتإنشاء أصوات مخصصة من عينات صوتية مع استنساخ صوتي غير محدود. مثالي للمحتوى المخصص وأصوات العلامات التجارية.
عالمي
أكثر من 33 لغةدعم لأكثر من 33 لغة بما في ذلك الإنجليزية والبرتغالية والإسبانية والفرنسية والألمانية والصينية واليابانية وغيرها الكثير.

سير عمل واجهة برمجة تطبيقات تحويل النص إلى كلام

تحويل النص إلى كلام من خلال بضع مكالمات بسيطة من واجهة برمجة التطبيقات (API)
01

إنشاء مشروع تحويل النص إلى كلام

أنشئ مشروع تحويل النص إلى كلام جديد بمحتوى النص وتفضيلات الصوت الخاصة بك.
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

مراقبة المعالجة

تتبع التقدم المحرز في مشروع تحويل النص إلى كلام طبيعي أثناء قيامه بمعالجة النص الخاص بك إلى كلام طبيعي.
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

تنزيل الصوت

قم بتنزيل ملفات صوتية عالية الجودة عند اكتمال المعالجة. احصل على تنسيق MP3 بجودة 22 كيلو هرتز.
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"
    }
  ]
}

نقاط نهاية واجهة برمجة تطبيقات تحويل النص إلى كلام

مرجع كامل لواجهة برمجة التطبيقات API لوظيفة تحويل النص إلى كلام
POST
/projects/tts

إنشاء مشروع تحويل النص إلى كلام

إنشاء مشروع تحويل النص إلى كلام جديد مع مقاطع نصية وتكوينات صوتية
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

احصل على مشاريع تحويل النص إلى كلام

استرجع قائمة بمشاريع تحويل النص إلى كلام الخاصة بك مع خيارات ترقيم الصفحات والتصفية
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}

الحصول على مشروع تحويل النص إلى كلام حسب الهوية

استرجاع معلومات مفصلة حول مشروع تحويل النص إلى كلام معين
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

إنشاء مقطع تحويل النص إلى كلام

إضافة مقطع نصي جديد إلى مشروع تحويل النص إلى نص موجود
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}

تحرير مقطع تحويل النص إلى كلام

تحديث المحتوى النصي أو الصوت أو الخصائص الأخرى للمقطع
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"
}

أمثلة على كود تحويل النص إلى كلام API

أمثلة برمجية جاهزة للاستخدام بلغات برمجة متعددة
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();
?>

الأسئلة الشائعة

ما هي واجهة برمجة تطبيقات تحويل النص إلى كلام API وكيف تعمل؟
واجهة برمجة تطبيقات تحويل النص إلى كلام الخاصة بنا عبارة عن خدمة RESTful تقوم بتحويل النص إلى كلام طبيعي الصوت باستخدام تقنية الذكاء الاصطناعي المتقدمة. ما عليك سوى إرسال طلب POST مع المحتوى النصي وتفضيلاتك الصوتية، وستتلقى في المقابل ملفات صوتية عالية الجودة.
كم عدد الأصوات واللغات المتاحة؟
توفر واجهة برمجة تطبيقات تحويل النص إلى كلام عبر الإنترنت الخاصة بنا إمكانية الوصول إلى أكثر من 300 صوت متميز للذكاء الاصطناعي بأكثر من 33 لغة ولهجة. ويشمل ذلك اللغات الشائعة مثل الإنجليزية والإسبانية والفرنسية والألمانية والصينية واليابانية وغيرها الكثير.
هل يمكنني استخدام الاستنساخ الصوتي مع واجهة برمجة التطبيقات (API)؟
نعم! تدعم واجهة برمجة التطبيقات (API) الخاصة بنا استنساخ أصوات مخصصة غير محدود. يمكنك إنشاء أصوات مخصصة من خلال توفير عينات صوتية، ثم استخدام هذه الأصوات المخصصة في مشاريع تحويل النص إلى كلام.
ما هي تنسيقات الصوت والجودة التي تدعمها واجهة برمجة التطبيقات (API)؟
تقوم واجهة برمجة تطبيقات تحويل النص إلى كلام بإنشاء صوت عالي الجودة بتنسيق MP3.
ما هي المدة التي تستغرقها معالجة طلبات تحويل النص إلى نصّ؟
يعتمد وقت المعالجة على طول النص ومدى تعقيده. تتم معالجة المقاطع النموذجية (من جملة إلى جملتين) في 10-30 ثانية.