AIツール
喋るアバター
APIで生成されたリソース(画像、動画)は7日間有効です。期限切れを防ぐために、関連するリソースはできるだけ早く保存してください。
プレビューを生成
POST https://devapi.vidnoz.com/v2/task/preview
リクエストヘッダー
| パラメータ | 必須 | タイプ | 説明 |
|---|---|---|---|
| Content-Type | true | string | データ転送タイプ: multipart/form-data |
リクエスト属性
1. プリセット音声を使用
| パラメータ | 必須 | タイプ | 説明 |
|---|---|---|---|
| voice_id | true | string | 音声リストのID(voice_idが推奨されます) |
| text | true | string | テキスト内容 |
2. クローン音声を使用
| パラメータ | 必須 | タイプ | 説明 |
|---|---|---|---|
| lang | true | string | 言語(クローンモードは英語、繁体字中国語、韓国語、日本語のみ対応) |
| file | false | file | アップロードされた元音声(このフィールドが優先されます)。音声をアップロードする方法は2つあります。 |
| file_url | false | string | 元音声アドレス。音声をアップロードする方法は2つあります。 |
| text | true | string | テキスト内容 |
レスポンス属性
| パラメータ | タイプ | 説明 |
|---|---|---|
| code | int | 200 |
| message | string | タスク備考 |
| data | obj | タスクオブジェクト |
| data.task_id | string | タスクID |
例
リクエスト属性
1. プリセット音声を使用
curl --request POST \
--url https://devapi.vidnoz.com/v2/task/preview \
--header "accept: application/json" \
--header "content-type: multipart/form-data" \
--header "Authorization: Bearer $API_KEY" \
--form 'voice_id="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'text="Input your text here"' \
2. クローン音声を使用
curl --request POST \
--url https://devapi.vidnoz.com/v2/task/preview \
--header "accept: application/json" \
--header "content-type: multipart/form-data" \
--header "Authorization: Bearer $API_KEY" \
--form 'lang="en"' \
--form 'file="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'file_url="https://static-alter1.vidnoz.com/system/openapi/sample/audio-Cora.wav"' \
--form 'text="Input your text here"' \
レスポンス属性
{
"code": 200,
"message": "ok",
"data": {
"task_id": "T2hzVGJ5dWhaSUxSSUJqSzZORUdpUT09"
}
}
次に、タスク詳細インターフェースを通じてタスクのステータスをクエリし、タスクデータを取得できます。
トーキングフォト動画を生成
POST https://devapi.vidnoz.com/v2/task/generate-talking-head
リクエストヘッダー
| パラメータ | 必須 | タイプ | 説明 |
|---|---|---|---|
| Content-Type | true | string | データ転送タイプ: multipart/form-data |
リクエスト属性
1. プリセット音声で音声合成
| パラメータ | 必須 | タイプ | 説明 |
|---|---|---|---|
| voice_id | true | string | 音声リストのID(voice_idが推奨されます) |
| text | true | string | テキスト内容 |
| type | true | int | 0:プリセット音声 |
| avatar | false | file | アップロードされた元アバター画像(このフィールドが優先されます)。アバター画像をアップロードする方法は2つあります。サポートされるフォーマット:JPG、PNG、JPEG、WebP |
| avatar_url | false | string | アップロードされた元アバター画像。アバター画像をアップロードする方法は2つあります。サポートされるフォーマット:JPG、PNG、JPEG、WebP |
2. クローン音声で音声合成
| パラメータ | 必須 | タイプ | 説明 |
|---|---|---|---|
| text | true | string | テキスト内容 |
| style | false | string | 感情デフォルト(通常) |
| lang | true | string | テキスト内容 |
| avatar | false | file | アップロードされた元アバター画像(このフィールドが優先されます)。アバター画像をアップロードする方法は2つあります。サポートされるフォーマット:JPG、PNG、JPEG、WebP |
| avatar_url | false | string | アップロードされた元アバター画像。アバター画像をアップロードする方法は2つあります。サポートされるフォーマット:JPG、PNG、JPEG、WebP |
| type | true | int | 1:クローン音声 |
| file | false | file | アップロードされた元音声ファイル(このフィールドが優先されます)。音声ファイルをアップロードする方法は2つあります。サポートされるフォーマット:WAV、MP3、MP4、AAC、WebM 最大200M |
| file_url | false | string | アップロードされた元音声ファイル。音声ファイルをアップロードする方法は2つあります。サポートされるフォーマット:WAV、MP3、MP4、AAC、WebM(最大200M)。 |
3. 音声ファイルを直接アップロード
| パラメータ | 必須 | タイプ | 説明 |
|---|---|---|---|
| avatar | false | file | アップロードされた元アバター画像(このフィールドが優先されます)。アバター画像をアップロードする方法は2つあります。サポートされるフォーマット:JPG、PNG、JPEG、WebP |
| avatar_url | false | string | アップロードされた元アバター画像。アバター画像をアップロードする方法は2つあります。サポートされるフォーマット:JPG、PNG、JPEG、WebP |
| type | true | int | 2:音声をアップロード |
| file | false | file | アップロードされた元音声ファイル(このフィールドが優先されます)。音声ファイルをアップロードする方法は2つあります。サポートされるフォーマット:WAV、MP3、MP4、AAC、WebM 最大200M |
| file_url | false | string | アップロードされた元音声ファイル。音声ファイルをアップロードする方法は2つあります。サポートされるフォーマット:WAV、MP3、MP4、AAC、WebM(最大200M)。 |
レスポンス属性
| パラメータ | タイプ | 説明 |
|---|---|---|
| code | int | 200 |
| message | string | タスク備考 |
| data | obj | タスクオブジェクト |
| data.task_id | string | タスクID |
例
リクエスト属性
1. プリセット音声で音声合成
curl --request POST \
--url https://devapi.vidnoz.com/v2/task/generate-talking-head \
--header "accept: application/json" \
--header "content-type: multipart/form-data" \
--header "Authorization: Bearer $API_KEY" \
--form 'voice_id="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'text="Input your text here"' \
--form 'avatar="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'avatar_url="https://static-alter1.vidnoz.com/system/openapi/sample/talking-photo.jpg"' \
2. クローン音声で音声合成
curl --request POST \
--url https://devapi.vidnoz.com/v2/task/generate-talking-head \
--header "accept: application/json" \
--header "content-type: multipart/form-data" \
--header "Authorization: Bearer $API_KEY" \
--form 'text="Input your text here"' \
--form 'lang="en"' \
--form 'avatar="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'avatar_url="https://static-alter1.vidnoz.com/system/openapi/sample/talking-photo.jpg"' \
--form 'type="Input your text here"' \
--form 'file="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'file_url="https://static-alter1.vidnoz.com/system/openapi/sample/audio-Cora.wav"' \
3. 音声ファイルを直接アップロード
curl --request POST \
--url https://devapi.vidnoz.com/v2/task/generate-talking-head \
--header "accept: application/json" \
--header "content-type: multipart/form-data" \
--header "Authorization: Bearer $API_KEY" \
--form 'text="Input your text here"' \
--form 'lang="en"' \
--form 'avatar="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'avatar_url="https://static-alter1.vidnoz.com/system/openapi/sample/talking-photo.jpg"' \
--form 'type="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'file="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
--form 'file_url="https://static-alter1.vidnoz.com/system/openapi/sample/audio-Cora.wav"' \
レスポンス属性
{
"code": 200,
"message": "",
"data": {
"id": 200080893,
"message": "",
"status": 0,
"additional_data": {
"key": "1328/asset/202412/204867612a0e51e4b2.55156474.mp4",
"url": "",
"video_720p": {
"key": "1328/asset/202412/204867612a0e51e4b2.55156474.mp4",
"url": "",
"video_size": 1072200,
"video_duration": 13.6
},
"video_size": 1072200,
"video_duration": 13.6
},
"user_id": 1328
}
}
次に、タスク詳細インターフェースを通じてタスクのステータスをクエリし、タスクデータを取得できます。
公式音声リストを取得
GET https://devapi.vidnoz.com/v2/voice/list
レスポンス属性
| パラメータ | タイプ | 説明 |
|---|---|---|
| voices | array | 音声のリスト。 |
| voices.voice_id | string | 音声のユニークな識別子。 |
| voices.name | string | 音声の名前。 |
| voices.country_name | string | 国名 |
| voices.country_icon_url | string | 国アイコンのURL。 |
| voices.preview_audio_url | string | 音声プレビューのURL。 |
| voices.gender | string | 音声に関連付けられた性別:男性、女性、未確認。 |
| voices.language | string | 音声の言語。 |
| voices.style_list | array | 利用可能な感情リスト。 |
| voices.words_per_minute | string | タスクID |
例
レスポンス属性
{
"code": 200,
"message": "ok",
"data": {
"voices": [
{
"voice_id": "M084TEhqTlFkdE8wRUxvRXFoVWlRdz09",
"name": "es-ES-Neural2-A",
"country_name": "Spanish(ES)",
"country_icon_url": "https://static-alter1.vidnoz.com/system/asset/202309/65040c1b9027e.png",
"preview_audio_url": "https://static-alter1.vidnoz.com/designer/asset/202407/9519669f4ae45e1639.54065252.mp3",
"gender": "female",
"language": "es",
"style_list": [
"normal",
"cheerful",
"chat"
]
"words_per_minute": null
},
{
"voice_id": "Rm5wL2NLWjY4SGlqSVFMLzF5WXFJUT09",
"name": "Celeste",
"country_name": "French(FR)",
"country_icon_url": "https://static-alter1.vidnoz.com/system/asset/202308/64d9fcf847f1c.png",
"preview_audio_url": "https://static-alter1.vidnoz.com/designer/asset/202312/9469658d2b7f223131.32142677.wav",
"gender": "female",
"language": "fr",
"style_list": [
"normal"
],
"words_per_minute": "155"
}
]
}
}
タスク詳細へのアクセス
POST https://devapi.vidnoz.com/v2/task/detail
リクエスト属性
| パラメータ | 必須 | タイプ | 説明 |
|---|---|---|---|
| id | true | string | タスクID |
レスポンス属性
| パラメータ | タイプ | 説明 |
|---|---|---|
| id | int | タスクID |
| message | int | タスク情報 |
| status | int | タスクの現在の状態 -1:未実行; -2:実行中。 |
| additional_data | json | 生成結果;詳細は以下をご覧ください。 |
例
リクエスト属性
curl --request POST \
--url https://devapi.vidnoz.com/v2/task/detail \
--header "accept: application/json" \
--header "content-type: multipart/form-data" \
--header "Authorization: Bearer $API_KEY" \
--form 'id="YmUxSTFBcVA1V1A3N2Y3L2hxMHhGQT09"' \
レスポンス属性
{
"code": 200,
"message": "ok",
"data": {
"id": 106927142,
"message": "",
"status": 0,
"additional_data": {}
}
}
1.ai_headshot
レスポンス属性
| パラメータ | タイプ | 説明 |
|---|---|---|
| img_key | string | 生成ファイルのキー |
| img_url | string | 生成ファイルのURL。 |
例
{
"additional_data": [
{
"img_key": "temporary/20241217/1328/1734417109904-a9c51522-05d1-afbf-20ab-a2b14489075c.png",
"img_url": ""
},
{
"img_key": "temporary/20241217/1328/1734417112762-1ed846fb-5984-b695-a32b-454e74034a5a.png",
"img_url": ""
}
]
}
}
2.トーキングフォトプレビュー
レスポンス属性
| パラメータ | タイプ | 説明 |
|---|---|---|
| key | int | 生成された動画のサイズ。 |
| url | float | 生成された動画の長さ。 |
| subtitles | bool | 字幕の有無 |
| audio_size | string | 生成された音声のサイズ。 |
| audio_duration | float | 生成された音声の長さ。 |
例
{
"additional_data": {
"key": "1328/asset/202412/778367614047027e53.54679129.wav",
"url": "",
"subtitles": null,
"audio_size": 1177662,
"audio_duration": 13.351519
}
}
}
3.動画を生成
レスポンス属性
| パラメータ | タイプ | 説明 |
|---|---|---|
| key | string | 生成された動画のキー。 |
| url | string | 生成された動画のURL。 |
| video_720p | obj | 生成された720p動画情報、またはその定義に該当する動画がない場合はnull。 |
| video_720p.key | string | 生成された720p動画情報キー。 |
| video_720p.url | string | 生成された720p動画情報URL。 |
| video_720p.video_size | int | 生成された720p動画情報のサイズ。 |
| video_720p.video_duration | float | 生成された720p動画情報の長さ。 |
| video_size | int | 生成された動画情報のサイズ。 |
| video_duration | float | 生成された動画情報の長さ。 |
例
{
"additional_data":{
"key": "1328/asset/202412/945567613c44999c14.58089446.mp4",
"url": "",
"video_720p": {
"key": "1328/asset/202412/945567613c44999c14.58089446.mp4",
"url": "",
"video_size": 1146957,
"video_duration": 15.84
},
"video_size": 1146957,
"video_duration": 15.84
}
}
4.テキストから画像生成
レスポンス属性
| パラメータ | タイプ | 説明 |
|---|---|---|
| images | array | 生成された画像の配列。 |
| image_key | string | 生成された画像のキー。 |
| image_url | string | 生成された画像のURL。 |
| image_size | int | 生成された画像のサイズ。 |
例
{
"additional_data":{
"images": [
{
"image_key": "2828/asset/202412/200081156_image_0.jpg",
"image_url": "",
"image_size": 26724
},
{
"image_key": "2828/asset/202412/200081156_image_1.jpg",
"image_url": "",
"image_size": 26724
},
{
"image_key": "2828/asset/202412/200081156_image_2.jpg",
"image_url": "",
"image_size": 26831
},
{
"image_key": "2828/asset/202412/200081156_image_3.jpg",
"image_url": "",
"image_size": 26831
}
]
}
}