glm-tts
GLM-TTS converts a supplied script into spoken audio. The glm-tts profile uses the Audio Speech method with an explicit voice and WAV output, making it suitable for short narration, spoken instructions and message playback. Prepare the text within its documented 1,024-character input limit.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
GLM-TTS is Zhipu’s speech-synthesis model selected with the exact ID glm-tts. Send POST /v1/audio/speech with model, input and voice. Put the words to be spoken directly in input, and select response_format=wav for this profile. The result is a spoken recording of the supplied script, suitable for playback or for importing into an audio or video editor.
Use it for a short product explanation, a spoken welcome, an instructional passage or an announcement. Prepare a script as it should be read aloud: include the intended sentence breaks and spell out terms whose pronunciation matters to the task. For a tutorial, one request can contain a focused instruction that accompanies a single visible step. For a welcome message, supply the actual wording and review the recording before placing it in the customer flow.
The documented maximum input length is 1,024 characters. Work from the finished text when checking this limit, including punctuation and spacing. Longer narration needs a script divided into suitable passages; keep the order of the passages and the chosen settings with the recordings so they can be assembled and reviewed together. A character limit describes the input text and does not establish a fixed recording duration.
The voice schema lists tongtong, chuichui, jam, kazi, douji and luodo. The published example uses tongtong with speed=1 and volume=1. Both speed and volume are optional controls with a documented default of 1. For this WAV method, speed is an integer accepting 1 or 2, and volume is an integer from 1 to 10. The optional watermark_enabled boolean controls the audio watermark. Leave stream unset or set it to false to receive the complete WAV recording. Start from that explicit example when preparing a first recording, then keep the selected voice and accepted settings consistent across related passages.
The WAV recording is the finished output of the speech request. Retain the complete audio result and its response information, then listen through the entire passage for pronunciation, wording, pauses and the intended sequence. Keep the exact source script beside the recording when preparing revisions. If a request has an uncertain outcome, preserve its original request and returned result information before creating another synthesis request; a missing playback file by itself does not establish that no recording was created.
Ailoot Ultra · Speech POST /v1/audio/speech glm-tts
glm-ttsOverview
GLM-TTS converts a supplied script into spoken audio. The glm-tts profile uses the Audio Speech method with an explicit voice and WAV output, making it suitable for short narration, spoken instructions and message playback. Prepare the text within its documented 1,024-character input limit.
- Accepted inputs
- Text
- Results
- Audio
Available in Ailoot · inputs & methods
Ailoot Ultra · Speech POST /v1/audio/speech
- Input types
text- Output types
audio- Output format
- wav
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits glm-tts | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits | Default— |
Fieldvoice | Typestring | RequirementRequired | Values & limits tongtong, chuichui, jam, kazi, douji, luodo | Default— |
Fieldresponse_format | Typestring | RequirementRequired | Values & limits wav | Default— |
Fieldencode_format | Typestring | RequirementOptional | Values & limits base64, hex | Default— |
Fieldspeed | Typeinteger | RequirementOptional | Values & limits Minimum: 1 Maximum: 2 | Default1 |
Fieldvolume | Typeinteger | RequirementOptional | Values & limits Minimum: 1 Maximum: 10 | Default1 |
Fieldwatermark_enabled | Typeboolean | RequirementOptional | Values & limits | Default— |
Fieldstream | Typeboolean | RequirementOptional | Values & limits false | Default— |
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input, voice, response_format |
Parameteroptional | Contractencode_format, speed, volume, watermark_enabled, stream |
Parametermaterial_types | Contracttext |
Parameterconditions | ContractUse direct WAV output. speed and volume are positive integers within the listed bounds. stream is false or omitted. |
Lifecycle: synchronous_result_then_owned_library
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pricing
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Ailoot rates
Prices by configuration
Match each charge to the conditions shown. Use one rate for each set of alternative configurations.
| Configuration | Rate schedule | Billing quantity | Billing unit | Charge |
|---|---|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Billing quantity— | Billing unit— | Charge Input · Input tokens — / 1K tokens Output · Output tokens — / 1K tokens Input · Cache read — / 1K tokens Input · Cache write — / 1K tokens Input · Cache write, 1 hour — / 1K tokens |
| Configurationinput character | Rate schedule— | Billing quantity— | Billing unitper input character | Charge Input · input character $0.00006 per input character |
| ConfigurationPer request | Rate schedule— | Billing quantityone request | Billing unit— | Charge Input $0 per request |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Speech
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "glm-tts", "input": "Hello, this is a short speech example.", "voice": "tongtong", "response_format": "wav"}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
Receive and save results
Ailoot Ultra · Speech
wav
GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Keep all completed results
Keep every complete returned response, file and content part.
Retain the complete binary WAV, response headers and original request identity.
If the original response needs checking
Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.
Aliases
Model aliases
Ailoot Ultra glm-tts
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · glm-tts
- What inputs and results are available?
POST /v1/audio/speech·glm-tts:text→audio- Which fields does the request use?
POST /v1/audio/speech·glm-tts:model,input,voice,response_format,encode_format,speed,volume,watermark_enabled,stream- What limits apply?
POST /v1/audio/speech·glm-tts:speed.minimum:1;speed.maximum:2;volume.minimum:1;volume.maximum:10