واجهة برمجة تطبيقات الدبلجة بالذكاء الاصطناعي

ترجمة مقاطع الفيديو الخاصة بك ودبلجتها باستخدام واجهة برمجة تطبيقات الدبلجة بالذكاء الاصطناعي. دبلجة مقاطع الفيديو تلقائيًا إلى أكثر من 33 لغة باستخدام الاستنساخ الصوتي
أكثر من 33 لغة
استنساخ الصوت
REST API
AI Dubbing Voice Tracks
EN
PT
ES
أكثر من 33 لغة
99.9%
وقت التشغيل
موثوق به من قبل أكثر من 500,000 مستخدم

ميزات واجهة برمجة تطبيقات قوية

كل ما تحتاجه لدمج الدبلجة الاحترافية للذكاء الاصطناعي في تطبيقاتك
انتشار عالمي

أكثر من 33 لغة

دعم اللغات الأكثر شيوعًا في العالم بما في ذلك الإنجليزية والبرتغالية والإسبانية والفرنسية والألمانية والصينية واليابانية وغيرها.
أصوات أصيلة

استنساخ الصوت

حافظ على أصوات المتحدثين الأصليين باستخدام تقنية استنساخ الصوت المتقدمة للذكاء الاصطناعي للحصول على نتائج دبلجة أصلية.
سريع وموثوق

معالجة سريعة

أكمل مشاريع الدبلجة الخاصة بك في دقائق وليس ساعات. احصل على النتائج بسرعة من خلال خط أنابيب معالجة الذكاء الاصطناعي المحسّن لدينا.
99.9%
وقت التشغيل
<300ms
وقت الاستجابة
24/7
الدعم

سير عمل واجهة برمجة تطبيقات الدبلجة بالذكاء الاصطناعي

ادمج دبلجة الذكاء الاصطناعي في تطبيقك من خلال بضع مكالمات من واجهة برمجة التطبيقات
01

الحصول على عنوان URL للتحميل وتحميل الملف

احصل على عنوان URL محدد مسبقًا عبر واجهة برمجة التطبيقات، ثم قم بتحميل ملف الفيديو الخاص بك باستخدام طلب PUT. دعم MP4 و MOV و AVI والمزيد من التنسيقات.
API Request
# 1. Get upload URL
curl -X GET "https://dubsmart.ai/api/v1/upload" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "region": "EU",
    "fileExtension": "mp4"
  }'

# 2. Upload file using returned URL
curl -X PUT "PRESIGNED_URL_FROM_STEP_1" \
  -H "Content-Type: video/mp4" \
  --data-binary @video.mp4
02

إنشاء مشروع

إنشاء مشروع دبلجة باللغات المستهدفة وإعدادات الصوت. دعم لغات متعددة في طلب واحد.
API Request
curl -X POST "https://dubsmart.ai/api/v1/project" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {"path": "uploaded_file_key"},
    "targetLanguages": ["es", "fr", "de"],
    "voice": "voiceCloning"
  }'
03

تحرير المشروع

قم بتعديل إعدادات المشروع والعنوان ومكبرات الصوت وحجم الخلفية حسب الحاجة.
API Request
curl --request PUT \
  --url https://dubsmart.ai/api/v1/project \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "title": "Updated Project Title",
  "speakers": [
    "Speaker 1",
    "Speaker 2"
  ],
  "backgroundVolume": 0.5,
  "id": "64f8a2b1c3d4e5f6a7b8c9d0"
}'
04

تنزيل النتائج

قم بتنزيل ملفات الفيديو أو الصوت المدبلجة. احصل على مقاطع فردية أو محتوى مدبلج كامل.
API Request
curl -X GET "https://dubsmart.ai/api/v1/project/PROJECT_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

نقاط نهاية واجهة برمجة تطبيقات الدبلجة بالذكاء الاصطناعي

مرجع كامل لواجهة برمجة التطبيقات API مع أمثلة لجميع نقاط النهاية
GET
/upload

الحصول على عنوان URL تحميل الملف

