前言说明

云音工坊依托 Edge TTS 技术,为用户提供免费语音合成功能。我们基于该技术开发了专属 API 接口,目前该接口仅对会员用户开放,普通用户暂不支持调用接口服务,会员使用接口服务不会二次扣费,也无其他限制

若您需要免费合成语音,可直接通过本站在线工具操作,无需额外权限。如需使用 API 功能,欢迎升级为本站会员,会员可解锁更多高效语音合成场景。

使用说明

接口地址(支持 GET 和 POST)

https://www.yuntts.com/api/v1/edge_tts

请求头

// JSON 格式
Content-Type: application/json
Authorization: Bearer API-KEY  // API密钥

注意:秘钥请登录后前往 https://www.yuntts.com/user/api/ 生成,接口秘钥支持访问本站所有接口服务!

请求参数

fetch('/wp-json/api/v1/edge_tts', {
  method: 'POST',
  headers: {
    'Authorization': Bearer 'API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    text: "需要合成的文本内容",
    voice: "zh-CN-YunxiNeural",
    rate: 0,
    pitch: 0,
    volume: 0,
    stream: true
  })
});

请求参数说明

参数名 类型 必填 说明 示例值
text String 需要合成的文本内容 "你好世界"
voice String 语音类型选择 "zh-CN-XiaoxiaoNeural"
rate Integer 语速调节(-100~100) 0
pitch Integer 音调调节(-100~100) 0
volume Integer 音量调节(-100~100) 0
stream Boolean 是否启用流式传输 true、alse

注意:完整音色请参考下方列表

