You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twilio问题:如何实现拨号通话的录音转录功能?

解决Twilio Dial通话中获取转录内容的问题

一、开启通话转录功能

Dial动词的record属性仅负责触发录音,转录需要单独开启,有两种实现方式:

  • 控制台全局配置:在Twilio后台的「语音」->「设置」->「通话录音」中,开启「自动转录」并指定转录语言,后续所有开启录音的通话都会自动生成转录内容。
  • 发起呼叫时指定参数:在创建Call资源(而非Dial动词)时添加转录相关参数。TypeScript SDK示例代码如下:
import twilio from 'twilio';

const client = twilio('你的账户SID', '你的认证Token');

client.calls
  .create({
    url: '你的Twiml端点URL', // 返回包含Dial动词的Twiml内容
    to: '目标号码',
    from: '你的Twilio号码',
    record: 'record-from-answer', // 开启录音
    transcribe: true, // 开启转录
    transcribeCallback: '你的转录回调URL' // 可选,转录完成后触发单独回调
  })
  .then(call => console.log(call.sid))
  .catch(err => console.error(err));

二、通过RecordingSid获取转录内容

当录音完成且转录生成后,可通过以下方式获取文本内容:

方法1:API查询获取

通过Recording资源关联的转录SID查询具体内容:

async function getTranscription(recordingSid: string) {
  const recording = await client.recordings(recordingSid).fetch();
  
  if (!recording.transcriptionSid) {
    console.log('转录尚未生成,请稍后重试');
    return null;
  }

  const transcription = await client.transcriptions(recording.transcriptionSid).fetch();
  return transcription.transcriptionText;
}

方法2:从回调中直接获取

开启转录后,Twilio会在转录完成后调用recordingStatusCallback(或指定的transcribeCallback),回调请求体中会携带TranscriptionSid和TranscriptionText字段,可直接提取保存。

注意事项

  • 转录生成存在延迟,可能晚于录音完成的回调,若首次回调未收到转录信息,可设置轮询机制等待。
  • 确保你的Twilio账户已开通转录功能,部分区域可能需要额外权限配置。

内容的提问来源于stack exchange,提问作者Tsarsko Petrovich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 12:33:21