이 가이드는 API 키에서 GLM 오디오 API로 작업 오디오를 얻는 과정을 안내합니다. GLM TTS(텍스트 음성 변환), GLM ASR(전사), GLM 음성 복제(사용자 정의 음성 합성)를 다룹니다. 세 API 모두 동기식 REST 엔드포인트로, 폴링이나 웹훅 단계가 필요 없습니다. 음성 기능, 전사 파이프라인 또는 중국어 오디오 애플리케이션을 구축한다면, 이 가이드가 가장 빠른 통합 경로입니다.
이 빠른 시작을 사용해야 할 때
다음이 필요할 때 이 가이드를 사용하세요:
POST /v3/glm-tts를 통해 중국어에 최적화된 음성으로 텍스트를 음성으로 변환POST /v3/glm-asr를 통해.wav또는.mp3오디오 파일 전사POST /v3/glm-tts-voice-clone를 통해 짧은 오디오 샘플에서 음성을 복제하고 새로운 음성 합성
모든 엔드포인트는 https://api.novita.ai에서 Novita AI API를 통해 사용 가능합니다.
사전 요구 사항
- Novita AI 계정. Novita AI 콘솔에서 API 키를 받으세요.
- 셸 예제를 위한
curl. - Python 예제를 위한
requests가 설치된 Python 3.8+.
환경 변수로 키를 설정하세요:
export NOVITA_API_KEY="your_api_key_here"
GLM TTS 빠른 시작
엔드포인트: POST https://api.novita.ai/v3/glm-tts
최대 1024자 텍스트를 음성으로 변환합니다. 응답은 바이너리 오디오입니다. 파일로 직접 작성하세요.
매개변수
| 매개변수 | 유형 | 기본값 | 참고 |
|---|---|---|---|
input |
string | — | 필수. 최대 1024자. |
voice |
string | tongtong |
시스템 음성 ID 또는 복제된 음성 이름. |
speed |
number | 1.0 | 범위: 0.5–2.0 |
volume |
number | 1.0 | 범위: 0–10 |
response_format |
string | pcm |
wav 또는 pcm. WAV는 표준 오디오 헤더 포함; PCM은 24000 Hz의 원시 바이트. |
watermark_enabled |
boolean | true | 계정에서 워터마크 제거가 활성화된 경우에만 false로 설정. |
시스템 음성
| 음성 ID | 표시 이름 |
|---|---|
tongtong |
Tongtong (기본값) |
chuichui |
Chuichui |
xiaochen |
Xiaochen |
jam |
Dongdong Zoo – Jam |
kazi |
Dongdong Zoo – Kazi |
douji |
Dongdong Zoo – Douji |
luodo |
Dongdong Zoo – 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 문자열로 전달할 수 있습니다. 제약 사항: 파일 ≤ 25MB, 지속 시간 ≤ 30초.
매개변수
| 매개변수 | 유형 | 참고 |
|---|---|---|
file |
string | 필수. URL 또는 base64로 인코딩된 오디오. .wav 또는 .mp3만 가능. |
prompt |
string | 선택 사항. 이전 전사 컨텍스트, 최대 8000자. 청크 전사 연속성에 사용. |
hotwords |
array | 선택 사항. 인식 정확도 향상을 위한 최대 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 음성 복제 빠른 시작
엔드포인트: POST https://api.novita.ai/v3/glm-tts-voice-clone
오디오 샘플 클립을 가져와 해당 음성으로 새로운 음성을 합성합니다. 복제된 음성에 이름을 할당하고, 샘플을 다시 업로드하지 않고 GLM TTS의 voice 매개변수로 재사용하세요.
매개변수
| 매개변수 | 유형 | 참고 |
|---|---|---|
audio_url |
string | 필수. 샘플 오디오 URL. ≤ 10MB, 3–30초 권장. |
input |
string | 필수. 복제된 음성으로 합성할 텍스트. |
voice_name |
string | 필수. 이 음성에 할당하는 고유 이름. |
text |
string | 선택 사항. 샘플 오디오의 전사본 – 복제 품질 향상. |
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"Voice timbre: {data['voice']}")
print(f"Audio 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 / 100만 자 |
| GLM ASR | $0.021 / 100만 자 |
| GLM 음성 복제 | $0.83 / 100만 자 |
GLM TTS는 비용이 중요한 대량 중국어 합성에 적합합니다. 30개 이상의 언어에 대한 광범위한 다국어 TTS 또는 긴 콘텐츠의 비동기 처리가 필요하다면 MiniMax Speech를 평가해 보세요.
FAQ
GLM TTS는 어떤 언어를 지원하나요? 중국어(표준 중국어)에 최적화되어 있습니다. 중국어-영어 혼합 입력을 처리합니다. 광범위한 다국어 지원이 필요하면 MiniMax Speech를 대신 사용하세요.
복제된 음성을 GLM TTS에서 재사용할 수 있나요?
네. 음성 복제 호출에서 할당한 voice_name을 GLM TTS의 voice 매개변수로 전달하세요. 샘플을 다시 업로드할 필요가 없습니다.
GLM ASR에 30초 제한이 있는 이유는 무엇인가요?
모델이 동기식으로 오디오를 처리합니다. 더 긴 녹음은 문장 경계에서 분할하고 prompt 필드를 사용하여 컨텍스트를 전달하며 요청을 연결하세요.
pcm과 wav 출력의 차이점은 무엇인가요?
PCM은 헤더가 없는 24000Hz의 원시 오디오 바이트입니다. WAV는 동일한 오디오를 대부분의 라이브러리에서 직접 읽을 수 있는 표준 컨테이너에 래핑합니다. 파이프라인에서 원시 PCM이 필요하지 않다면 WAV를 사용하세요.
watermark_enabled: false 설정이 항상 작동하나요?
계정 설정에서 워터마크 제거를 완료한 경우에만 작동합니다. 그렇지 않으면 플래그가 무시됩니다.