Name                               Gender    ContentCategories      VoicePersonalities
---------------------------------  --------  ---------------------  --------------------------------------
af-ZA-AdriNeural                   Female    General                Friendly, Positive
af-ZA-WillemNeural                 Male      General                Friendly, Positive
am-ET-AmehaNeural                  Male      General                Friendly, Positive
am-ET-MekdesNeural                 Female    General                Friendly, Positive
ar-AE-FatimaNeural                 Female    General                Friendly, Positive
ar-AE-HamdanNeural                 Male      General                Friendly, Positive
ar-BH-AliNeural                    Male      General                Friendly, Positive
ar-BH-LailaNeural                  Female    General                Friendly, Positive
ar-DZ-AminaNeural                  Female    General                Friendly, Positive
ar-DZ-IsmaelNeural                 Male      General                Friendly, Positive
ar-EG-SalmaNeural                  Female    General                Friendly, Positive
ar-EG-ShakirNeural                 Male      General                Friendly, Positive
ar-IQ-BasselNeural                 Male      General                Friendly, Positive
ar-IQ-RanaNeural                   Female    General                Friendly, Positive
ar-JO-SanaNeural                   Female    General                Friendly, Positive
ar-JO-TaimNeural                   Male      General                Friendly, Positive
ar-KW-FahedNeural                  Male      General                Friendly, Positive
ar-KW-NouraNeural                  Female    General                Friendly, Positive
ar-LB-LaylaNeural                  Female    General                Friendly, Positive
ar-LB-RamiNeural                   Male      General                Friendly, Positive
ar-LY-ImanNeural                   Female    General                Friendly, Positive
ar-LY-OmarNeural                   Male      General                Friendly, Positive
ar-MA-JamalNeural                  Male      General                Friendly, Positive
ar-MA-MounaNeural                  Female    General                Friendly, Positive
ar-OM-AbdullahNeural               Male      General                Friendly, Positive
ar-OM-AyshaNeural                  Female    General                Friendly, Positive
ar-QA-AmalNeural                   Female    General                Friendly, Positive
ar-QA-MoazNeural                   Male      General                Friendly, Positive
ar-SA-HamedNeural                  Male      General                Friendly, Positive
ar-SA-ZariyahNeural                Female    General                Friendly, Positive
ar-SY-AmanyNeural                  Female    General                Friendly, Positive
ar-SY-LaithNeural                  Male      General                Friendly, Positive
ar-TN-HediNeural                   Male      General                Friendly, Positive
ar-TN-ReemNeural                   Female    General                Friendly, Positive
ar-YE-MaryamNeural                 Female    General                Friendly, Positive
ar-YE-SalehNeural                  Male      General                Friendly, Positive
az-AZ-BabekNeural                  Male      General                Friendly, Positive
az-AZ-BanuNeural                   Female    General                Friendly, Positive
bg-BG-BorislavNeural               Male      General                Friendly, Positive
bg-BG-KalinaNeural                 Female    General                Friendly, Positive
bn-BD-NabanitaNeural               Female    General                Friendly, Positive
bn-BD-PradeepNeural                Male      General                Friendly, Positive
bn-IN-BashkarNeural                Male      General                Friendly, Positive
bn-IN-TanishaaNeural               Female    General                Friendly, Positive
bs-BA-GoranNeural                  Male      General                Friendly, Positive
bs-BA-VesnaNeural                  Female    General                Friendly, Positive
ca-ES-EnricNeural                  Male      General                Friendly, Positive
ca-ES-JoanaNeural                  Female    General                Friendly, Positive
cs-CZ-AntoninNeural                Male      General                Friendly, Positive
cs-CZ-VlastaNeural                 Female    General                Friendly, Positive
cy-GB-AledNeural                   Male      General                Friendly, Positive
cy-GB-NiaNeural                    Female    General                Friendly, Positive
da-DK-ChristelNeural               Female    General                Friendly, Positive
da-DK-JeppeNeural                  Male      General                Friendly, Positive
de-AT-IngridNeural                 Female    General                Friendly, Positive
de-AT-JonasNeural                  Male      General                Friendly, Positive
de-CH-JanNeural                    Male      General                Friendly, Positive
de-CH-LeniNeural                   Female    General                Friendly, Positive
de-DE-AmalaNeural                  Female    General                Friendly, Positive
de-DE-ConradNeural                 Male      General                Friendly, Positive
de-DE-FlorianMultilingualNeural    Male      General                Friendly, Positive
de-DE-KatjaNeural                  Female    General                Friendly, Positive
de-DE-KillianNeural                Male      General                Friendly, Positive
de-DE-SeraphinaMultilingualNeural  Female    General                Friendly, Positive
el-GR-AthinaNeural                 Female    General                Friendly, Positive
el-GR-NestorasNeural               Male      General                Friendly, Positive
en-AU-NatashaNeural                Female    General                Friendly, Positive
en-AU-WilliamNeural                Male      General                Friendly, Positive
en-CA-ClaraNeural                  Female    General                Friendly, Positive
en-CA-LiamNeural                   Male      General                Friendly, Positive
en-GB-LibbyNeural                  Female    General                Friendly, Positive
en-GB-MaisieNeural                 Female    General                Friendly, Positive
en-GB-RyanNeural                   Male      General                Friendly, Positive
en-GB-SoniaNeural                  Female    General                Friendly, Positive
en-GB-ThomasNeural                 Male      General                Friendly, Positive
en-HK-SamNeural                    Male      General                Friendly, Positive
en-HK-YanNeural                    Female    General                Friendly, Positive
en-IE-ConnorNeural                 Male      General                Friendly, Positive
en-IE-EmilyNeural                  Female    General                Friendly, Positive
en-IN-NeerjaExpressiveNeural       Female    General                Friendly, Positive
en-IN-NeerjaNeural                 Female    General                Friendly, Positive
en-IN-PrabhatNeural                Male      General                Friendly, Positive
en-KE-AsiliaNeural                 Female    General                Friendly, Positive
en-KE-ChilembaNeural               Male      General                Friendly, Positive
en-NG-AbeoNeural                   Male      General                Friendly, Positive
en-NG-EzinneNeural                 Female    General                Friendly, Positive
en-NZ-MitchellNeural               Male      General                Friendly, Positive
en-NZ-MollyNeural                  Female    General                Friendly, Positive
en-PH-JamesNeural                  Male      General                Friendly, Positive
en-PH-RosaNeural                   Female    General                Friendly, Positive
en-SG-LunaNeural                   Female    General                Friendly, Positive
en-SG-WayneNeural                  Male      General                Friendly, Positive
en-TZ-ElimuNeural                  Male      General                Friendly, Positive
en-TZ-ImaniNeural                  Female    General                Friendly, Positive
en-US-AnaNeural                    Female    Cartoon, Conversation  Cute
en-US-AndrewMultilingualNeural     Male      Conversation, Copilot  Warm, Confident, Authentic, Honest
en-US-AndrewNeural                 Male      Conversation, Copilot  Warm, Confident, Authentic, Honest
en-US-AriaNeural                   Female    News, Novel            Positive, Confident
en-US-AvaMultilingualNeural        Female    Conversation, Copilot  Expressive, Caring, Pleasant, Friendly
en-US-AvaNeural                    Female    Conversation, Copilot  Expressive, Caring, Pleasant, Friendly
en-US-BrianMultilingualNeural      Male      Conversation, Copilot  Approachable, Casual, Sincere
en-US-BrianNeural                  Male      Conversation, Copilot  Approachable, Casual, Sincere
en-US-ChristopherNeural            Male      News, Novel            Reliable, Authority
en-US-EmmaMultilingualNeural       Female    Conversation, Copilot  Cheerful, Clear, Conversational
en-US-EmmaNeural                   Female    Conversation, Copilot  Cheerful, Clear, Conversational
en-US-EricNeural                   Male      News, Novel            Rational
en-US-GuyNeural                    Male      News, Novel            Passion
en-US-JennyNeural                  Female    General                Friendly, Considerate, Comfort
en-US-MichelleNeural               Female    News, Novel            Friendly, Pleasant
en-US-RogerNeural                  Male      News, Novel            Lively
en-US-SteffanNeural                Male      News, Novel            Rational
en-ZA-LeahNeural                   Female    General                Friendly, Positive
en-ZA-LukeNeural                   Male      General                Friendly, Positive
es-AR-ElenaNeural                  Female    General                Friendly, Positive
es-AR-TomasNeural                  Male      General                Friendly, Positive
es-BO-MarceloNeural                Male      General                Friendly, Positive
es-BO-SofiaNeural                  Female    General                Friendly, Positive
es-CL-CatalinaNeural               Female    General                Friendly, Positive
es-CL-LorenzoNeural                Male      General                Friendly, Positive
es-CO-GonzaloNeural                Male      General                Friendly, Positive
es-CO-SalomeNeural                 Female    General                Friendly, Positive
es-CR-JuanNeural                   Male      General                Friendly, Positive
es-CR-MariaNeural                  Female    General                Friendly, Positive
es-CU-BelkysNeural                 Female    General                Friendly, Positive
es-CU-ManuelNeural                 Male      General                Friendly, Positive
es-DO-EmilioNeural                 Male      General                Friendly, Positive
es-DO-RamonaNeural                 Female    General                Friendly, Positive
es-EC-AndreaNeural                 Female    General                Friendly, Positive
es-EC-LuisNeural                   Male      General                Friendly, Positive
es-ES-AlvaroNeural                 Male      General                Friendly, Positive
es-ES-ElviraNeural                 Female    General                Friendly, Positive
es-ES-XimenaNeural                 Female    General                Friendly, Positive
es-GQ-JavierNeural                 Male      General                Friendly, Positive
es-GQ-TeresaNeural                 Female    General                Friendly, Positive
es-GT-AndresNeural                 Male      General                Friendly, Positive
es-GT-MartaNeural                  Female    General                Friendly, Positive
es-HN-CarlosNeural                 Male      General                Friendly, Positive
es-HN-KarlaNeural                  Female    General                Friendly, Positive
es-MX-DaliaNeural                  Female    General                Friendly, Positive
es-MX-JorgeNeural                  Male      General                Friendly, Positive
es-NI-FedericoNeural               Male      General                Friendly, Positive
es-NI-YolandaNeural                Female    General                Friendly, Positive
es-PA-MargaritaNeural              Female    General                Friendly, Positive
es-PA-RobertoNeural                Male      General                Friendly, Positive
es-PE-AlexNeural                   Male      General                Friendly, Positive
es-PE-CamilaNeural                 Female    General                Friendly, Positive
es-PR-KarinaNeural                 Female    General                Friendly, Positive
es-PR-VictorNeural                 Male      General                Friendly, Positive
es-PY-MarioNeural                  Male      General                Friendly, Positive
es-PY-TaniaNeural                  Female    General                Friendly, Positive
es-SV-LorenaNeural                 Female    General                Friendly, Positive
es-SV-RodrigoNeural                Male      General                Friendly, Positive
es-US-AlonsoNeural                 Male      General                Friendly, Positive
es-US-PalomaNeural                 Female    General                Friendly, Positive
es-UY-MateoNeural                  Male      General                Friendly, Positive
es-UY-ValentinaNeural              Female    General                Friendly, Positive
es-VE-PaolaNeural                  Female    General                Friendly, Positive
es-VE-SebastianNeural              Male      General                Friendly, Positive
et-EE-AnuNeural                    Female    General                Friendly, Positive
et-EE-KertNeural                   Male      General                Friendly, Positive
fa-IR-DilaraNeural                 Female    General                Friendly, Positive
fa-IR-FaridNeural                  Male      General                Friendly, Positive
fi-FI-HarriNeural                  Male      General                Friendly, Positive
fi-FI-NooraNeural                  Female    General                Friendly, Positive
fil-PH-AngeloNeural                Male      General                Friendly, Positive
fil-PH-BlessicaNeural              Female    General                Friendly, Positive
fr-BE-CharlineNeural               Female    General                Friendly, Positive
fr-BE-GerardNeural                 Male      General                Friendly, Positive
fr-CA-AntoineNeural                Male      General                Friendly, Positive
fr-CA-JeanNeural                   Male      General                Friendly, Positive
fr-CA-SylvieNeural                 Female    General                Friendly, Positive
fr-CA-ThierryNeural                Male      General                Friendly, Positive
fr-CH-ArianeNeural                 Female    General                Friendly, Positive
fr-CH-FabriceNeural                Male      General                Friendly, Positive
fr-FR-DeniseNeural                 Female    General                Friendly, Positive
fr-FR-EloiseNeural                 Female    General                Friendly, Positive
fr-FR-HenriNeural                  Male      General                Friendly, Positive
fr-FR-RemyMultilingualNeural       Male      General                Friendly, Positive
fr-FR-VivienneMultilingualNeural   Female    General                Friendly, Positive
ga-IE-ColmNeural                   Male      General                Friendly, Positive
ga-IE-OrlaNeural                   Female    General                Friendly, Positive
gl-ES-RoiNeural                    Male      General                Friendly, Positive
gl-ES-SabelaNeural                 Female    General                Friendly, Positive
gu-IN-DhwaniNeural                 Female    General                Friendly, Positive
gu-IN-NiranjanNeural               Male      General                Friendly, Positive
he-IL-AvriNeural                   Male      General                Friendly, Positive
he-IL-HilaNeural                   Female    General                Friendly, Positive
hi-IN-MadhurNeural                 Male      General                Friendly, Positive
hi-IN-SwaraNeural                  Female    General                Friendly, Positive
hr-HR-GabrijelaNeural              Female    General                Friendly, Positive
hr-HR-SreckoNeural                 Male      General                Friendly, Positive
hu-HU-NoemiNeural                  Female    General                Friendly, Positive
hu-HU-TamasNeural                  Male      General                Friendly, Positive
id-ID-ArdiNeural                   Male      General                Friendly, Positive
id-ID-GadisNeural                  Female    General                Friendly, Positive
is-IS-GudrunNeural                 Female    General                Friendly, Positive
is-IS-GunnarNeural                 Male      General                Friendly, Positive
it-IT-DiegoNeural                  Male      General                Friendly, Positive
it-IT-ElsaNeural                   Female    General                Friendly, Positive
it-IT-GiuseppeMultilingualNeural   Male      General                Friendly, Positive
it-IT-IsabellaNeural               Female    General                Friendly, Positive
iu-Cans-CA-SiqiniqNeural           Female    General                Friendly, Positive
iu-Cans-CA-TaqqiqNeural            Male      General                Friendly, Positive
iu-Latn-CA-SiqiniqNeural           Female    General                Friendly, Positive
iu-Latn-CA-TaqqiqNeural            Male      General                Friendly, Positive
ja-JP-KeitaNeural                  Male      General                Friendly, Positive
ja-JP-NanamiNeural                 Female    General                Friendly, Positive
jv-ID-DimasNeural                  Male      General                Friendly, Positive
jv-ID-SitiNeural                   Female    General                Friendly, Positive
ka-GE-EkaNeural                    Female    General                Friendly, Positive
ka-GE-GiorgiNeural                 Male      General                Friendly, Positive
kk-KZ-AigulNeural                  Female    General                Friendly, Positive
kk-KZ-DauletNeural                 Male      General                Friendly, Positive
km-KH-PisethNeural                 Male      General                Friendly, Positive
km-KH-SreymomNeural                Female    General                Friendly, Positive
kn-IN-GaganNeural                  Male      General                Friendly, Positive
kn-IN-SapnaNeural                  Female    General                Friendly, Positive
ko-KR-HyunsuMultilingualNeural     Male      General                Friendly, Positive
ko-KR-InJoonNeural                 Male      General                Friendly, Positive
ko-KR-SunHiNeural                  Female    General                Friendly, Positive
lo-LA-ChanthavongNeural            Male      General                Friendly, Positive
lo-LA-KeomanyNeural                Female    General                Friendly, Positive
lt-LT-LeonasNeural                 Male      General                Friendly, Positive
lt-LT-OnaNeural                    Female    General                Friendly, Positive
lv-LV-EveritaNeural                Female    General                Friendly, Positive
lv-LV-NilsNeural                   Male      General                Friendly, Positive
mk-MK-AleksandarNeural             Male      General                Friendly, Positive
mk-MK-MarijaNeural                 Female    General                Friendly, Positive
ml-IN-MidhunNeural                 Male      General                Friendly, Positive
ml-IN-SobhanaNeural                Female    General                Friendly, Positive
mn-MN-BataaNeural                  Male      General                Friendly, Positive
mn-MN-YesuiNeural                  Female    General                Friendly, Positive
mr-IN-AarohiNeural                 Female    General                Friendly, Positive
mr-IN-ManoharNeural                Male      General                Friendly, Positive
ms-MY-OsmanNeural                  Male      General                Friendly, Positive
ms-MY-YasminNeural                 Female    General                Friendly, Positive
mt-MT-GraceNeural                  Female    General                Friendly, Positive
mt-MT-JosephNeural                 Male      General                Friendly, Positive
my-MM-NilarNeural                  Female    General                Friendly, Positive
my-MM-ThihaNeural                  Male      General                Friendly, Positive
nb-NO-FinnNeural                   Male      General                Friendly, Positive
nb-NO-PernilleNeural               Female    General                Friendly, Positive
ne-NP-HemkalaNeural                Female    General                Friendly, Positive
ne-NP-SagarNeural                  Male      General                Friendly, Positive
nl-BE-ArnaudNeural                 Male      General                Friendly, Positive
nl-BE-DenaNeural                   Female    General                Friendly, Positive
nl-NL-ColetteNeural                Female    General                Friendly, Positive
nl-NL-FennaNeural                  Female    General                Friendly, Positive
nl-NL-MaartenNeural                Male      General                Friendly, Positive
pl-PL-MarekNeural                  Male      General                Friendly, Positive
pl-PL-ZofiaNeural                  Female    General                Friendly, Positive
ps-AF-GulNawazNeural               Male      General                Friendly, Positive
ps-AF-LatifaNeural                 Female    General                Friendly, Positive
pt-BR-AntonioNeural                Male      General                Friendly, Positive
pt-BR-FranciscaNeural              Female    General                Friendly, Positive
pt-BR-ThalitaMultilingualNeural    Female    General                Friendly, Positive
pt-PT-DuarteNeural                 Male      General                Friendly, Positive
pt-PT-RaquelNeural                 Female    General                Friendly, Positive
ro-RO-AlinaNeural                  Female    General                Friendly, Positive
ro-RO-EmilNeural                   Male      General                Friendly, Positive
ru-RU-DmitryNeural                 Male      General                Friendly, Positive
ru-RU-SvetlanaNeural               Female    General                Friendly, Positive
si-LK-SameeraNeural                Male      General                Friendly, Positive
si-LK-ThiliniNeural                Female    General                Friendly, Positive
sk-SK-LukasNeural                  Male      General                Friendly, Positive
sk-SK-ViktoriaNeural               Female    General                Friendly, Positive
sl-SI-PetraNeural                  Female    General                Friendly, Positive
sl-SI-RokNeural                    Male      General                Friendly, Positive
so-SO-MuuseNeural                  Male      General                Friendly, Positive
so-SO-UbaxNeural                   Female    General                Friendly, Positive
sq-AL-AnilaNeural                  Female    General                Friendly, Positive
sq-AL-IlirNeural                   Male      General                Friendly, Positive
sr-RS-NicholasNeural               Male      General                Friendly, Positive
sr-RS-SophieNeural                 Female    General                Friendly, Positive
su-ID-JajangNeural                 Male      General                Friendly, Positive
su-ID-TutiNeural                   Female    General                Friendly, Positive
sv-SE-MattiasNeural                Male      General                Friendly, Positive
sv-SE-SofieNeural                  Female    General                Friendly, Positive
sw-KE-RafikiNeural                 Male      General                Friendly, Positive
sw-KE-ZuriNeural                   Female    General                Friendly, Positive
sw-TZ-DaudiNeural                  Male      General                Friendly, Positive
sw-TZ-RehemaNeural                 Female    General                Friendly, Positive
ta-IN-PallaviNeural                Female    General                Friendly, Positive
ta-IN-ValluvarNeural               Male      General                Friendly, Positive
ta-LK-KumarNeural                  Male      General                Friendly, Positive
ta-LK-SaranyaNeural                Female    General                Friendly, Positive
ta-MY-KaniNeural                   Female    General                Friendly, Positive
ta-MY-SuryaNeural                  Male      General                Friendly, Positive
ta-SG-AnbuNeural                   Male      General                Friendly, Positive
ta-SG-VenbaNeural                  Female    General                Friendly, Positive
te-IN-MohanNeural                  Male      General                Friendly, Positive
te-IN-ShrutiNeural                 Female    General                Friendly, Positive
th-TH-NiwatNeural                  Male      General                Friendly, Positive
th-TH-PremwadeeNeural              Female    General                Friendly, Positive
tr-TR-AhmetNeural                  Male      General                Friendly, Positive
tr-TR-EmelNeural                   Female    General                Friendly, Positive
uk-UA-OstapNeural                  Male      General                Friendly, Positive
uk-UA-PolinaNeural                 Female    General                Friendly, Positive
ur-IN-GulNeural                    Female    General                Friendly, Positive
ur-IN-SalmanNeural                 Male      General                Friendly, Positive
ur-PK-AsadNeural                   Male      General                Friendly, Positive
ur-PK-UzmaNeural                   Female    General                Friendly, Positive
uz-UZ-MadinaNeural                 Female    General                Friendly, Positive
uz-UZ-SardorNeural                 Male      General                Friendly, Positive
vi-VN-HoaiMyNeural                 Female    General                Friendly, Positive
vi-VN-NamMinhNeural                Male      General                Friendly, Positive
zh-CN-XiaoxiaoNeural               Female    News, Novel            Warm
zh-CN-XiaoyiNeural                 Female    Cartoon, Novel         Lively
zh-CN-YunjianNeural                Male      Sports, Novel          Passion
zh-CN-YunxiNeural                  Male      Novel                  Lively, Sunshine
zh-CN-YunxiaNeural                 Male      Cartoon, Novel         Cute
zh-CN-YunyangNeural                Male      News                   Professional, Reliable
zh-CN-liaoning-XiaobeiNeural       Female    Dialect                Humorous
zh-CN-shaanxi-XiaoniNeural         Female    Dialect                Bright
zh-HK-HiuGaaiNeural                Female    General                Friendly, Positive
zh-HK-HiuMaanNeural                Female    General                Friendly, Positive
zh-HK-WanLungNeural                Male      General                Friendly, Positive
zh-TW-HsiaoChenNeural              Female    General                Friendly, Positive
zh-TW-HsiaoYuNeural                Female    General                Friendly, Positive
zh-TW-YunJheNeural                 Male      General                Friendly, Positive
zu-ZA-ThandoNeural                 Female    General                Friendly, Positive
zu-ZA-ThembaNeural                 Male      General                Friendly, Positive

