转写结果
讲解利息的一堂课
spokenถ้าฝากเงิน หนึ่งแสนบาท ที่ดอกเบี้ย สองจุดห้าเปอร์เซ็นต์ ต่อปี ครบปีได้ดอกเบี้ย สองพันห้าร้อยบาท
writtenถ้าฝากเงิน 100,000 บาท ที่ดอกเบี้ย 2.5% ต่อปี ครบปีได้ดอกเบี้ย 2,500 บาท
书面写法让这些数字放得进一行字幕。口语写法与讲者逐字对应。
一段采访回答
spokenเราเริ่มจาก ทีมสามคน ตอนนี้มี สี่สิบคน แล้ว ส่วนใหญ่เป็น engineer ค่ะ
writtenเราเริ่มจาก ทีม 3 คน ตอนนี้มี 40 คน แล้ว ส่วนใหญ่เป็น engineer ค่ะ
这个英文单词在字幕里保持英文,和其他每个词一样带有时间。
产品演示
spokenกดปุ่มด้านล่างขวา แล้วเลือกแผน สามร้อยเก้าสิบเก้าบาท ต่อเดือน
writtenกดปุ่มด้านล่างขวา แล้วเลือกแผน 399 บาท ต่อเดือน
屏幕上的价格应当一眼看出是价格。书面写法直接这样写出,无需再改一遍。
本页每组转写对照都是编写的示意,用来说明格式选项会改变什么,发布前已对照实际输出复核。语音转文字页面提供模型对真实录音的实录转写,并注明采集日期。
如何接入视频工作流
字幕是切成一条条的转写稿,每条在屏幕上停留的时间,正是这几个词被说出的那几秒。英文字幕在词与词之间切开。泰文书写不留空格,字幕工具若不知道每个词从哪里开始,就无处下刀。词级时间戳提供的正是这个信息。发送一段讲座、采访或产品视频的音轨,每个词都会带着起止时间返回。把词组合成长度合适的行,每条字幕的时间也就有了。口语写法让字幕忠于原声。书面写法让数字在手机屏幕上清晰可读。
提取音轨
模型能读取的任何容器格式都可以,包括视频里的 M4A 或 AAC,以及导出的 WAV 或 MP3,每次请求最长 60 分钟。
带词级时间戳转写
把 timestamps 设为 word。字幕要贴合原声就选口语写法,要让观众看清数字就选书面写法。
切分字幕并写出文件
按您的版式规范把时间段组合成行,遇到长停顿就结束当前字幕,再输出为 SRT 或 WebVTT。
字幕如何切分
1 个词
一个时间段
≈ 32
每行字符数
停顿
格式
每行长度是您自己的版式规范,在代码里设定。时间戳来自模型。
一个月的视频要花多少
| 工作量 | 音频 | 费用 |
|---|---|---|
| 一个视频,12 分钟 | 12 分钟 | $0.10 |
| 一堂课,60 分钟 | 60 分钟 | $0.50 |
| 一个月,30 个视频 | 约 $3 | |
每分钟音频 8.33 积分,按毫秒计费。词级时间戳不额外收费。
12 分钟的视频,逐条上字幕
片头
一片静默。第一条字幕要等第一个词开始才出现,片头标志上不叠任何文字。
第一条字幕
主讲人的问候,七个词,一行。最后一个词结束,这条字幕也随之结束。
一个数字
就是上面那句报价。书面写法让它留在一条字幕里,口语写法则会折行。
最后一条字幕
结束语之后是片尾卡。话说到哪里,字幕列表就到哪里结束。
所示时间仅为示例。真实录音上的时间段来自模型。
面向开发者
示例代码提交一段录音并请求词级时间戳,再从响应中读取转写稿、时间段和本次扣除的积分。
完整 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\", \"timestamps\": \"word\"}"
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 优先转写泰语,其他语言按原话转写,包括中途切换语言的句子。它给出的词级时间段,就是对一种不留空格的文字所做的分词。在评测方法一并公开之前,它不公布任何准确率数字。
常见问题
能输出 SRT 或 WebVTT 吗?
它以 JSON 输出转写稿和词级时间段。切分字幕、写出字幕文件,在您的代码里写几行就够了,每行长度也由您决定。
能给英语视频配字幕吗?
英语录音请把语言提示设为 en。其中夹杂的泰语词仍按原话转写。
它会翻译字幕吗?
转写稿使用说话时的语言。想从泰语音频得到英文字幕轨,请把转写稿发送到翻译 API。
两小时的课怎么办?
在停顿处把音频切成每段不超过 60 分钟的几部分,并行发送,再按每部分的起始时间平移它的时间段。
从免费积分开始
使用 Google、GitHub 或 Hugging Face 登录,即可用 100 一次性免费积分处理您自己的文本。