归一化文本:TN 与 ITN
POST /v1/text/normalizations
把书面形式转成口语形式(mode:"tn"),或把口语形式转回书面形式(mode:"itn"),不涉及音频。请求里有未知字段会被拒绝,本接口也不消耗音频时长额度。支持的语言和类别见 Skylark 清单条目的 x_edgespeak.normalization。
请求体
application/json必填
textstring必填必填,非空,UTF-8 最长 256 KiB。languagestring必填必填:传语言代码,或传 und 按文本逐段选择读法。无法识别的标签返回 400 normalization_invalid_request;没有归一化规则的语言返回 422 normalization_language_unsupported。见 /docs/languages#normalization 。modelstring归一化模型。默认 EdgeSpeak/Skylark。modestringtn 把书面形式改写成口语形式,itn 反过来。默认 tn。top_kinteger返回的候选数量,范围 1–16。默认 8;传 1 只要最优候选。classesstring[]可选的非空类别数组,例如 cardinal、date 或 money。响应
200归一化候选。span 偏移是原始输入里的 UTF-8 字节范围。taskstringmodelstringlanguagestringmodestringtextstring完整保留输入。alternativesobject[]rankintegertextstring转换后的段落。spansobject[]{
"task": "normalize",
"model": "EdgeSpeak/Skylark",
"language": "en",
"mode": "tn",
"text": "Registration is open for the workshop. The fee is $25 and the session starts at 09:30.",
"alternatives": [
{
"rank": 0,
"text": "Registration is open for the workshop. The fee is twenty five dollars and the session starts at nine thirty.",
"spans": [
{
"start_byte": 50,
"end_byte": 53,
"class": "money",
"source": "$25",
"output": "twenty five dollars"
},
{
"start_byte": 80,
"end_byte": 85,
"class": "time",
"source": "09:30",
"output": "nine thirty"
}
]
}
]
}400请求不合法。先改请求再重试:error.code 用于程序判断,error.param 用于定位是哪个输入。401API Key 缺失或无效。403Host 或 Origin 不被允许,或 License 被拒。按 error.code 区分这两种情况。503所需的本地模型仍在准备(model_downloading),或服务正忙(service_busy)。带 Retry-After 时按它退避。