返回数据

{
    "code": 200,
    "status": "success",
    "msg": "合成成功",
    "audio_url": "https://www.yuntts.com/wp-content/uploads/2025/05/68268f6256c69_1747357538.mp3",
    "format": "mp3"
}

返回参数说明

字段名 类型 说明 示例
code Integer 状态代码 200
status String 执行状态 success
msg String 状态信息 合成成功
audio_url URL 音频文件地址 https://www.yuntts.com/.../68269e2ea4595_1747361326.mp3
format String 音频格式 mp3

 

错误处理

秘钥错误

{
    "code": 401,
    "msg": "API密钥无效或已过期!"
}

权限不足

{
    "code": 110,
    "msg": "权限不足,请升级为永久会员!"
}

参数错误

{
    "code": 404,
    "msg": "无效的 voice 参数"
}

合成失败

{
    "code": 201,
    "msg": "合成失败"
}

参考代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Edge TTS 合成</title>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.3/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <div class="text-center pricing-header px-3 py-3 pt-md-5 pb-md-4 mx-auto">
                    <h3>Edge TTS 合成</h3>
                    <p class="text-muted mb-0">请输入相关信息进行合成</p>
                </div>
                <div class="row mb-4">
                    <div class="col-md-12">
                        <div class="accordion" id="paramsAccordion">
                            <div class="accordion-item">
                                <h2 class="accordion-header">
                                    <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseParams">
                                        接口参数说明
                                    </button>
                                </h2>
                                <div id="collapseParams" class="accordion-collapse collapse" data-bs-parent="#paramsAccordion">
                                    <div class="accordion-body">
                                        <table class="table table-striped table-bordered">
                                            <thead class="table-light">
                                                <tr>
                                                    <th>参数名</th>
                                                    <th>类型</th>
                                                    <th>必填</th>
                                                    <th>说明</th>
                                                    <th>示例值</th>
                                                </tr>
                                            </thead>
                                            <tbody>
                                                <tr>
                                                    <td>text</td>
                                                    <td>String</td>
                                                    <td>是</td>
                                                    <td>需要合成的文本内容</td>
                                                    <td>"你好世界"</td>
                                                </tr>
                                                <tr>
                                                    <td>voice</td>
                                                    <td>String</td>
                                                    <td>是</td>
                                                    <td>语音类型选择</td>
                                                    <td>"zh-CN-XiaoxiaoNeural"</td>
                                                </tr>
                                                <tr>
                                                    <td>rate</td>
                                                    <td>Integer</td>
                                                    <td>否</td>
                                                    <td>语速调节(-100~100)</td>
                                                    <td>0</td>
                                                </tr>
                                                <tr>
                                                    <td>pitch</td>
                                                    <td>Integer</td>
                                                    <td>否</td>
                                                    <td>音调调节(-100~100)</td>
                                                    <td>0</td>
                                                </tr>
                                                <tr>
                                                    <td>volume</td>
                                                    <td>Integer</td>
                                                    <td>否</td>
                                                    <td>音量调节(-100~100)</td>
                                                    <td>0</td>
                                                </tr>
                                                <tr>
                                                    <td>stream</td>
                                                    <td>Boolean</td>
                                                    <td>否</td>
                                                    <td>是否启用流式传输</td>
                                                    <td>true</td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </div>
                                </div>
                            </div>
                </div>
                <div class="shadow-none p-3 mb-5 card rounded">
                    <form id="ttsForm">
                        <div class="row">
                            <div class="col-md-8 mb-3">
                                <div class="form-group">
                                    <label for="text">文本内容:</label>
                                    <textarea class="form-control" rows="22" id="text" placeholder="请输入要合成的文本..." required></textarea>
                                </div>
                                <div class="d-flex align-items-center justify-content-between mt-2">
                                    <div class="form-check">
                                        <input class="form-check-input" type="checkbox" id="edge-tts-stream" checked>
                                        <label class="form-check-label" for="edge-tts-stream" style="font-size: small">
                                            启用流式传输
                                        </label>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-4 mb-3">
                                <div class="form-group">
                                    <label for="voice">语音类型:</label>
                                    <select id="voice" name="voice" class="form-select form-select-lg mb-3"> 
                                        <option value="zh-CN-XiaoxiaoNeural">晓晓(Xiaoxiao)-女</option><option value="zh-CN-XiaoyiNeural">晓伊(Xiaoyi)-女</option><option value="zh-CN-YunjianNeural">云健(Yunjian)-男</option><option value="zh-CN-YunxiNeural">云希(Yunxi)-男</option><option value="zh-CN-YunxiaNeural">云霞(Yunxia)-男</option><option value="zh-CN-YunyangNeural">云扬(Yunyang)-男</option><option value="zh-CN-liaoning-XiaobeiNeural">小北(Xiaobei)-女</option><option value="zh-CN-shaanxi-XiaoniNeural">小妮(Xiaoni)-女</option>
                                    </select>
                                </div>
                                <div class="mb-3">
                                    <label for="edge-tts-rateSlider" class="form-label">语速</label>
                                    <input type="range" class="form-range" id="edge-tts-rateSlider" min="-100" max="100" value="0" oninput="document.getElementById('edge-tts-rateValue').textContent = this.value">
                                    <span id="edge-tts-rateValue">0</span>
                                </div>
                                <div class="mb-3">
                                    <label for="edge-tts-pitchSlider" class="form-label">音调</label>
                                    <input type="range" class="form-range" id="edge-tts-pitchSlider" min="-100" max="100" value="0" oninput="document.getElementById('edge-tts-pitchValue').textContent = this.value">
                                    <span id="edge-tts-pitchValue">0</span>
                                </div>
                                <div class="mb-3">
                                    <label for="edge-tts-volumeSlider" class="form-label">音量</label>
                                    <input type="range" class="form-range" id="edge-tts-volumeSlider" min="-100" max="100" value="0" oninput="document.getElementById('edge-tts-volumeValue').textContent = this.value">
                                    <span id="edge-tts-volumeValue">0</span>
                                </div>
                                <div class="d-flex flex-wrap gap-2">
                                    <button class="btn btn-primary flex-grow-1" id="edge-tts-synthesizeBtn" onclick="edgeTtsSynthesize()">
                                        <i class="fa fa-paper-plane" aria-hidden="true"></i> <span id="buttonText">合成</span> <span class="spinner-border spinner-border-sm" id="loadingSpinner" style="display: none;"></span>
                                    </button>
                                    <button class="btn btn-warning flex-grow-1" id="edge-tts-download-edge-tts" disabled onclick="downloadAudio()">
                                        <i class="fa fa-arrow-circle-down" aria-hidden="true"></i> <span id="downloadText">下载音频</span> <span class="spinner-border spinner-border-sm" id="downloadSpinner" style="display: none;"></span>
                                    </button>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
                <audio id="edge-tts-audioPlayer" controls style="display: none;"></audio>
                <div id="result" class="col-md-12"></div>
            </div>
        </div>
    </div>    </div>    </div>
    <script>
        function downloadAudio() {
            const downloadBtn = document.getElementById('edge-tts-download-edge-tts');
            const downloadText = document.getElementById('downloadText');
            const downloadSpinner = document.getElementById('downloadSpinner');
            const resultDiv = document.getElementById('result');
            
            // 禁用按钮并显示加载状态
            downloadBtn.disabled = true;
            downloadText.textContent = '下载中...';
            downloadSpinner.style.display = 'inline-block';
            resultDiv.textContent = '正在准备下载...';
            
            const audioUrl = document.getElementById('edge-tts-audioPlayer').src;
            
            // 使用fetch API获取音频内容
            fetch(audioUrl, {
                headers: {
                    'Authorization': 'Bearer 68985a242e655fb2d0194dfb478f1f76'
                }
            })
            .then(response => {
                if (!response.ok) {
                    throw new Error(`HTTP error! status: ${response.status}`);
                }
                return response.blob();
            })
            .then(blob => {
                // 创建Blob对象的临时URL
                const url = URL.createObjectURL(blob);
                
                // 创建下载链接并触发点击
                const a = document.createElement('a');
                a.href = url;
                a.download = 'synthesized_audio.mp3';
                a.click();
                
                // 释放临时URL以避免内存泄漏
                setTimeout(() => {
                    URL.revokeObjectURL(url);
                }, 100);
                
                resultDiv.textContent = '下载成功!';
            })
            .catch(error => {
                console.error('下载出错:', error);
                resultDiv.textContent = '下载出错: ' + error.message;
            })
            .finally(() => {
                // 恢复按钮状态
                downloadBtn.disabled = false;
                downloadText.textContent = '下载音频';
                downloadSpinner.style.display = 'none';
            });
        }

        async function edgeTtsSynthesize() {
            const synthesizeBtn = document.getElementById('edge-tts-synthesizeBtn');
            const buttonText = document.getElementById('buttonText');
            const loadingSpinner = document.getElementById('loadingSpinner');
            synthesizeBtn.disabled = true;
            buttonText.textContent = '合成中...';
            loadingSpinner.style.display = 'inline-block';

            const text = document.getElementById('text').value;
            const voice = document.getElementById('voice').value;
            const rate = document.getElementById('edge-tts-rateSlider').value;
            const pitch = document.getElementById('edge-tts-pitchSlider').value;
            const volume = document.getElementById('edge-tts-volumeSlider').value;
            const stream = document.getElementById('edge-tts-stream').checked;
            const resultDiv = document.getElementById('result');
            resultDiv.textContent = '正在合成...';

            try {
                const response = await fetch('https://www.yuntts.com/api/v1/edge_tts', {
                    method: 'POST',
                    headers: {
                         'Authorization': 'Bearer 68985a242e655fb2d0194dfb478f1f76',
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                        text: text,
                        voice: voice,
                        rate: rate,
                        pitch: pitch,
                        volume: volume,
                        stream: stream
                    })
                });

                const data = await response.json();
                if ((data.code && data.code === 200) || (data.status && data.status === 'success')) {
                    const audioPlayer = document.getElementById('edge-tts-audioPlayer');
                    audioPlayer.src = data.audio_url;
                    audioPlayer.style.display = 'block';
                    document.getElementById('edge-tts-download-edge-tts').disabled = false;
                    resultDiv.textContent = '合成成功!点击下方播放器试听音频。';
                } else {
                    resultDiv.textContent = data.msg || '合成失败,请稍后重试';
                    document.getElementById('edge-tts-download-edge-tts').disabled = true;
                }
            } catch (error) {
                resultDiv.textContent = '合成出错: ' + error.message;
            } finally {
                synthesizeBtn.disabled = false;
                buttonText.textContent = '合成';
                loadingSpinner.style.display = 'none';
            }
        }
    </script>
