转写结果
还款承诺
spokenลูกค้ายืนยันว่าจะชำระยอด สามพันสองร้อยบาท ภายในวันที่ ยี่สิบ นี้ ผ่านแอปนะคะ
writtenลูกค้ายืนยันว่าจะชำระยอด 3,200 บาท ภายในวันที่ 20 นี้ ผ่านแอปนะคะ
书面写法把金额和日期写成阿拉伯数字,催收规则正是按这些数字匹配的。
句中的产品名
spokenเรื่องแพ็กเกจ Fiber Max ที่สมัครไปเมื่อวานยังไม่ได้เปิดใช้เลยค่ะ
writtenเรื่องแพ็กเกจ Fiber Max ที่สมัครไปเมื่อวานยังไม่ได้เปิดใช้เลยค่ะ
两种写法下,英文名称都保持英文。词表让同一个名称在数千通电话里拼法一致。
退款请求
spokenขอคืนเงินค่าบริการเดือนสิงหาคมจำนวน ห้าร้อยเก้าสิบเก้าบาท ได้ไหมคะ
writtenขอคืนเงินค่าบริการเดือนสิงหาคมจำนวน 599 บาท ได้ไหมคะ
针对“退款”一词的关键词规则,读到的文字和人读到的一样,金额也可以直接入账。
本页每组转写对照都是编写的示意,用来说明格式选项会改变什么,发布前已对照实际输出复核。语音转文字页面提供模型对真实录音的实录转写,并注明采集日期。
如何接入呼叫中心
呼叫中心录下每一通电话,真正听过的却寥寥无几。质检团队每周抽听几通,凭耳朵打分,其余录音一直躺在存储里,直到有人投诉才被翻出来。转写改变了这笔账。每通电话一挂断就成为文字。话术检查可以读遍所有通话。提到退款、竞争对手或还款承诺的通话会触发关键词提醒。客户再次来电时,坐席先读上一次的对话,不必让客户重讲一遍。转写稿按说话时的语言记下内容,泰语句子里的英文产品名也原样保留。
通话结束即发送录音
直接发送电话系统已经生成的录音文件,最长 60 分钟。扣费前先读取时长,损坏的录音不产生费用。
选择书面写法
金额、日期和时间以阿拉伯数字返回,匹配它们的规则也就保持简单。需要逐字记录时,保留口语写法。
在文字上运行您的规则
话术检查、关键词提醒和客户搜索都由您来定。词表最多容纳 50 个产品名和套餐名,让拼法保持一致。
每通录音会变成什么
100%
话术全覆盖
0 和 1
说话人
关键词提醒
客户历史
模型写下说了什么。打分、提醒和分派,都是您在文字上编写的规则。
一次话术检查的运行日志
call 2026-09-08T10:14:02+07:00 agent=A17 duration=4:12 greeting ✓ 0.4s สวัสดีค่ะ ... ยินดีให้บริการค่ะ identity ✓ 11.8s ขอทราบเลขบัตรประชาชน 4 ตัวท้าย hold-notice ✗ (no match) closing ✓ 241.9s ขอบคุณที่ใช้บริการค่ะ keywords คืนเงิน @ 96.2s ยกเลิก @ 133.0s flag review: missing hold notice, refund mentioned
词级时间戳让每处匹配都落在具体的那一秒。审核人员可以直接跳过去。所示时间仅为示例。
一个月的通话要花多少
| 工作量 | 音频 | 费用 |
|---|---|---|
| 一通电话,4 分钟 | 4 分钟 | $0.03 |
| 一天,100 通电话 | 7 小时 | $3.33 |
| 一个月,2,000 通电话 | 约 $66.68 | |
每分钟音频 8.33 积分,按毫秒计费。转写选项不影响价格。
面向开发者
示例代码以书面写法发送一段录音,再从响应中读取转写稿和本次扣除的积分。
完整 API 参考AUDIO=$(base64 < meeting.m4a | tr -d '\n') curl -X POST https://api.paxalabs.com/v1/stt \ --max-time 300 \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"audio\": \"$AUDIO\", \"model\": \"paxa-stt-lite-v1-preview\", \"convention\": \"written\"}"
import { readFile } from "node:fs/promises"; const audio = (await readFile("meeting.m4a")).toString("base64"); const response = await fetch("https://api.paxalabs.com/v1/stt", { method: "POST", headers: { Authorization: `Bearer ${process.env.PAXA_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ audio, model: "paxa-stt-lite-v1-preview" }), // A long recording can run for minutes; give it room. signal: AbortSignal.timeout(300_000), }); if (!response.ok) throw new Error(`Transcription failed: ${response.status}`); const { text, usage } = await response.json(); console.log(text, `${usage.credits} credits`);
import base64 import os import requests with open("meeting.m4a", "rb") as file: audio = base64.b64encode(file.read()).decode() response = requests.post( "https://api.paxalabs.com/v1/stt", headers={"Authorization": f"Bearer {os.environ['PAXA_API_KEY']}"}, json={"audio": audio, "model": "paxa-stt-lite-v1-preview"}, # A long recording can run for minutes; give it room. timeout=300, ) response.raise_for_status() body = response.json() print(body["text"], body["usage"]["credits"], "credits")
模型为听懂什么而设计
Paxa STT Lite 优先转写泰语,其他语言按原话转写,包括中途切换语言的句子。它可按请求为说话人轮次编号。在评测方法一并公开之前,它不公布任何准确率数字。
常见问题
转写稿会标明是谁说的吗?
会以编号标明。把 diarization 设为 true,每一轮发言都会带上说话人编号,按首次出现的顺序从 0 开始计数,不附带姓名。轮次来自对整段录音的一次处理,文件须短于 9 分钟,一通普通电话都在这个范围内。双声道录音仍可拆成两个文件分别发送。
超过一小时的通话怎么办?
一次请求最长 60 分钟,开启说话人轮次时须短于 9 分钟。更长的通话请在静音处切开,各段并行发送。每段的说话人编号都从 0 重新开始。
能按时间搜索通话吗?
请求词级时间戳后,每个词都带有以秒为单位的起止时间。关键词命中后,就能链接到说出它的那一刻。
转写失败要付费吗?
不收费。费用先行扣除,请求失败时自动退还,模型无法读取的录音会在扣费前被拒绝。
从免费积分开始
使用 Google、GitHub 或 Hugging Face 登录,即可用 100 一次性免费积分处理您自己的文本。