curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-audio-3.1-tts-flash",
"prompt": "我家的后面有一个很大的花园。"
}
'{
"created": 1790000000,
"id": "task-unified-1790000000-abcd1234",
"model": "qwen-audio-3.1-tts-flash",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 3,
"audio_type": "tts"
},
"type": "audio",
"usage": {
"credits_reserved": 0.0144
}
}Qwen Audio 3.1 TTS Flash 음성 합성
- 텍스트를 음성으로 변환하며 요청당 최대
5000자까지 지원합니다 - 시스템 음성 68개는 음성 목록을 참고하세요. Voice Enrollment로 직접 복제하거나 설계한 음성도 사용할 수 있습니다
- 사용자 지정 음성은 기본적으로 생성 작업 완료 후
6시간이 지나면 만료됩니다. 만료 후 합성은404(voice_expired)를 반환하므로 Voice Enrollment로 다시 생성하세요 - 자연어 지시(
instruction), 텍스트 내 감정 및 비언어적 발성 태그, SSML, 사용자 지정 발음(hot_fix) 지원 - 아래에 나열된 매개변수만 허용합니다. 다른 매개변수는
400(unsupported_parameter) - 비동기 처리입니다. 반환된 작업 ID로 결과를 조회하세요
- 제출 후 작업을 취소할 수 없습니다
- 생성된 오디오 링크는 24시간 동안 유효하므로 바로 저장하세요
과금:
- 실제 토큰 사용량으로 과금합니다. 입력 토큰(텍스트 길이 관련)과 출력 토큰(오디오 길이 관련)을 각각 계산합니다
- 제출 시 텍스트 길이로 크레딧을 예약합니다(
usage.credits_reserved). 완료 후 실제 사용량으로 정산하며 초과 예약분은 환불하고 부족분은 추가 청구합니다. 실패 시 전액 환불 - 숫자, 문자, 기호를 하나씩 읽으면 같은 길이의 일반 문장보다 오디오가 길고 출력 토큰이 많아질 수 있습니다. 실제 소비량이 예약량을 초과할 수 있습니다
- 같은 텍스트도
[very slowly]같은 느린 말하기 지시나 태그를 사용하면 출력 토큰이 크게 늘어날 수 있습니다.speech_rate조절 및 SSML 일시 정지는 출력 토큰을 늘리지 않습니다
작업 결과(status가 completed인 경우):
| 필드 | 설명 |
|---|---|
results[0] | 오디오 URL |
result_data[0].audio_url | 오디오 URL, results[0]과 동일 |
result_data[0].format | 오디오 형식 |
result_data[0].sample_rate | 샘플링 레이트(Hz) |
usage.input_tokens / usage.output_tokens / usage.total_tokens | 이번 합성의 토큰 사용량 |
usage.credits_used | 실제 사용 크레딧 |
curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-audio-3.1-tts-flash",
"prompt": "我家的后面有一个很大的花园。"
}
'{
"created": 1790000000,
"id": "task-unified-1790000000-abcd1234",
"model": "qwen-audio-3.1-tts-flash",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 3,
"audio_type": "tts"
},
"type": "audio",
"usage": {
"credits_reserved": 0.0144
}
}인증
본문
- Option 1
- Option 2
prompt 또는 input 중 하나 이상에 비어 있지 않은 텍스트를 제공하세요. 둘 다 제공하면 내용이 같아야 합니다. response_format과 format을 둘 다 제공하면 값이 같아야 합니다.
합성할 텍스트
제약 조건:
- 최대
5000자 - 긴 텍스트에는 문장 부호를 유지하세요. 문장 구분이 없는 긴 문단은 상위 제공자에서 약
1500출력 토큰(약 120초 오디오)으로 잘릴 수 있습니다. 작업은 성공으로 표시되고 실제 생성 토큰으로 과금되며, 게이트웨이는 이러한 잘림을 감지할 수 없습니다 input으로도 입력할 수 있습니다. 하나 이상에 비어 있지 않은 텍스트가 필요하며 한 필드만 사용하도록 권장합니다. 두 내용이 다르면400(parameter_conflict)- 선택한 음성이 지원하는 언어를 사용하세요. 지원하지 않는 언어는 발음 오류가 날 수 있습니다
감정 및 비언어적 발성 태그: 추가 매개변수 없이 텍스트에 직접 넣습니다. 태그 문자열도 과금 문자 수에 포함됩니다
- 제어 태그: 다음 제어 태그가 나올 때까지 뒤따르는 텍스트의 감정이나 스타일을 설정합니다.
[sad]슬픔,[amazed]놀람,[deep and loud shouting]낮고 큰 외침,[trembling]떨림,[angry]분노,[excited]흥분,[sarcastic]비꼼,[curious]호기심,[like dracula]낮고 음산한 목소리,[bored]지루함,[tired]피로,[scornful]경멸,[shouting]외침,[asmr]부드러운 ASMR 속삭임,[panicked]공황,[mischievously]장난스러움,[empathetic]공감,[whispers]속삭임,[reluctantly]마지못함,[crying]울음,[serious]진지함,[very slowly]매우 느리게,[very fast]매우 빠르게 - 비언어적 발성 태그: 주변 텍스트의 감정을 바꾸지 않고 해당 위치에 발성 효과를 넣습니다.
[gasp]숨을 들이킴,[sighing]한숨,[clears throat]헛기침,[giggles]킥킥 웃음,[laughing]웃음,[cough]기침,[snorts]콧소리
예시: [excited]今天的天气真不错![laughing]我们一起出去玩吧!
enable_ssml이 true이면 이 필드를 SSML로 해석합니다
5000\S"我家的后面有一个很大的花园。"
모델 이름
qwen-audio-3.1-tts-flash "qwen-audio-3.1-tts-flash"
prompt의 별칭이며 길이 제한과 사용 규칙이 같습니다
prompt또는input중 하나 이상에 비어 있지 않은 텍스트 제공- 둘 다 제공하면 내용이 같아야 하며, 다르면
400(parameter_conflict)
5000"我家的后面有一个很大的花园。"
음성 이름, 대소문자를 구분합니다
- 시스템 음성 68개의 이름, 성별, 용도는 음성 목록 참고
- 생략하면
longanhuan_v3.1 - 직접 Voice Enrollment로 만든 음성도 사용 가능합니다. 복제는
qwen-audio-3.1-tts-flash-{prefix}-{32-character-id}, 설계는qwen-audio-3.1-tts-flash-vd-{prefix}-{32-character-id}형식입니다. 생성 계정만 사용할 수 있습니다.qwen-voice-design의qwen-tts-vd-…등 다른 모델 음성은400(invalid_voice). 존재하지 않거나 다른 계정 소유의 음성은404(voice_not_found) - 사용자 지정 음성은 기본적으로 생성 작업 완료 후
6시간뒤 만료됩니다. 이후 합성은404(voice_expired)를 반환하므로 Voice Enrollment로 다시 생성하세요
"longanhuan_v3.1"
출력 오디오 형식. mp3, wav, opus를 지원하며 기본값은 mp3
opus는 Ogg Opus 컨테이너format으로도 입력할 수 있습니다. 한 필드만 권장하며 두 값이 다르면400(parameter_conflict)
mp3, wav, opus "mp3"
response_format의 별칭. mp3, wav, opus 지원
- 두 필드 모두 생략하면
mp3 - 둘 다 제공하면 값이 같아야 하며, 다르면
400(parameter_conflict)
mp3, wav, opus "mp3"
출력 샘플링 레이트(Hz)
response_format이opus이면22050과44100을 지원하지 않습니다- 생략하거나
null이면 기본값 사용.0또는 목록 밖의 값은400
8000, 12000, 16000, 22050, 24000, 44100, 48000, null 24000
볼륨, 범위 0 ~ 100
0 <= x <= 10050
말하기 속도 배율
1.0: 정상 속도(기본값)2.0: 두 배 속도,0.5: 절반 속도
범위 0.5 ~ 2.0. 속도 조절은 출력 토큰 수를 바꾸지 않습니다
0.5 <= x <= 21
음높이 배율
1.0: 기본 음높이1.0보다 크면 높아지고 작으면 낮아집니다
범위 0.5 ~ 2.0
음높이를 바꾸면 속도와 오디오 길이도 바뀝니다
- 높이면 빨라지고 짧아지며, 낮추면 느려지고 길어집니다. 길이는 대략 음높이 값의 제곱에 반비례합니다
1.0에서 약 2.8초인 문장은0.8에서 약 4.3초,1.2에서 약 2.1초,0.5에서 약 10.9초,2.0에서 약 0.7초입니다0.8~1.2사이의 작은 조정을 권장합니다.0.5나2.0에 가까우면 지나치게 느리거나 빨라집니다speech_rate도1.0이 아닌 값으로 입력하면pitch는 적용되지 않습니다. 두 효과를 함께 적용할 수 없습니다- 음높이 조절은 출력 토큰 수를 바꾸지 않습니다
0.5 <= x <= 21
감정, 말투, 역할, 방언 등을 조절하는 자연어 지시
제약 조건:
- 최대
100과금 문자. 한자(일본어 한자와 한국어 한자 포함)는 2, 나머지 문자(가나와 한글 포함)는 1로 계산합니다(한자 약 50자 또는 영어 약 100자). 초과하면400
예시:
用欢快、热情的语气说(밝고 열정적인 말투)请用上海话表达(상하이어 사용, 다국어 및 방언 음성)Speak slowly in a calm and gentle tone
지시 자체는 입력 토큰에 포함되지 않지만 오디오 길이와 출력 토큰에 영향을 줄 수 있습니다
매개변수는 단수형
instruction입니다.instructions는400
"用欢快、热情的语气说"
대상 언어 힌트. 숫자, 약어, 기호의 발음과 비교적 사용이 적은 언어의 합성을 개선합니다
예를 들어 hello, this is 110에 zh를 입력하면 110을 중국어 “yao yao ling”으로 읽습니다
| 값 | 언어 | 값 | 언어 |
|---|---|---|---|
zh | 중국어 | th | 태국어 |
en | 영어 | id | 인도네시아어 |
fr | 프랑스어 | vi | 베트남어 |
de | 독일어 | es | 스페인어 |
ja | 일본어 | it | 이탈리아어 |
ko | 한국어 | ms | 말레이어 |
ru | 러시아어 | fil | 필리핀어 |
pt | 포르투갈어 | ar | 아랍어 |
생략하면 모델이 자동 판별합니다. 이 매개변수는 텍스트를 번역하지 않습니다
zh, en, fr, de, ja, ko, ru, pt, th, id, vi, es, it, ms, fil, ar "zh"
prompt를 SSML로 해석할지 여부
활성화하면 SSML 태그를 사용할 수 있습니다. 예를 들어 <break time="1s"/>로 일시 정지를 삽입합니다:
<speak>欢迎收听今天的节目。<break time="1s"/>我们马上开始。</speak>
SSML 일시 정지는 출력 토큰에 포함되지 않습니다
false
다음자, 고유명사 등의 발음을 교정하는 사용자 지정 발음과 텍스트 치환
pronunciation: 단어의 병음을 지정합니다. 음절은 공백으로 구분하고 성조는 숫자로 표시합니다. 예:tian1 qi4replace: 합성 전에 단어를 치환합니다. 치환된 텍스트로 합성하고 과금하며, 치환 후에도 최대5000자입니다. 초과하면400(prompt_too_long)
두 목록 합계 최대 200개 항목입니다. 객체 안의 키-값 쌍을 셉니다. 초과하면 400(invalid_parameter)
하나 이상을 제공하세요. 제공하는 각 목록은 비어 있지 않은 배열이며, 각 항목은 {"단어": "값"} 형태의 객체입니다
예시:
{
"pronunciation": [{"天气": "tian1 qi4"}],
"replace": [{"今天": "金天"}]
}
Show child attributes
Show child attributes
생성된 오디오에 보이지 않는 AIGC 식별 정보 삽입 여부(wav / mp3 / opus에서 적용)
false
작업 결과를 받을 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/tts-completed"
응답
음성 합성 작업 생성 성공
작업 생성 타임스탬프
1790000000
작업 ID
"task-unified-1790000000-abcd1234"
실제로 사용된 모델 이름
"qwen-audio-3.1-tts-flash"
작업 객체의 구체적인 유형
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