import requests
import json
import time

group_id = "1939611624583205312"
# group_id = "1937164179697836596"
api_key = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJHcm91cE5hbWUiOiJDbGF5dG9uIENoZW4iLCJVc2VyTmFtZSI6IkNsYXl0b24gQ2hlbiIsIkFjY291bnQiOiIiLCJTdWJqZWN0SUQiOiIxOTM5NjExNjI0NTg3Mzk5NjE2IiwiUGhvbmUiOiIiLCJHcm91cElEIjoiMTkzOTYxMTYyNDU4MzIwNTMxMiIsIlBhZ2VOYW1lIjoiIiwiTWFpbCI6ImFsY2hlbXlvZmNvZGVAZ21haWwuY29tIiwiQ3JlYXRlVGltZSI6IjIwMjUtMDctMDIgMTM6NDg6MzEiLCJUb2tlblR5cGUiOjEsImlzcyI6Im1pbmltYXgifQ.tYnA_TmzkpvEK2jPby1Q5TXG6jIDxZu85-F4huTNQC2LqRHvRTsFBaeJD1GSMvW3gPb48VI5eFkHSDv6YdCAyqwADSnhbrVgyJs_kKGRrw0bhJPBdz-08BSx4vd-J9i2WS1Uv0n730SUhvnMEFv-XGh-pj5Vz9c0dA3Q6BMKulO2MTzyFeftK9X-1FVcWs6G5glBwQYnzKFmT3eKi5e3qkQcfvj3IBstMTQrPO5BVsrj8X4Z6cfQ6McbzueeGQrdf7vlq-Pdi9DP2i4tp4FEWhIl4Rap1izVRQUa69KWD-q2FNTIDPCS5QQYvYFQMaHjQmJet4Zh9tV4fEdQslqEMw"
# api_key = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJHcm91cE5hbWUiOiLmtbfonrrnlKjmiLdfMjMxMDY3MDA2MzU4Mzg4NzQ0IiwiVXNlck5hbWUiOiLmtbfonrrnlKjmiLdfMjMxMDY3MDA2MzU4Mzg4NzQ0IiwiQWNjb3VudCI6IiIsIlN1YmplY3RJRCI6IjE5MzcxNjQxNzk3MDYyMjUyMDQiLCJQaG9uZSI6IjE4NzEwMDU3MTY5IiwiR3JvdXBJRCI6IjE5MzcxNjQxNzk2OTc4MzY1OTYiLCJQYWdlTmFtZSI6IiIsIk1haWwiOiIiLCJDcmVhdGVUaW1lIjoiMjAyNS0wNi0yOSAyMzoxMjoyMiIsIlRva2VuVHlwZSI6MSwiaXNzIjoibWluaW1heCJ9.CcUAgI2iaiH3MpTuQb3gW2d-BAVKRTwYPxmVMl_irhpZvUxWjeYKGxlQDIh2it8B5R2Io2gYYf_qv1_DGWIHAF06J0rgH_nD_R1giY7vHA6kOQ2AXhGtqJUmjT_XZbJeXwSY0-iO8h8_tE7zG1bVxltF8EbXHCLIgv7xVZOTqlNu_t3ouvFEoaAwZ5JJDo1o6tPGr9KtPs8EAtuf98MPUkk3C6q_jQpr_xZr-1KnXDxRt6FBwnN0IuyMMIpQh9Qh4qaZgcIJQe9A-V5c1ET-5ZlUXsUnvisVx3mGV4PFnCLSSRzgMehjaPEED4Krl2WNR-tFMJKrHGRgn6WmIEAveA"
url = f"https://api.minimax.io/v1/t2a_v2?GroupId={group_id}"
# url = f"https://api.minimaxi.com/v1/t2a_v2?GroupId={group_id}"

payload = json.dumps({
  "model":"speech-2.5-hd-preview",
  "text":"水循环是大自然的循环系统，水从地面蒸发，形成云，然后以雨的形式回到地面，这个循环过程对地球上的生命至关重要。",
  "stream": False,
  "language_boost":"Japanese",
  "voice_setting":{
    "voice_id":"changping-xiongben-323153066537136",
    "speed":1,
    "vol":1,
    "pitch":0,
    "emotion":"happy"
  },
  "audio_setting":{
    "sample_rate":32000,
    "format":"mp3",
    "channel":1
  }
})
headers = {
  'Authorization': f'Bearer {api_key}',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, stream=True, headers=headers, data=payload)
print(response.text)
# print(response.text)
parsed_json = response.json()

# get audio
audio_value = bytes.fromhex(parsed_json['data']['audio'])
with open('output.mp3', 'wb') as f:
    f.write(audio_value)
