音声クローンAPI

Voice Cloning APIを使って、オーディオサンプルからカスタムAIボイスを作成できます。音声をアップロードし、ボイスをクローンして、音声合成やAIダビングで使用できます。
ボイス・クローニング
カスタム・ボイス
REST API
Voice Cloning Interface
50万人以上のユーザーに信頼されている

強力なボイスクローニングAPI機能

プロフェッショナルなボイスクローニングをアプリケーションに統合するために必要なすべてが揃っています。
無制限
無制限ボイスクローニングオーディオサンプルから無制限のカスタムボイスを作成。MP3、WAV、AAC、M4A、FLAC形式のオーディオをアップロード。
プレミアム品質
高音質オーディオ高度なAI技術で自然な音声を生成。複数の音声形式と高品質出力をサポート。
開発者フレンドリー
簡単な統合包括的なドキュメントを備えたシンプルなREST API。わずか数回のAPIコールで、音声クローンをアプリケーションに統合できます。

音声クローンAPIワークフロー

簡単なAPIコールでカスタムボイスを作成
01

オーディオサンプルのアップロード

指定されたURLを取得し、MP3、WAV、AAC、M4A、またはFLACのようなサポートされている形式でオーディオファイルをアップロードします。
API Request
curl -X GET "https://dubsmart.ai/api/v1/upload?region=EU&fileExtension=mp3" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Response:
{
  "url": "https://storage.dubsmart.ai/voice-cloning/...",
  "key": "voice-cloning/user_id/filename.mp3"
}

# Upload file
curl -X PUT -T your_audio_file.mp3 "https://storage.dubsmart.ai/voice-cloning/..."
02

カスタムボイスの作成

アップロードされたオーディオサンプルを使ってカスタムボイスを作成します。アップロードステップから名前とファイルキーを入力してください。
API Request
curl -X POST "https://dubsmart.ai/api/v1/custom-voices/create" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Custom Voice",
    "examplePath": "voice-cloning/user_id/filename.mp3"
  }'

# Response:
{
  "id": "67c123...",
  "name": "My Custom Voice",
  "examplePath": "https://...",
  "createdAt": "2024-01-15T10:30:00Z"
}'
03

TTSおよびAIダビング・プロジェクトでの使用

カスタムボイスIDをTTSやAIダビングプロジェクトで使用できます。
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 world!",
        "voice": "67c123...",
        "language": "en"
      }
    ]
  }'

音声クローンAPIエンドポイント

すべてのエンドポイントの例を含む完全なAPIリファレンス
GET
/upload

アップロードファイルURLの取得

ファイル・アップロード用の署名付きURLを取得し、ファイル・キーを返す。
Request
JSON
Query Parameters:
- region: string (default: "EU")
- fileExtension: string (mp3, wav, aac, m4a, flac)
Response
JSON
{
  "url": "https://storage.dubsmart.ai/voice-cloning/...",
  "key": "voice-cloning/user_id/filename.mp3"
}
POST
/custom-voices/create

カスタムボイスの作成

アップロードされた音声サンプルを使って新しいカスタム音声を作成する
Request
JSON
{
  "name": "My Custom Voice",
  "examplePath": "voice-cloning/user_id/filename.mp3"
}
Response
JSON
{
  "id": "67c123...",
  "name": "My Custom Voice",
  "examplePath": "https://...",
  "createdAt": "2024-01-15T10:30:00Z"
}
POST
/custom-voices/list

カスタムボイス

ページネーションですべてのカスタムボイスを取得
Request
JSON
{
  "limit": 10,
  "cursor": "cursor_value"
}
Response
JSON
{
  "items": [
    {
      "id": "custom_voice_id",
      "name": "My Custom Voice",
      "examplePath": "https://...",
      "createdAt": "2024-01-15T10:30:00Z"
    }
  ],
  "nextCursor": "next_cursor_value"
}
DELETE
/custom-voices/{id}

