GLM TTS 與 ASR API 快速入門

GLM TTS 與 ASR API 快速入門

本指南將引導您從取得 API 金鑰到生成可運作的音訊,涵蓋 GLM 音訊 API — GLM TTS 用於文字轉語音、GLM ASR 用於語音轉錄,以及 GLM Voice Clone 用於自訂語音合成。所有功能皆為同步 REST 端點,無需輪詢或 Webhook 步驟。如果您正在建構語音功能、轉錄管道或中文語音應用程式,這是達成整合最快途徑。

何時使用本快速入門

當您需要以下功能時,請參考本指南:

  • 使用 POST /v3/glm-tts,以中文優化語音將文字轉為語音
  • 使用 POST /v3/glm-asr,轉錄 .wav.mp3 音訊檔案
  • 使用 POST /v3/glm-tts-voice-clone,從短音訊樣本複製語音並合成新的語音

所有端點均透過位於 https://api.novita.ai 的 Novita AI API 提供。

前置條件

  1. 一個 Novita AI 帳號。從 Novita AI 控制台 取得您的 API 金鑰。
  2. curl 用於命令列範例。
  3. 安裝了 requests 套件的 Python 3.8+ 用於 Python 範例。

將您的金鑰設定為環境變數:

export NOVITA_API_KEY="your_api_key_here"

GLM TTS 快速入門

端點: POST https://api.novita.ai/v3/glm-tts

將最多 1024 個字元的文字轉換為語音。回應為二進位音訊 — 直接寫入檔案即可。

參數

參數 類型 預設值 說明
input 字串 必填。最多 1024 個字元。
voice 字串 tongtong 系統語音 ID 或已複製的語音名稱。
speed 數字 1.0 範圍:0.5–2.0
volume 數字 1.0 範圍:0–10
response_format 字串 pcm wavpcm。WAV 包含標準音訊標頭;PCM 為 24000 Hz 的原始位元組。
watermark_enabled 布林值 true 僅在您的帳號已啟用水印移除功能時設為 false

系統語音

語音 ID 顯示名稱
tongtong 彤彤(預設)
chuichui 吹吹
xiaochen 小辰
jam 東東動物園 – Jam
kazi 東東動物園 – Kazi
douji 東東動物園 – 兜雞
luodo 東東動物園 – 洛多

curl

curl -s -X POST https://api.novita.ai/v3/glm-tts \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "你好,歡迎使用 Novita AI 語音合成介面。",
    "voice": "tongtong",
    "speed": 1.0,
    "volume": 5,
    "response_format": "wav"
  }' \
  --output output.wav

Python

import requests, os

response = requests.post(
    "https://api.novita.ai/v3/glm-tts",
    headers={
        "Authorization": f"Bearer {os.environ['NOVITA_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "input": "你好,歡迎使用 Novita AI 語音合成介面。",
        "voice": "tongtong",
        "speed": 1.0,
        "volume": 5,
        "response_format": "wav",
    },
)
response.raise_for_status()
with open("output.wav", "wb") as f:
    f.write(response.content)

限制: 每次請求最多 1024 個字元。如需處理更長的文字,請在句子邊界分割後再串接音訊。建議播放取樣率:24000 Hz。語音名稱區分大小寫。

GLM ASR 快速入門

端點: POST https://api.novita.ai/v3/glm-asr

使用 GLM-ASR-2512 模型轉錄 .wav.mp3 音訊。音訊可透過 URL 或 base64 字串傳遞。限制:檔案 ≤ 25 MB,時長 ≤ 30 秒。

參數

參數 類型 說明
file 字串 必填。音訊的 URL 或 base64 編碼。僅限 .wav.mp3
prompt 字串 選填。先前的轉錄上下文,最多 8000 個字元。用於分段轉錄的連續性。
hotwords 陣列 選填。最多 100 個領域特定詞彙,用於提升辨識準確度。

curl(URL 輸入)

curl -s -X POST https://api.novita.ai/v3/glm-asr \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "file": "https://example.com/sample.wav",
    "hotwords": ["Novita", "GLM"]
  }'

Python(base64 輸入)

