input | string | yes | - | Text to synthesize. Up to 20,000 characters per request. Supports inline expression tags placed directly in the text, for example [excited], [laughing], [whispers], [sighing], [gasp], and [sarcastic]. · Max: 20000 |
model_tier | enum | no | "plus" | plus: highest audio quality and expressiveness, best for content creation, audiobooks, dubbing, and brand voice work. flash: tuned for real-time interaction with lower first-packet latency, best for voice assistants and live agents. Each tier is billed at its own rate. · Allowed: plus, flash |
voice | enum | no | "loongjameszhao" | Voice preset. The base voices work on BOTH tiers, so changing model_tier keeps your selection. Six flagship voices are tier locked: longanlingxin and longanlufeng on Plus, and longanhuan_v3.6, longjielidou_v3.6, loongeva_v3.6, loongjohn on Flash. For the full 1,026 voice catalog use voice_id. · Allowed: loongjameszhao, loongolivialin, loonglunawang, loongnorahu, loongivyhu, loongryanma, loongsebastianzhou, loongtheoyang, loongadriangao, loongjacksun, longcanzhuyue, longlanghongmo, longmohuiling, longlanqinluan, longyiyusong, longjufuhe, longchuanyunling, longlanlianlan, longxianzhenghe, longluliuche, longrongtaolian, longbaikehui, longjiquexue, longluxiaohui, longanlingxin, longanlufeng, longanhuan_v3.6, longjielidou_v3.6, loongeva_v3.6, loongjohn |
voice_id | string | no | - | Free-form voice id, which overrides voice when set. Accepts any base voice from GET /v1/voices, either as the bare id (recommended, works on both tiers) or fully qualified. A fully qualified id is automatically matched to the selected model_tier. |
response_format | enum | no | "mp3" | Audio container. mp3 and opus are compressed, wav is uncompressed PCM in a RIFF header, and pcm is headerless raw samples for chunked playback. · Allowed: mp3, wav, pcm, opus |
sample_rate | enum | no | 24000 | Output sample rate in Hz. 24000 suits speech playback, and 48000 gives broadcast-quality output at a larger file size. · Allowed: 8000, 16000, 22050, 24000, 44100, 48000 |
speed | number | no | 1.0 | Speaking rate multiplier. 0.5 is half speed and 2.0 is double speed. · Range: 0.5 – 2.0 |
pitch | number | no | 1.0 | Pitch multiplier. Values below 1.0 lower the voice and values above raise it. Pitch also shifts the pace of the rendered audio, so pair it with speed when you want to keep the original duration. · Range: 0.5 – 2.0 |
volume | integer | no | 50 | Output loudness, where 50 is the reference level. · Range: 0 – 100 |
instruction | string | no | - | Natural-language direction for delivery, up to 128 characters. Controls emotion, tone, character, pace, and speaking style, for example ‘Speak quickly in an excited, upbeat tone’ or ‘Read slowly like a late-night radio host’. · Max: 128 |
language_hints | array | no | - | Language codes that bias pronunciation for mixed-language text, for example [“zh”, “en”]. Leave unset to let the model detect the language. · Allowed: zh, en |
seed | integer | no | 0 | Sampling seed. Reuse a seed with identical input and settings for a repeatable render. · Range: 0 – 65535 |
bit_rate | integer | no | 32000 | Encoder bitrate in bps. Applies to the opus format only, and is ignored for mp3, wav, and pcm. · Range: 16000 – 64000 |
pronunciation | object | no | - | Pronunciation overrides keyed by the written form, for example {“重要”: “zhong4 yao4”}. Use it to fix names, acronyms, and homographs. |
replace | object | no | - | Literal text substitutions applied before synthesis, for example {“EmpirioLabs”: “Empirio Labs”}. Useful for brand names and abbreviations. |
enable_markdown_filter | boolean | no | false | Strip Markdown syntax such as asterisks and underscores before synthesis so formatting characters are not read aloud. |