カスタムボイスの削除

アカウントからカスタム音声を削除する
Request
JSON
Path Parameters:
- id: string (voice ID)
Response
JSON
{
  "id": "custom_voice_id",
  "success": true
}

音声クローン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 createCustomVoice() {
  try {
    // Step 1: Get upload URL
    const uploadResponse = await axios.get(`${BASE_URL}/upload`, {
      params: {
        region: 'EU',
        fileExtension: 'mp3'
      },
      headers: { 'Authorization': `Bearer ${API_KEY}` }
    });

    console.log('Upload URL:', uploadResponse.data.url);
    
    // Step 2: Upload audio file (you would use the presigned URL here)
    // This is typically done with a PUT request to the presigned URL
    
    // Step 3: Create custom voice
    const voiceResponse = await axios.post(`${BASE_URL}/custom-voices/create`, {
      name: 'My Custom Voice',
      examplePath: uploadResponse.data.key
    }, {
      headers: { 'Authorization': `Bearer ${API_KEY}` }
    });

    console.log('Custom voice created:', voiceResponse.data);
    
    // Step 4: List custom voices
    const voicesResponse = await axios.post(`${BASE_URL}/custom-voices/list`, {
      limit: 10
    }, {
      headers: { 'Authorization': `Bearer ${API_KEY}` }
    });

    console.log('Custom voices:', voicesResponse.data.items);
    
    return voiceResponse.data;
  } catch (error) {
    console.error('Error:', error.response?.data || error.message);
  }
}

// Usage
createCustomVoice();
Python Example
# Python Example
import requests
import json

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

def create_custom_voice():
    headers = {'Authorization': f'Bearer {API_KEY}'}
    
    try:
        # Step 1: Get upload URL
        upload_response = requests.get(f'{BASE_URL}/upload', 
            params={'region': 'EU', 'fileExtension': 'mp3'},
            headers=headers
        )
        upload_data = upload_response.json()
        
        print(f"Upload URL: {upload_data['url']}")
        
        # Step 2: Upload audio file (you would use the presigned URL here)
        # This is typically done with a PUT request to the presigned URL
        
        # Step 3: Create custom voice
        voice_data = {
            'name': 'My Custom Voice',
            'examplePath': upload_data['key']
        }
        
        voice_response = requests.post(f'{BASE_URL}/custom-voices/create',
            json=voice_data,
            headers=headers
        )
        
        voice_result = voice_response.json()
        print(f"Custom voice created: {voice_result}")
        
        # Step 4: List custom voices
        list_data = {'limit': 10}
        voices_response = requests.post(f'{BASE_URL}/custom-voices/list',
            json=list_data,
            headers=headers
        )
        
        voices_result = voices_response.json()
        print(f"Custom voices: {voices_result['items']}")
        
        return voice_result
        
    except requests.exceptions.RequestException as e:
        print(f"Error: {e}")

# Usage
create_custom_voice()
cURL Example
# cURL Examples

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

# Response:
# {
#   "url": "https://storage.dubsmart.ai/voice-cloning/...",
#   "key": "voice-cloning/user_id/filename.mp3"
# }

# Step 2: Upload audio file
curl -X PUT -T your_audio_file.mp3 "https://storage.dubsmart.ai/voice-cloning/..."

# Step 3: Create custom voice
curl -X POST "https://dubsmart.ai/api/v1/custom-voices/create" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Custom Voice",
    "examplePath": "voice-cloning/user_id/filename.mp3"
  }'

# Response:
# {
#   "id": "67c123...",
#   "name": "My Custom Voice",
#   "examplePath": "https://...",
#   "createdAt": "2024-01-15T10:30:00Z"
# }

# Step 4: List custom voices
curl -X POST "https://dubsmart.ai/api/v1/custom-voices/list" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit": 10}'