import requests, base64, os

with open("sample.wav", "rb") as f:
    audio_b64 = base64.b64encode(f.read()).decode()

response = requests.post(
    "https://api.novita.ai/v3/glm-asr",
    headers={
        "Authorization": f"Bearer {os.environ['NOVITA_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={"file": audio_b64, "hotwords": ["Novita", "GLM"]},
)
response.raise_for_status()
print(response.json()["text"])

回應

{ "text": "你好,歡迎使用 Novita AI 語音合成介面。" }

處理超過 30 秒的音訊: 分割成 ≤30 秒的片段,並使用 prompt 欄位在片段之間傳遞轉錄上下文:

payload = {
    "file": next_chunk_b64,
    "prompt": previous_transcript,
}

GLM Voice Clone 快速入門

端點: POST https://api.novita.ai/v3/glm-tts-voice-clone

擷取音訊樣本的語音特徵,並合成該語音的新語句。為複製的語音指定一個名稱;之後在 GLM TTS 中可重複使用該名稱作為 voice 參數,無需重新上傳樣本。

參數

參數 類型 說明
audio_url 字串 必填。樣本音訊的 URL。≤ 10 MB,建議 3–30 秒。
input 字串 必填。要使用複製語音合成的文字。
voice_name 字串 必填。您為此語音指定的唯一名稱。
text 字串 選填。樣本音訊的文字轉錄 — 有助於提升複製品質。

curl

curl -s -X POST https://api.novita.ai/v3/glm-tts-voice-clone \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "https://example.com/voice-sample.wav",
    "input": "這是用複製聲音合成的語音範例。",
    "voice_name": "my-custom-voice",
    "text": "範例音訊的文字內容"
  }'

Python

import requests, os

response = requests.post(
    "https://api.novita.ai/v3/glm-tts-voice-clone",
    headers={
        "Authorization": f"Bearer {os.environ['NOVITA_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "audio_url": "https://example.com/voice-sample.wav",
        "input": "這是用複製聲音合成的語音範例。",
        "voice_name": "my-custom-voice",
        "text": "範例音訊的文字內容",
    },
)
response.raise_for_status()
data = response.json()
print(f"語音音色:{data['voice']}")
print(f"音訊 URL:{data['audio_url']}")

回應

{
  "voice": "my-custom-voice-timbre-id",
  "audio_url": "https://..."
}

此處回傳的 voice 值可直接傳遞給 GLM TTS 的 voice 參數,以供後續合成呼叫使用。

提示: 使用乾淨無背景噪音的 5–15 秒樣本。提供樣本的 text 轉錄內容可改善音素對齊。

價格與使用說明

價格資訊截至 2026 年 6 月,取自 novita.ai/pricing

API 價格
GLM TTS $0.28 / 1M 字元
GLM ASR $0.021 / 1M 字元
GLM Voice Clone $0.83 / 1M 字元

GLM TTS 非常適合需要大量中文語音合成且重視成本的場景。如果您需要更廣泛的多語言 TTS(支援 30 種以上語言)或長篇內容的非同步處理,建議評估 MiniMax Speech

常見問題

GLM TTS 支援哪些語言? 針對中文(普通話)進行最佳化。可處理中英混合輸入。如需廣泛的多語言支援,請改用 MiniMax Speech。

複製的語音可以在 GLM TTS 中重複使用嗎? 可以。將您在 Voice Clone 呼叫中指定的 voice_name 作為 GLM TTS 的 voice 參數傳入即可,無需重新上傳樣本。

為什麼 GLM ASR 有 30 秒的限制? 該模型以同步方式處理音訊。請在句子邊界分割較長的錄音,並使用 prompt 欄位串接請求以傳遞上下文。

pcmwav 輸出有什麼差別? PCM 是 24000 Hz 的原始音訊位元組,不含標頭。WAV 將相同的音訊包裹在標準容器中,大多數程式庫可直接讀取。除非您的管道需要原始 PCM,否則請使用 WAV。

watermark_enabled 設為 false 是否一定有效? 僅當您在帳號設定中已完成水印移除功能才有效,否則此標誌將被忽略。

推薦文章