体验中心
体验中国电信星辰大模型效果
协议类型:HTTPS
| 环境 | 地址 |
|---|---|
| 公网 | https://api-maas.teleai.com.cn/aipaas/voice/v1/asr/largeFileTrans |
/aipaas/voice/v1/asr/largeFileTransPOSTapplication/json服务接口调用时需要严格遵循服务鉴权规则,采用请求头携带鉴权信息:
Authorization: <鉴权信息>
| 请求头 | 必填 | 说明 |
|---|---|---|
Content-Type |
是 | 内容类型,固定application/json |
Content-Length |
否 | HTTP Body 中内容的长度 |
X-APP-ID |
是 | 控制台 → 应用管理 → AppID |
Device-Uuid |
是 | 设备uuid |
Authorization |
是 | 鉴权信息 |
离线语音识别,用于将离线音频文件的内容转换为文字的场景。
| 修订日期 | 算法版本号 | 修订内容 |
|---|---|---|
| 2026-08-28 | V4.0.0 | 调整为话者分离可控版本 |
请求报文为 Json Object:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
req_id |
string | 是 | 请求全局唯一 ID,记录该值便于排查问题 |
file_link |
string | 是 | 存放录音文件的地址链接,支持 HTTP |
enable_callback |
boolean | 是 | 是否启用回调功能,当前仅支持设为true(开启回调方式) |
callback_url |
string | 否 | 回调用户服务的地址,URL 支持 HTTP,如果开启enable_callback,则该字段必须有值 |
return_mode |
int | 否 | 结果返回模式,0:push;1:pull,默认为 0。push 模式即提供 callback_url 接收最终结果回调;pull 模式即通过大模型异步调用结果回查接口查询最终调用结果,接口文档详见开发指南下的大模型异步调用结果回查 |
sample_rate |
int | 否 | 音频采样率,默认值16000 Hz,仅针对 pcm 格式音频有效 |
num_channels |
int | 否 | 输入音频数据的通道数(正整数),默认值是1,仅针对 pcm 格式音频有效 |
enable_punc |
boolean | 否 | 是否开启加标点,默认值是true |
enable_itn |
boolean | 否 | 是否开启 ITN,默认值是true |
enable_s2t |
boolean | 否 | 是否返回繁体中文,默认值是false |
enable_sd |
boolean | 否 | 是否开启话者分离,默认值是false |
enable_text_smooth |
boolean | 否 | 是否开启文本顺滑,默认值是false |
hotwords |
array | 否 | 热词列表,如["热词A", "热词B"] |
注意:务必保证
file_link与callback_url所填地址与服务的网络连通性。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
code |
int | 是 | 状态码,见服务码说明 |
message |
string | 是 | 状态说明,见服务码说明 |
task_id |
string | 是 | 识别任务 ID |
business_duration |
int | 否 | 识别的音频文件总时长,单位为毫秒。注:如果是双通道音频,总时长也会倍增 |
result |
object | 否 | 识别结果数据 |
result>>sentences |
array | 否 | 句子级识别结果列表 |
result.sentences[]| 字段 | 类型 | 说明 |
|---|---|---|
begin_time |
int | 该句的起始时间偏移,单位为毫秒 |
end_time |
int | 该句的结束时间偏移,单位为毫秒 |
texts |
string | 该句的识别文本结果(如果开启 nbest,则是多个文本的列表) |
channel_id |
int | 音轨通道 id,0 为左声道,1 为右声道 |
speaker_id |
int | 该句所属说话人 ID |
loudness |
float | 该句的声音响度,单位:db |
说明:调用方会收到两次响应,第一次为请求的同步响应,不包含识别结果;第二次为异步回调响应,由
callback_url接收,包含识别结果。
{
"file_link": "https://gw.alipayobjects.com/os/bmw-prod/0574ee2e-f494-45a5-820f-63aee583045a.wav",
"req_id": "3a87fe9793c9-4ebd-95d4-4ce2-a80c054b",
"enable_callback": true,
"callback_url": "http://{ip}/{port}/{uri}"
}
| 状态码 | 说明 | 描述 | 解决方法 |
|---|---|---|---|
10000 |
Success | 成功 | 执行下一步操作 |
10301 |
Required parameter invalid | 请求参数无效 | 检查请求体是否符合接口协议 |
10302 |
Too many requests | 并发请求过多 | 联系商务,增加并发 |
10304 |
Parse request body fail | 请求格式错误 | 查看请求的 URL body 格式是否正确,参考接口文档 |
10503 |
Server connection time out | 服务连接超时 | 联系技术人员 |
10603 |
Fetch audio failed | 获取音频文件失败 | 检查文件 URL 是否正确 |
10604 |
Decode audio failed | 解析音频文件失败 | 检查源音频文件格式是否正确 |
10605 |
Resample audio failed | 重采样音频失败 | 联系技术人员 |
10607 |
Audio too large | 音频文件过大 | 切分音频再进行识别 |
10608 |
Audio too long | 音频过长 | 切分音频再进行识别 |
10801 |
Task processing | 任务处理中 | 等待重新查询 |
10903 |
Recognition failed | 识别失败 | 联系技术人员 |
10904 |
Query failed | 查询失败 | 联系技术人员,通常是因为 task id 错误导致 |
10905 |
Unexpected error | 未知错误 | 联系技术人员 |
import json
import time
import requests
import warnings
from datetime import datetime
import logging
# 配置日志,设置日志级别为INFO,并指定日志格式
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
# 配置环境变量
X_APP_ID = "yourAppId"
AUTHORIZATION = "yourAuthorization"
# 请求的URL
url = "https://api-maas.teleai.com.cn/aipaas/voice/v1/asr/largeFileTrans"
# 请求数据
request_data = {
"req_id": "",
"callback_url": "",
"num_channels": 0,
"enable_punc": False,
"enable_text_smooth": False,
"sample_rate": 0,
"enable_s2t": False,
"enable_sd": False,
"file_link": "",
"enable_itn": False,
"enable_callback": False,
"hotwords": []
}
# 构建请求头
headers = {
"Content-Type": "application/json",
"Device-Uuid": "2018619061498245122",
"X-APP-ID": X_APP_ID,
"Authorization": AUTHORIZATION
}
def timeSimple(timestamp):
# 将时间戳转换为HH:MM:SS格式的时间字符串
dt_object = datetime.fromtimestamp(timestamp)
formatted_time = dt_object.strftime("%H:%M:%S")
return formatted_time
def send_request(url):
try:
start_time = time.time()
logging.info(f"请求路径: {url}")
logging.info(f"开始发送: {timeSimple(start_time)}")
with requests.post(
url, json=request_data, headers=headers, stream=True, verify=False
) as response:
first_packet_time = None
if response.status_code == 200:
logging.info(f"接受到返回: {timeSimple(time.time())}")
for chunk in response.iter_content(chunk_size=1024):
if chunk:
if first_packet_time is None:
first_packet_time = time.time()
logging.info(
f"Received chunk: {timeSimple(time.time())} {chunk.decode('utf-8')}"
)
end_time = time.time()
logging.info(f"Time to first byte (TTFB): {first_packet_time - start_time:.3f} seconds")
logging.info(f"Request completed in {end_time - start_time:.3f} seconds")
else:
logging.error(f"Request failed with status code {response.status_code}")
except Exception as e:
logging.error(f"An error occurred: {e}")
# 发送请求
send_request(url)
logging.info(f"headers = {headers}")
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import java.util.Map;
/**
* 为保证示例可以正常运行,请确认maven中是否存在以下依赖:
* <dependency>
* <groupId>cn.hutool</groupId>
* <artifactId>hutool-all</artifactId>
* <version>5.8.29</version>
* </dependency>
* <dependency>
* <groupId>com.alibaba</groupId>
* <artifactId>fastjson</artifactId>
* <version>1.2.83</version>
* </dependency>
*/
public class Example {
public static void example() {
try {
// 算法调用地址,请根据实际情况修改
String url = "https://api-maas.teleai.com.cn/aipaas/voice/v1/asr/largeFileTrans";
// 设置请求头
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
headers.put("Device-Uuid", "2018619061498245122");
headers.put("X-APP-ID", "你实际的AppId");
headers.put("Authorization", "你实际的Authorization");
// 设置请求参数,请根据实际情况修改
String requestString = "{\n" +
" \"req_id\":\"\",\n" +
" \"callback_url\":\"\",\n" +
" \"num_channels\":0,\n" +
" \"enable_punc\":false,\n" +
" \"enable_text_smooth\":false,\n" +
" \"sample_rate\":0,\n" +
" \"enable_s2t\":false,\n" +
" \"enable_sd\":false,\n" +
" \"file_link\":\"\",\n" +
" \"enable_itn\":false,\n" +
" \"enable_callback\":false,\n" +
" \"hotwords\":[]\n" +
"}";
// 发起HTTP请求
HttpResponse response = HttpRequest.post(url)
.headerMap(headers, true)
.body(requestString)
.execute();
// 输出响应结果
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
example();
}
}