speech-02-hd
Speech-02 HD is a speech synthesis model focused on audio quality and voice similarity.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
A voice for narration and long-form reading
Speech 02 HD creates speech with an emphasis on quality, rhythm and vocal consistency. The manufacturer highlights narration and audiobooks, where a voice needs to retain its character and move smoothly through extended text. This is a synthesis model: it accepts text and converts it into speech audio.
Connecting text and timbre
The Speech 02 family is based on an autoregressive Transformer architecture and a trainable speaker encoder. Timbre extraction and speech generation were trained jointly to align vocal characteristics with content. Family capabilities include use of prepared cloned voices and combinations of language, accent and pronunciation style.
Emotion and multilingual reading
Emotional coloration can be inferred from the text's meaning or set manually. Joy, sadness, anger, fear, disgust, surprise and calm are available. The model works with Russian, English and other languages; the manufacturer describes various English accents, Chinese and Cantonese, Japanese, Korean, European and other languages.
The current Speech 02 description specifically excludes Persian, Filipino and Tamil. The general language list of newer Speech generations should not automatically be applied to this version.
Voice settings
Synthesis provides voice selection, speed changes of 0.5–2, volume above 0 and up to 10, and pitch from −12 to 12. A pronunciation dictionary can replace written forms with the desired reading; phonetic notation and Japanese pronunciation variants are supported. This helps control how names and ambiguous words sound.
Pauses and finished audio
The manufacturer allows pauses lasting 0.01–99.99 seconds between spoken passages. Pause duration is specified to two decimal places; markers are placed between spoken passages and not consecutively. Text for a single synchronous request must contain fewer than 10,000 characters. Audio can be received in full or incrementally; streaming output is recommended for text exceeding 3000 characters.
Model formats include MP3, WAV, FLAC and PCM; general synthesis settings also describe Opus and G.711 μ-law variants. Mono or stereo can be used. Text-to-speech is available in this card, while separate voice preparation and extended settings apply only within the supported access method through Ailoot.
Additional audio settings include sample rates of 8, 16, 22.05, 24, 32 and 44.1 kHz. MP3 provides bitrates of 32, 64, 128 or 256 kbps. Voice coloration can also be changed and one effect applied: spacious echo, hall echo, telephone sound or a robotic voice. Voice-modification effects are supported for MP3, WAV and FLAC when receiving the audio in full, and only for MP3 when streaming. G.711 μ-law formats use an 8 kHz sample rate. These capabilities belong to MiniMax's synthesis settings.
The manufacturer provides speech-text synchronization: sentence timestamps, word timestamps or word timestamps during incremental output. This result helps align speech with displayed text. This additional capability requires support for the corresponding response format.
Ailoot · Text to speech POST /v1/audio/speech speech-02-hd
speech-02-hdOverview
Speech-02 HD is a speech synthesis model focused on audio quality and voice similarity.
- Accepted inputs
- Text
- Results
- speech
Available in Ailoot · inputs & methods
Ailoot · Text to speech POST /v1/audio/speech
- Input types
text- Output types
speech- Output format
- mp3
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits speech-02-hd | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits Minimum length: 1 Maximum length (exclusive): 10,000 Unit: Unicode characters | Default— |
Fieldvoice | Typestring | RequirementRequired | Values & limits Pattern: ^[A-Za-z0-9_-]{1,128}$ | Default— |
Fieldresponse_format | Typestring | RequirementOptional | Values & limits mp3 | Default— |
Input material combinations
text_to_speech · Required: input
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametermaterial_types | Contracttext |
Parameterrequired | Contractnull |
Parameteroptional_controls | Contractnull |
Lifecycle: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · actual returned task_id or media library record
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Method shapes and IDs are exact; supplier capability is separate from admission.
Pricing
Ailoot method rates
POST /v1/audio/speech- Input
- $100.00 per 1 million characters
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 · Text to speech
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}"
export AILOOT_TEXT_FILE
: "${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "speech-02-hd", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]=text
import re
voice=os.environ["AILOOT_VOICE_ID"]
if not re.fullmatch(r"[A-Za-z0-9_-]{1,128}",voice):raise SystemExit("Set an actual accepted voice ID")
p["voice"]=voice
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 speech.mp3
Receive and save results
Ailoot · Text to speech
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Keep all completed results
Keep every complete returned response, file and content part.
Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.
If the original response needs checking
Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route.
Response fields
| Field | Type |
|---|---|
Fieldbinary audio | Typebytes |
Fieldresponse headers | Typeheaders |
Errors and next steps
| Response | Condition | Next step |
|---|---|---|
Response400 · invalid_request_error | ConditionInvalid required fields, material representation or parameter value | Next stepCorrect the indicated fields before a new creation request. |
Responseserver_error | ConditionThe returned response says the operation or result requires a check | Next stepKeep the original returned operation/task ID, request headers and response; continue supported reads of that original operation. Do not resubmit the creation request. |
Aliases
Model aliases
Ailoot speech-02-hd
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · speech-02-hd
- What inputs and results are available?
POST /v1/audio/speech·speech-02-hd:text→speech- Which fields does the request use?
POST /v1/audio/speech·speech-02-hd:model,input,voice,response_format