الحصول على عنوان URL محدد مسبقاً لتحميل الملف وإرجاع مفتاح الملف
Request
JSON
{
  "region": "EU",
  "fileExtension": "mp4"
}
Response
JSON
{
  "url": "https://storage.dubsmart.ai/...",
  "key": "uploads/user_id/filename.mp4"
}
POST
/voices

احصل على أصوات

استرجاع أصوات الذكاء الاصطناعي المتاحة مع خيارات التصفية
Request
JSON
{
  "limit": 50,
  "filter": {
    "language": "en",
    "gender": "female",
    "accent": "american"
  }
}
Response
JSON
{
  "items": [
    {
      "id": "voice_id_1",
      "name": "Anna",
      "value": "anna_en_v2",
      "language": "en",
      "provider": "elevenlabs"
    }
  ],
  "nextCursor": "next_cursor_value"
}
POST
/custom-voices

احصل على أصوات مخصصة

استرداد الأصوات المخصصة التي أنشأها المستخدم
Request
JSON
{
  "limit": 10,
  "cursor": "cursor_value"
}
Response
JSON
{
  "items": [
    {
      "id": "custom_voice_id",
      "name": "My Custom Voice",
      "examplePath": "https://..."
    }
  ],
  "nextCursor": "next_cursor_value"
}
POST
/project

إنشاء مشروع

إنشاء مشروع دبلجة جديد مع ملف فيديو واللغات المستهدفة
Request
JSON
{
  "input": {
    "path": "uploaded_file_key",
    "type": "LOCAL_FILE",
    "voice": "voiceCloning",
    "textCheck": false
  },
  "targetLanguages": ["es", "fr", "de"],
  "title": "My Dubbing Project",
  "speakersAmount": 2
}
Response
JSON
{
  "id": "64f8a2b1c3d4e5f6a7b8c9d0",
  "groupId": "64f8a2b1c3d4e5f6a7b8c9d1",
  "base": {
    "title": "My Dubbing Project",
    "state": "Pending",
    "progress": 0
  },
  "targetLanguage": "es",
  "groupProjects": [
    {"id": "64f8a2b1c3d4e5f6a7b8c9d0", "targetLanguage": "es"},
    {"id": "64f8a2b1c3d4e5f6a7b8c9d2", "targetLanguage": "fr"},
    {"id": "64f8a2b1c3d4e5f6a7b8c9d3", "targetLanguage": "de"}
  ]
}
GET
/project

احصل على مشاريع

استرجاع قائمة بجميع مشاريع الدبلجة مع ترقيم الصفحات
Request
JSON
{
  "cursor": "64f8a2b1c3d4e5f6a7b8c9d0",
  "limit": 10
}
Response
JSON
{
  "items": [
    {
      "id": "64f8a2b1c3d4e5f6a7b8c9d0",
      "base": {
        "title": "My Dubbing Project",
        "state": "Done",
        "progress": 100
      },
      "targetLanguage": "es",
      "createdAt": "2024-01-15T10:30:00Z"
    }
  ],
  "nextCursor": "64f8a2b1c3d4e5f6a7b8c9d4"
}
PUT
/project

تحرير المشروع

تحديث إعدادات المشروع، والعنوان، ومكبرات الصوت، ومستوى صوت الخلفية
Request
JSON
{
  "title": "Updated Project Title",
  "speakers": [
    "Speaker 1",
    "Speaker 2"
  ],
  "backgroundVolume": 0.5,
  "id": "64f8a2b1c3d4e5f6a7b8c9d0"
}
Response
JSON
true
DELETE
/project

حذف المشروع

حذف مشروع دبلجة بشكل دائم
Request
JSON
{
  "id": "64f8a2b1c3d4e5f6a7b8c9d0"
}
Response
JSON
true
GET
/project/{id}

الحصول على المشروع حسب المعرف

