通过语音 Node.js SDK 调用 Qwen-Audio-ASR-Filetrans,提交录音文件 URL、查询异步任务并下载转写结果。
安装 SDK
需要 Node.js 18 或以上版本。下载 SDK 0.1.0 安装包后,在项目目录运行:
npm install ./dashscope-sdk-nodejs-0.1.0.tgz
快速开始
在控制台获取 API Key,并配置为环境变量 DASHSCOPE_API_KEY。
将以下示例保存为 example.mjs,运行 node example.mjs。
import { TranscriptionClient } from 'dashscope-sdk-nodejs/asr'
const client = new TranscriptionClient({
apiKey: process.env.DASHSCOPE_API_KEY,
workspaceId: process.env.DASHSCOPE_WORKSPACE_ID,
baseUrl: 'dashscope.aliyuncs.com',
model: 'qwen-audio-3.1-asr-flash-filetrans',
})
const job = await client.transcribe(
'https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3',
)
for (const result of job.results) {
if (result.subtaskStatus === 'SUCCEEDED') {
console.log('Transcript:', result.text)
} else {
console.error(result.code, result.message)
process.exitCode = 1
}
}
接口参考
构造参数
TranscriptionClient 的构造参数如下。
参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
|
| 否 | API Key。默认读取 |
|
| 否 | 业务空间 ID。默认读取 |
|
| 否 | 服务域名,默认 |
|
| 否 | 模型 ID,默认 |
|
| 否 | 查询间隔,默认 |
|
| 否 | 轮询超时(ms),默认 |
|
| 否 | 单次 HTTP 请求超时(ms),默认 |
转写参数
transcribe() 和 submitTask() 的第二个参数为 parameters,第三个参数可传入 context。模型参数的完整说明见 HTTP API。
参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
|
| 是 | 公网可访问的音频 URL;每次提交一个文件。 |
|
| 否 | 保留方言表达,默认 |
|
| 否 | 预编译热词列表 ID。 |
|
| 否 | 即时热词:键为词,值为权重 |
|
| 否 | 音轨索引,默认 |
|
| 否 | 敏感词过滤配置,可传 JSON 字符串或对象。 |
|
| 否 | 单声道音频的说话人分离,默认 |
|
| 否 | 说话人数量参考值,范围 |
|
| 否 | 识别语言提示,最多使用前 4 个值;未设置时自动识别。 |
|
| 否 | 识别上下文。消息格式为 |
|
| 否 | 查询进度回调,接收 |
主要方法
方法 | 返回值 | 说明 |
|---|---|---|
|
| 提交音频、轮询并下载结果; |
|
| 提交任务并返回任务 ID、初始状态; |
|
| 查询一次任务,返回状态和结果下载链接。 |
返回结果
字段 | 类型 | 说明 |
|---|---|---|
|
| 任务 ID。 |
|
| 任务状态。 |
|
| 文件结果列表,包含 |
|
| 服务端返回的用量统计。 |
|
| 原始任务查询响应。 |