SuperAPI AI 工具集

telnyx-voice-streaming-go

智能体与模型

查看项目

更新于 10-16 08:11

技能介绍

用途:该技能面向 Go 开发者,基于 Telnyx 官方 Go SDK(github.com/team-telnyx/telnyx-go),实现通话媒体的实时串流、媒体分叉与实时转写,适用于实时音频分析、欺诈检测、AI 生成语音应答等场景。

主要能力:

  1. 媒体分叉:调用 POST /calls/{call_control_id}/actions/fork_start 将通话媒体实时串流到指定目标,需指定 target 或 rx/tx 属性;fork_stop 停止分叉,预期 Webhook 为 call.fork.stopped。
  2. 媒体串流:POST /calls/{call_control_id}/actions/streaming_start 将近实时音频以 base64 编码 RTP 载荷(JSON 包裹)发送到指定 WebSocket 地址或 Dialogflow 连接,可配置 stream_url、codec、track、双向模式与采样率等;streaming_stop 停止,预期 Webhook 为 streaming.stopped。
  3. 实时转写:POST /calls/{call_control_id}/actions/transcription_start 启动实时转写,支持 Google、Telnyx、Deepgram、Azure 等引擎,通话挂断或调用 transcription_stop 时结束,预期 Webhook 为 call.transcription。

使用方式:先执行 go get github.com/team-telnyx/telnyx-go,然后用 os.Getenv("TELNYX_API_KEY") 初始化客户端。调用时应处理网络错误及 401/403/404/422/429 等状态码,429 建议指数退避重试。Webhook 使用 Ed25519 签名,请求含 telnyx-signature-ed25519 与 telnyx-timestamp 头,生产环境应通过 client.Webhooks.Unwrap 验证。

相关 Webhook 事件包括 callForkStarted、callForkStopped、callStreamingFailed、callStreamingStarted、callStreamingStopped、transcription,各自包含 record_type、event_type、id、occurred_at 及 payload 等字段。

限制:资料未提供价格、计费方式、配额、各引擎转写准确率或平台可用性等细节;具体参数取值与字段要求以官方文档为准。