احصل على معلومات مفصلة حول مشروع معين بما في ذلك الأجزاء
Request
JSON
GET /project/64f8a2b1c3d4e5f6a7b8c9d0
Response
JSON
{
  "id": "64f8a2b1c3d4e5f6a7b8c9d0",
  "base": {
    "title": "My Dubbing Project",
    "state": "Done",
    "progress": 100
  },
  "segments": [
    {
      "id": "64f8a2b1c3d4e5f6a7b8c9d5",
      "text": "Hello world",
      "translatedText": "Hola mundo",
      "start": 0.0,
      "end": 1.5,
      "speakerId": 0,
      "resultUrl": "https://..."
    }
  ],
  "videoResult": {
    "value": "https://...",
    "state": "Done"
  }
}
POST
/project/regenerate

مشروع تجديد المشروع

إعادة إنشاء الصوت للمشروع بأكمله أو لمقاطع محددة
Request
JSON
{
  "id": "64f8a2b1c3d4e5f6a7b8c9d0",
  "segmentsForRegenerating": ["segment_id_1", "segment_id_2"],
  "cloneVoice": true
}
Response
JSON
true
POST
/project/speaker

إضافة مكبر صوت

إضافة مكبر صوت جديد إلى المشروع
Request
JSON
{
  "projectId": "64f8a2b1c3d4e5f6a7b8c9d0",
  "voice": "voice_id"
}
Response
JSON
200 OK
DELETE
/project/speaker

إزالة مكبر الصوت

إزالة مكبر صوت من المشروع
Request
JSON
{
  "projectId": "64f8a2b1c3d4e5f6a7b8c9d0",
  "speakerId": 0
}
Response
JSON
200 OK
POST
/segment

إنشاء مقطع

إضافة مقطع كلام جديد إلى مشروع موجود
Request
JSON
{
  "projectId": "64f8a2b1c3d4e5f6a7b8c9d0",
  "text": "New segment text",
  "translatedText": "Texto del nuevo segmento",
  "start": 10.5,
  "end": 12.0,
  "speakerId": 0,
  "voice": "voiceCloning"
}
Response
JSON
{
  "id": "64f8a2b1c3d4e5f6a7b8c9d6",
  "projectId": "64f8a2b1c3d4e5f6a7b8c9d0",
  "text": "New segment text",
  "translatedText": "Texto del nuevo segmento",
  "start": 10.5,
  "end": 12.0,
  "speakerId": 0,
  "state": "Pending"
}
PUT
/segment

تحرير المقطع

تحديث نص المقطع أو التوقيت أو معلمات الصوت
Request
JSON
{
  "id": "64f8a2b1c3d4e5f6a7b8c9d6",
  "projectId": "64f8a2b1c3d4e5f6a7b8c9d0",
  "text": "Updated segment text",
  "translatedText": "Texto actualizado del segmento",
  "start": 10.0,
  "end": 12.5,
  "speakerId": 0,
  "voice": "voiceCloning"
}
Response
JSON
{
  "id": "64f8a2b1c3d4e5f6a7b8c9d6",
  "text": "Updated segment text",
  "translatedText": "Texto actualizado del segmento",
  "start": 10.0,
  "end": 12.5,
  "speakerId": 0,
  "state": "Pending"
}
DELETE
/segment

حذف المقطع

إزالة مقطع كلام من مشروع حسب المعرف
Request
JSON
{
  "id": "64f8a2b1c3d4e5f6a7b8c9d6",
  "projectId": "64f8a2b1c3d4e5f6a7b8c9d0"
}
Response
JSON
true

أمثلة على كود API الدبلجة بالذكاء الاصطناعي

أمثلة برمجية جاهزة للاستخدام بلغات برمجة متعددة
JavaScript Example
// JavaScript/Node.js Example
const axios = require('axios');
const fs = require('fs');

const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://dubsmart.ai/api/v1';