</body>
</html>
# 基本调用(使用默认参数)
curl -X POST \
     -H "Authorization: Bearer 68985a242e655fb2d0194dfb478f1f76" \
     -H "Content-Type: application/json" \
     -d '{"text":"你好世界","voice":"zh-CN-XiaoxiaoNeural"}' \
     http://your-domain.com/wp-json/api/v1/edge_tts

# 带完整参数调用
curl -X POST \
     -H "Authorization: Bearer 68985a242e655fb2d0194dfb478f1f76" \
     -H "Content-Type: application/json" \
     -d '{"text":"欢迎使用语音合成服务","voice":"zh-CN-YunxiNeural","rate":20,"pitch":-10,"volume":5,"stream":true}' \
     http://your-domain.com/wp-json/api/v1/edge_tts
import requests

url = "http://your-domain.com/wp-json/api/v1/edge_tts"
headers = {
    "Authorization": "Bearer 68985a242e655fb2d0194dfb478f1f76",
    "Content-Type": "application/json"
}

# 基本调用
payload = {
    "text": "你好世界",
    "voice": "zh-CN-XiaoxiaoNeural"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())

# 带错误处理的高级调用
try:
    payload = {
        "text": "欢迎使用语音合成服务",
        "voice": "zh-CN-YunxiNeural",
        "rate": 20,
        "pitch": -10,
        "volume": 5,
        "stream": True
    }
    response = requests.post(url, json=payload, headers=headers)
    response.raise_for_status()
    audio_data = response.json()
    print("合成成功:", audio_data['audio_url'])
except requests.exceptions.HTTPError as err:
    print(f"HTTP错误:{err}")
except KeyError:
    print("响应数据格式异常")

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。