يأخذك هذا الدليل من مفتاح API إلى الصوت العامل مع واجهات GLM الصوتية — GLM TTS لتحويل النص إلى كلام، و GLM ASR للنسخ، و GLM Voice Clone لتوليد الصوت المخصص. جميعها نقاط نهاية REST متزامنة بدون خطوة استقصاء أو webhook. إذا كنت تبني ميزات صوتية أو مسارات نسخ أو تطبيقات صوتية باللغة الصينية، فهذا هو أسرع طريق لتكامل عملي.
متى تستخدم هذا الدليل السريع
استخدم هذا الدليل إذا كنت بحاجة إلى:
- تحويل النص إلى كلام بأصوات محسنة للصينية عبر
POST /v3/glm-tts - نسخ ملفات الصوت
.wavأو.mp3عبرPOST /v3/glm-asr - استنساخ صوت من عينة صوتية قصيرة وتوليد كلام جديد عبر
POST /v3/glm-tts-voice-clone
جميع نقاط النهاية متاحة عبر واجهة Novita AI API على https://api.novita.ai.
المتطلبات الأساسية
- حساب Novita AI. احصل على مفتاح API من لوحة تحكم Novita AI.
curlلأمثلة الصدفة.- Python 3.8+ مع تثبيت
requestsلأمثلة Python.
عيّن مفتاحك كمتغير بيئة:
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 |
معرف الصوت النظامي أو اسم الصوت المستنسخ. |
speed |
number | 1.0 | النطاق: 0.5–2.0 |
volume |
number | 1.0 | النطاق: 0–10 |
response_format |
string | pcm |
wav أو pcm. WAV يتضمن رأس صوتي قياسي؛ PCM هو بايت خام بتردد 24000 هرتز. |
watermark_enabled |
boolean | true | عيّن false فقط إذا كان حسابك يمتلك إزالة العلامة المائية مفعلة. |
الأصوات النظامية
| معرف الصوت | الاسم المعروض |
|---|---|
tongtong |
تونغتونغ (افتراضي) |
chuichui |
تشويشوي |
xiaochen |
شياوتشن |
jam |
دونغدونغ زو – جام |
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 هرتز. أسماء الأصوات حساسة لحالة الأحرف.
بداية سريعة لـ GLM ASR
نقطة النهاية: POST https://api.novita.ai/v3/glm-asr
ينسخ الصوت .wav أو .mp3 باستخدام نموذج GLM-ASR-2512. يمكن تمرير الصوت كرابط URL أو سلسلة base64. القيود: ملف ≤ 25 ميجابايت، مدة ≤ 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 Voice Clone
نقطة النهاية: POST https://api.novita.ai/v3/glm-tts-voice-clone
يأخذ مقطع صوتي عينة ويولد كلامًا جديدًا بهذا الصوت. عيّن اسمًا للصوت المستنسخ؛ أعد استخدامه كمعامل voice في GLM TTS دون إعادة رفع العينة.
المعلمات
| المعامل | النوع | ملاحظات |
|---|---|---|
audio_url |
string | مطلوب. رابط URL لصوت العينة. ≤ 10 ميجابايت، 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 المعادة هنا مباشرة إلى معامل voice في GLM TTS لاستدعاءات التوليد المستقبلية.
نصائح: استخدم عينة نظيفة من 5–15 ثانية بدون ضوضاء خلفية. قدم نص text للعينة لتحسين محاذاة الصوتيات.
الأسعار وملاحظات الاستخدام
الأسعار اعتبارًا من يونيو 2026، من novita.ai/pricing:
| API | السعر |
|---|---|
| GLM TTS | $0.28 / مليون حرف |
| GLM ASR | $0.021 / مليون حرف |
| GLM Voice Clone | $0.83 / مليون حرف |
GLM TTS مناسب للتوليف الصوتي باللغة الصينية عالي الحجم حيث تكون التكلفة مهمة. إذا كنت بحاجة إلى TTS متعدد اللغات أوسع عبر أكثر من 30 لغة أو معالجة غير متزامنة للمحتوى الطويل، فإن MiniMax Speech هو البديل الذي يجب تقييمه.
الأسئلة الشائعة
ما اللغات التي يدعمها GLM TTS؟ محسن للصينية (الماندرين). يعالج الإدخال المختلط بين الصينية والإنجليزية. للتغطية متعددة اللغات الواسعة، استخدم MiniMax Speech بدلاً من ذلك.
هل يمكنني إعادة استخدام صوت مستنسخ مع GLM TTS؟
نعم. مرر voice_name الذي عينته في طلب Voice Clone كمعامل voice في GLM TTS. لا حاجة لإعادة رفع العينة.
لماذا يوجد حد 30 ثانية على GLM ASR؟
يعالج النموذج الصوت بشكل متزامن. قسّم التسجيلات الأطول عند حدود الجمل واربط الطلبات باستخدام حقل prompt لحمل السياق.
ما الفرق بين مخرجات pcm و wav؟
PCM هو بايت صوت خام بتردد 24000 هرتز بدون رأس. WAV يلف نفس الصوت في حاوية قياسية يمكن لمعظم المكتبات قراءتها مباشرة. استخدم WAV ما لم يكن مسار عملك يتطلب PCM خام.
هل يعمل تعيين watermark_enabled: false دائمًا؟
فقط إذا كنت قد أكملت إزالة العلامة المائية في إعدادات حسابك. وإلا يتم تجاهل العلامة.