async function createDubbingProject() {
  try {
    // 1. Get upload URL
    const uploadResponse = await axios.get(`${BASE_URL}/upload`, {
      params: {
        region: 'EU',
        fileExtension: 'mp4'
      },
      headers: { 'Authorization': `Bearer ${API_KEY}` }
    });

    // 2. Upload file using presigned URL
    const fileBuffer = fs.readFileSync('video.mp4');
    await axios.put(uploadResponse.data.url, fileBuffer, {
      headers: {
        'Content-Type': 'video/mp4'
      }
    });

    // 3. Create dubbing project
    const projectResponse = await axios.post(`${BASE_URL}/project`, {
      input: {
        path: uploadResponse.data.key,
        type: 'LOCAL_FILE',
        voice: 'voiceCloning',
        textCheck: false
      },
      targetLanguages: ['es', 'fr', 'de'],
      title: 'My Multilingual Video'
    }, {
      headers: { 'Authorization': `Bearer ${API_KEY}` }
    });

    console.log('Project created:', projectResponse.data);
    return projectResponse.data;
  } catch (error) {
    console.error('Error:', error.response?.data || error.message);
  }
}

// Monitor project status
async function checkProjectStatus(projectId) {
  const response = await axios.get(`${BASE_URL}/project/${projectId}`, {
    headers: { 'Authorization': `Bearer ${API_KEY}` }
  });
  
  return response.data;
}
Python Example
# Python Example
import requests
import time

API_KEY = 'your_api_key_here'
BASE_URL = 'https://dubsmart.ai/api/v1'

def create_dubbing_project():
    headers = {'Authorization': f'Bearer {API_KEY}'}
    
    try:
        # 1. Get upload URL
        upload_params = {
            'region': 'EU',
            'fileExtension': 'mp4'
        }
        upload_response = requests.get(
            f'{BASE_URL}/upload',
            params=upload_params,
            headers=headers
        )
        upload_response.raise_for_status()
        
        # 2. Upload file using presigned URL
        with open('video.mp4', 'rb') as file:
            upload_file_response = requests.put(
                upload_response.json()['url'],
                data=file,
                headers={'Content-Type': 'video/mp4'}
            )
            upload_file_response.raise_for_status()
        
        # 3. Create dubbing project
        project_data = {
            'input': {
                'path': upload_response.json()['key'],
                'type': 'LOCAL_FILE',
                'voice': 'voiceCloning',
                'textCheck': False
            },
            'targetLanguages': ['es', 'fr', 'de'],
            'title': 'My Multilingual Video'
        }
        
        project_response = requests.post(
            f'{BASE_URL}/project',
            json=project_data,
            headers=headers
        )
        project_response.raise_for_status()
        
        print('Project created:', project_response.json())
        return project_response.json()
        
    except requests.exceptions.RequestException as e:
        print(f'Error: {e}')
        return None

def monitor_project(project_id):
    headers = {'Authorization': f'Bearer {API_KEY}'}
    
    while True:
        response = requests.get(
            f'{BASE_URL}/project/{project_id}',
            headers=headers
        )
        response.raise_for_status()
        
        project = response.json()
        status = project['base']['state']
        
        print(f'Project status: {status}')
        
        if status == 'Done':
            print('Project completed!')
            return project
        elif status == 'Error':
            print('Project failed!')
            return None
            
        time.sleep(30)  # Check every 30 seconds
cURL Example
# cURL Examples

# 1. Get upload URL
curl -X GET "https://dubsmart.ai/api/v1/upload?region=EU&fileExtension=mp4" \
  -H "Authorization: Bearer YOUR_API_KEY"

# 2. Upload file using presigned URL
curl -X PUT "PRESIGNED_URL_FROM_STEP_1" \
  -H "Content-Type: video/mp4" \
  --data-binary @video.mp4

# 3. Create dubbing project
curl -X POST "https://dubsmart.ai/api/v1/project" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {
      "path": "uploaded_file_key",
      "type": "LOCAL_FILE",
      "voice": "voiceCloning",
      "textCheck": false
    },
    "targetLanguages": ["es", "fr", "de"],
    "title": "My Multilingual Video"
  }'

# 4. Check project status
curl -X GET "https://dubsmart.ai/api/v1/project/PROJECT_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