# Step 5: Delete custom voice
curl -X DELETE "https://dubsmart.ai/api/v1/custom-voices/VOICE_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"
PHP Example
<?php
// PHP Example
$apiKey = 'your_api_key_here';
$baseUrl = 'https://dubsmart.ai/api/v1';

function createCustomVoice($apiKey, $baseUrl) {
    $headers = [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json'
    ];
    
    try {
        // Step 1: Get upload URL
        $uploadUrl = $baseUrl . '/upload?region=EU&fileExtension=mp3';
        $uploadResponse = file_get_contents($uploadUrl, false, stream_context_create([
            'http' => [
                'method' => 'GET',
                'header' => $headers
            ]
        ]));
        
        $uploadData = json_decode($uploadResponse, true);
        echo "Upload URL: " . $uploadData['url'] . "\n";
        
        // Step 2: Upload audio file (you would use the presigned URL here)
        // This is typically done with a PUT request to the presigned URL
        
        // Step 3: Create custom voice
        $voiceData = [
            'name' => 'My Custom Voice',
            'examplePath' => $uploadData['key']
        ];
        
        $voiceContext = stream_context_create([
            'http' => [
                'method' => 'POST',
                'header' => $headers,
                'content' => json_encode($voiceData)
            ]
        ]);
        
        $voiceResponse = file_get_contents($baseUrl . '/custom-voices/create', false, $voiceContext);
        $voiceResult = json_decode($voiceResponse, true);
        
        echo "Custom voice created: " . json_encode($voiceResult) . "\n";
        
        // Step 4: List custom voices
        $listData = ['limit' => 10];
        $listContext = stream_context_create([
            'http' => [
                'method' => 'POST',
                'header' => $headers,
                'content' => json_encode($listData)
            ]
        ]);
        
        $voicesResponse = file_get_contents($baseUrl . '/custom-voices/list', false, $listContext);
        $voicesResult = json_decode($voicesResponse, true);
        
        echo "Custom voices: " . json_encode($voicesResult['items']) . "\n";
        
        return $voiceResult;
        
    } catch (Exception $e) {
        echo "Error: " . $e->getMessage() . "\n";
    }
}

// Usage
createCustomVoice($apiKey, $baseUrl);
?>

音声クローンAPI FAQ

Voice Cloning APIとは何ですか?
当社のVoice Cloning APIを使えば、オーディオサンプルからカスタムAIボイスを作成できます。音声ファイルをアップロードし、カスタムボイスを作成するだけで、TTSやAIダビングプロジェクトで使用することができます。
ボイスクローニングでサポートされているオーディオフォーマットは何ですか?
MP3、WAV、AAC、M4A、FLACオーディオフォーマットをサポートします。音声ファイルは、最適なボイスクローニング結果を得るために、バックグラウンドノイズのない20秒からでなければなりません。
カスタム・ボイスはいくつ作成できますか?
有料プランでは、カスタムボイスを無制限に作成できます。
カスタムボイスの作成にはどのくらい時間がかかりますか?
音声のクローニングには、音声の長さや複雑さにもよりますが、通常数秒かかります。
TTSプロジェクトでカスタムボイスを使うことはできますか?
はい!一度作成したカスタムボイスは、ボイスIDを参照することで、TTSプロジェクトで使用することができます。カスタムボイスはText-to-Speech APIとシームレスに連携し、自然な音声を生成します。
AIダビング・プロジェクトでカスタム・ボイスを使うことはできますか?
はい!一度作成したカスタムボイスは、ボイスIDを参照することで、AIダビングプロジェクトで使用することができます。カスタムボイスはAIダビングAPIとシームレスに連携し、自然な音声を生成します。
私のオーディオ・データは安全でプライベートですか?
もちろんです。私たちはデータのプライバシーに真剣に取り組んでいます。オーディオファイルは暗号化され、安全に保存されます。カスタムボイスと関連するオーディオデータはいつでも削除できます。