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은 생략하세요. 비어 있지 않은 설계 텍스트, 0이 아닌 샘플링 레이트 또는 비어 있지 않은 형식은 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) - 링크만 지원하며 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 모델. 현재 값은 하나이며 생략하면 해당 값을 사용합니다. 다른 값은 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