curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "voice-enrollment",
"audio_url": "https://your-cdn.com/samples/my-voice.wav",
"preferred_name": "myvoice"
}
'{
"created": 1775123456,
"id": "task-unified-1775123456-abcd1234",
"model": "voice-enrollment",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 60,
"audio_type": "voice_clone"
},
"type": "audio",
"usage": {
"credits_reserved": 0.001
}
}Voice Enrollment カスタム音声の作成
- モデル
voice-enrollmentで Qwen Audio 3.1 TTS Flash 用のカスタム音声を作成します。audio_urlは音声複製、voice_prompt+preview_textは音声設計です。両モードの選択フィールドを同時に指定するか、どちらも指定しない場合は400 - 両モードの音声は
qwen-audio-3.1-tts-flash専用で、作成したアカウントのみ使用可能です。旧qwen-voice-designの音声は使用できません。移行時はこの API で再作成してください - 設計はプレビュー音声(固定 24 kHz WAV)も返します。複製は音声名のみ返します
- 非同期処理です。タスク ID で結果を照会してください。複製は約 15~30 秒。設計はプレビューテキスト全体の合成を待ち、30 文字で約 12 秒、200 文字で約 49 秒
- リクエスト単位の課金で複製と設計は同額。失敗時は全額返還します。プレビュー音声リンクは 24 時間有効なので早めに保存してください
- 自分の声、または明確な許可を得た声のみ複製できます
手順:
audio_url(複製)またはvoice_prompt+preview_text(設計)とpreferred_nameを指定- タスク結果をポーリングし、
result_data.voice(音声名)を取得 - Qwen Audio 3.1 TTS Flash の
voiceに完全な音声名を指定
タスク結果(status が completed の場合):
| フィールド | 音声複製 | 音声設計 |
|---|---|---|
result_data.voice | qwen-audio-3.1-tts-flash-{preferred_name}-{32-character-id} | qwen-audio-3.1-tts-flash-vd-{preferred_name}-{32-character-id}(vd- が追加) |
result_data.voice_type | voice_clone | voice_design |
result_data.target_model | qwen-audio-3.1-tts-flash | qwen-audio-3.1-tts-flash |
results / result_data.preview_audio_url | 返しません | プレビュー音声 URL(24 時間有効)。sample_rate: 24000 と response_format: "wav" も返します |
設計のプレビュー音声を取得できない場合も、タスクは完了します(音声は作成・課金済み)。その場合は preview_audio_unavailable: true と preview_audio_warning を返します。
音声の有効期限:
- 複製・設計のカスタム音声はデフォルトで作成タスク完了から
6 時間で期限切れになります。合成で使用しても期限は延長されません - 期限後の TTS は
404(voice_expired)。この API で新しい音声を作成して合成に使用してください
音声の上限: 上流アカウントの Qwen-Audio-TTS シリーズのカスタム音声には総数上限があります(公式は 1000、複製と設計で共有)。上限に達すると作成は失敗し、全額返還されます。
文字数の計算: 中国語・英語の文字と句読点はいずれも 1 文字と数えます。
curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "voice-enrollment",
"audio_url": "https://your-cdn.com/samples/my-voice.wav",
"preferred_name": "myvoice"
}
'{
"created": 1775123456,
"id": "task-unified-1775123456-abcd1234",
"model": "voice-enrollment",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 60,
"audio_type": "voice_clone"
},
"type": "audio",
"usage": {
"credits_reserved": 0.001
}
}承認
ボディ
- 音声複製(audio_url)
- 音声設計(voice_prompt)
人物の録音から音声を作成します。audio_url で複製モードになります。設計用の voice_prompt、preview_text、sample_rate、response_format は省略してください。空でない設計テキスト、ゼロ以外のサンプルレート、空でない形式は 400。sample_rate: 0/null と response_format: ""/null は未指定として扱います。
モデル名
voice-enrollment "voice-enrollment"
複製する録音の URL。このフィールドは音声複製を選択し、voice_prompt とは同時に指定できません
URL の要件:
- 認証なしで公開アクセスできる HTTP または HTTPS
- ローカルやプライベートネットワークのアドレスは
400(invalid_media_url) - 最大
2048文字 - FTP など非 HTTP(S) プロトコルは
400(invalid_media_url) - URL のみ対応。Base64 data URI は
400(invalid_parameter)
音声の要件(満たさない場合はタスクが失敗することがあります):
- WAV、MP3、M4A
- 最大 60 秒。発話が短すぎても失敗します(テストでは 2 秒の録音が失敗)
- ファイルサイズは最大
10 MB - サンプルレートは
16 kHz以上 - 明瞭な人の声が必要です。無音、音楽など発話でない音声は拒否されます
録音の推奨事項:
- 10~20 秒、そのうち少なくとも 5 秒は連続した明瞭な朗読。ポーズは 2 秒以下
- モノラル。ステレオは最初のチャンネルのみ使用
- 背景音楽、雑音、他人の声を含めず、歌わずに通常の話し方で録音
ダウンロードできない、または要件を満たさない場合はタスクが失敗し、クレジットは全額返還されます
自分の声、または明確な許可を得た声のみ複製してください
2048[^\u0009-\u000D\u0020\u0085\u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]"https://your-cdn.com/samples/my-voice.wav"
音声名のプレフィックス
制約:
- 英字と数字のみ、1~10 文字。アンダースコアなどの記号は非対応
- 大文字は小文字に変換
- 一意である必要はありません
完全な音声名:複製は qwen-audio-3.1-tts-flash-{preferred_name}-{32-character-id}、設計は qwen-audio-3.1-tts-flash-vd-{preferred_name}-{32-character-id}
myvoice の複製例:qwen-audio-3.1-tts-flash-myvoice-5996beec833d41f4982158347ba97fae
10^[a-zA-Z0-9]+$"myvoice"
複製では録音の言語を指定し、音声の特徴をより正確に抽出します。設計では音声の言語傾向を指定します。preview_text と同じ言語を推奨します
未指定時は zh
zh, en, ja, ko, de, fr, it, ru, pt, es "zh"
音声を使用する TTS モデル。現在は 1 種類のみで、未指定時もこの値になります。他の値は 400
| 値 | 説明 |
|---|---|
qwen-audio-3.1-tts-flash | Qwen Audio 3.1 TTS Flash 非ストリーミング(デフォルト、唯一の値) |
qwen-audio-3.1-tts-flash "qwen-audio-3.1-tts-flash"
タスク結果の HTTPS コールバック URL
送信タイミング:
- タスク完了(
completed)または失敗(failed)時 - 課金確定後に送信
セキュリティ要件:
- HTTPS のみ
- プライベート IP は禁止(127.0.0.1、10.x.x.x、172.16~31.x.x、192.168.x.x など)
- URL は最大
2048文字
配信:
- タイムアウト:
10秒 - 失敗後は最大
3回、1/2/4秒後に再試行 - 本文形式はタスク照会 API のレスポンスと同じ
- 2xx は成功、それ以外は再試行
"https://your-domain.com/webhooks/voice-completed"
レスポンス
音声作成タスクを受け付けました
タスク作成時刻のタイムスタンプ
1775123456
タスク ID
"task-unified-1775123456-abcd1234"
実際に使用されたモデル名
"voice-enrollment"
タスクオブジェクトの具体的な種類
audio.generation.task タスク進捗率(0~100)
0 <= x <= 1000
タスクの状態
pending, processing, completed, failed "pending"
音声タスクの詳細
Show child attributes
Show child attributes
タスクの出力タイプ
audio "audio"
使用量と課金情報
Show child attributes
Show child attributes