55 lines
2.9 KiB
Python
55 lines
2.9 KiB
Python
import requests
|
|
|
|
url = "https://api.minimaxi.com/v1/t2a_v2"
|
|
offline="你的好朋友现在不在哦"
|
|
welcome="你的好朋友已经在线,现在开始对话吧"
|
|
payload = {
|
|
"model": "speech-02-hd",
|
|
"text": welcome,
|
|
"voice_setting": {
|
|
"voice_id": "Chinese (Mandarin)_Cute_Spirit",
|
|
"speed": float(1.0),
|
|
"vol": 1.0,
|
|
"pitch": 0,
|
|
"emotion": 'happy',
|
|
},
|
|
"audio_setting": {
|
|
"sample_rate": 16000,
|
|
"bitrate": 32000,
|
|
"format": "mp3",
|
|
"channel": 1
|
|
},
|
|
"language_boost": "zh"
|
|
}
|
|
headers = {
|
|
"Content-Type": "application/json",
|
|
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJHcm91cE5hbWUiOiLovbvoiJ_mmbrlkK_vvIjmna3lt57vvInnp5HmioDmnInpmZDlhazlj7giLCJVc2VyTmFtZSI6Im1veSIsIkFjY291bnQiOiJtb3lAMTkxNTI5MjQxMDAyNDMwMDYzMCIsIlN1YmplY3RJRCI6IjE5MTY3OTA4MTQyNTY2NjQ2MDAiLCJQaG9uZSI6IiIsIkdyb3VwSUQiOiIxOTE1MjkyNDEwMDI0MzAwNjMwIiwiUGFnZU5hbWUiOiIiLCJNYWlsIjoiIiwiQ3JlYXRlVGltZSI6IjIwMjUtMDUtMDYgMTE6Mzg6MTMiLCJUb2tlblR5cGUiOjEsImlzcyI6Im1pbmltYXgifQ.Gw48hGemgBRA7YzjsWz5N2Vun7XRKyBXAKQLAnRZY6FdQQfDn__ZEUCMNVxMKcRns60-FrH-3Xp-nH-8nmQ-V67XtJ_JnBS4TH0NKDKt-vzj0xHmEWsMOEcwE24fOh1HB2U2o6teeLWJT_0fc2wRsdMD84NcRe0DSZ-Yi-et3_fbO8fmc6MTXGPkGQvYzS9k21Lm7A6rRUonL6IbTpqHSYuvA7bEV-6925gLxhwjSJ7q3r8KltKP4daGm2sIXhjr0mftR5t-NJs7pz-IWqoW5Lsaf3KgsIXTJn1wKwQtfo5L9oQxR7v8JifAOqJ_XPei5fXBYqIe5AoNATz5oKEo_A"
|
|
}
|
|
|
|
response = requests.post(url, json=payload, headers=headers)
|
|
|
|
print(response.json())
|
|
audio_data = response.json().get('data', {}).get('audio', '')
|
|
# print(audio_data)
|
|
if not audio_data:
|
|
raise Exception(f"Failed to get audio data from response")
|
|
|
|
# hex->bytes
|
|
output_file = "welcome.mp3"
|
|
audio_bytes = bytes.fromhex(audio_data)
|
|
with open(output_file, "wb") as f:
|
|
f.write(audio_bytes)
|
|
|
|
# import requests
|
|
|
|
# url = "https://api.minimaxi.com/v1/get_voice"
|
|
|
|
# payload = { "voice_type": "all" }
|
|
# headers = {
|
|
# "Content-Type": "application/json",
|
|
# "Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJHcm91cE5hbWUiOiLovbvoiJ_mmbrlkK_vvIjmna3lt57vvInnp5HmioDmnInpmZDlhazlj7giLCJVc2VyTmFtZSI6Im1veSIsIkFjY291bnQiOiJtb3lAMTkxNTI5MjQxMDAyNDMwMDYzMCIsIlN1YmplY3RJRCI6IjE5MTY3OTA4MTQyNTY2NjQ2MDAiLCJQaG9uZSI6IiIsIkdyb3VwSUQiOiIxOTE1MjkyNDEwMDI0MzAwNjMwIiwiUGFnZU5hbWUiOiIiLCJNYWlsIjoiIiwiQ3JlYXRlVGltZSI6IjIwMjUtMDUtMDYgMTE6Mzg6MTMiLCJUb2tlblR5cGUiOjEsImlzcyI6Im1pbmltYXgifQ.Gw48hGemgBRA7YzjsWz5N2Vun7XRKyBXAKQLAnRZY6FdQQfDn__ZEUCMNVxMKcRns60-FrH-3Xp-nH-8nmQ-V67XtJ_JnBS4TH0NKDKt-vzj0xHmEWsMOEcwE24fOh1HB2U2o6teeLWJT_0fc2wRsdMD84NcRe0DSZ-Yi-et3_fbO8fmc6MTXGPkGQvYzS9k21Lm7A6rRUonL6IbTpqHSYuvA7bEV-6925gLxhwjSJ7q3r8KltKP4daGm2sIXhjr0mftR5t-NJs7pz-IWqoW5Lsaf3KgsIXTJn1wKwQtfo5L9oQxR7v8JifAOqJ_XPei5fXBYqIe5AoNATz5oKEo_A"
|
|
# }
|
|
|
|
# response = requests.post(url, json=payload, headers=headers)
|
|
|
|
# print(response.json()) |