# 5. Download results
curl -X GET "https://dubsmart.ai/api/v1/project/PROJECT_ID" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o "dubbed_video.mp4"
PHP Example
<?php
// PHP Example
$apiKey = 'your_api_key_here';
$baseUrl = 'https://dubsmart.ai/api/v1';

function createDubbingProject() {
    global $apiKey, $baseUrl;
    
    $headers = [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json'
    ];
    
    try {
        // 1. Get upload URL
        $uploadParams = [
            'region' => 'EU',
            'fileExtension' => 'mp4'
        ];
        
        $uploadResponse = httpRequest(
            $baseUrl . '/upload?' . http_build_query($uploadParams),
            'GET',
            null,
            $headers
        );
        
        // 2. Upload file using presigned URL
        $fileContent = file_get_contents('video.mp4');
        $uploadFileResponse = httpRequest(
            $uploadResponse['url'],
            'PUT',
            $fileContent,
            ['Content-Type: video/mp4']
        );
        
        // 3. Create dubbing project
        $projectData = [
            'input' => [
                'path' => $uploadResponse['key'],
                'type' => 'LOCAL_FILE',
                'voice' => 'voiceCloning',
                'textCheck' => false
            ],
            'targetLanguages' => ['es', 'fr', 'de'],
            'title' => 'My Multilingual Video'
        ];
        
        $projectResponse = httpRequest(
            $baseUrl . '/project',
            'POST',
            $projectData,
            $headers
        );
        
        echo "Project created: " . json_encode($projectResponse);
        return $projectResponse;
        
    } catch (Exception $e) {
        echo "Error: " . $e->getMessage();
        return null;
    }
}

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, $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 = createDubbingProject();
?>

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

ما هي تنسيقات الملفات التي تدعمها واجهة برمجة التطبيقات (API)؟
تدعم واجهة برمجة التطبيقات جميع تنسيقات الفيديو الرئيسية بما في ذلك MP4 و MOV و AVI و MKV و WebM وغيرها. بالنسبة للملفات الصوتية، ندعم MP3 و WAV و AAC وغيرها من التنسيقات الشائعة. الحد الأقصى لحجم الملف هو 5 جيجابايت.
كم من الوقت تستغرق الدبلجة؟
يعتمد وقت المعالجة على طول الفيديو وحجم الملف. عادة ما تستغرق معالجة مقطع فيديو مدته 5 دقائق دقيقة واحدة. ويحصل عملاء المؤسسات على أولوية المعالجة مع أوقات معالجة أسرع.
ما هي اللغات المدعومة؟
نحن ندعم أكثر من 33 لغة مستهدفة بما في ذلك الإنجليزية والبرتغالية والإسبانية والفرنسية والفرنسية والألمانية والصينية واليابانية والكورية والروسية والروسية والعربية والهندية وغيرها الكثير. يمكننا أيضًا اكتشاف ومعالجة المحتوى من أكثر من 99 لغة مصدر.
كيف يعمل الاستنساخ الصوتي؟
يقوم الذكاء الاصطناعي المتقدم لدينا بتحليل خصائص صوت المتحدث الأصلي بما في ذلك نبرة الصوت، ودرجة الصوت، واللهجة، وأسلوب التحدث. ثم يقوم بإنشاء خطاب اصطناعي يحافظ على هذه الخصائص الفريدة أثناء التحدث باللغة الهدف.
هل يمكنني تعديل المحتوى المدبلج؟
نعم! توفر واجهة برمجة التطبيقات إمكانيات تحرير كاملة. يمكنك تعديل النص المترجم، وتعديل التوقيت، وتغيير الأصوات، وإعادة إنشاء مقاطع محددة.
هل يمكنني استخدام واجهة برمجة التطبيقات (API) للمشاريع التجارية؟
نعم! جميع الخطط تسمح بالاستخدام التجاري. تم تصميم واجهة برمجة التطبيقات (API) لبيئات الإنتاج، ويستخدمها كبار منشئي المحتوى والشركات وشركات الإعلام في جميع أنحاء العالم.