asr · 语音转文字

XingChenASR-V3.2-Ultra
点击选择,或把音频拖到这里
mp3 / wav / m4a / flac / ogg
在服务端代持,页面拿不到,无需配置
本页纯前端:音频直传硅基流动,不经任何中间服务器,不做任何留存。
转写结果 等待文件

1. 直接调硅基流动(任何语言都能用)

本页用的就是下面这个接口。multipart/form-data 上传音频,不是 JSON。

POST https://api.siliconflow.cn/v1/audio/transcriptions
Authorization: Bearer <你的Key>
Content-Type: multipart/form-data

file=<音频二进制>
model=XingChenAGI/XingChenASR-V3.2-Ultra
// 返回
{
  "duration": 7.97,
  "text": "今天天气很好,我们一起去公园散步吧。人工智能正在改变世界。",
  "usage": { "type": "duration", "seconds": 8 }
}
计费按音频时长(秒)计,返回的 usage.seconds 即计入时长。

2. curl

curl -X POST https://api.siliconflow.cn/v1/audio/transcriptions ^
  -H "Authorization: Bearer %SF_KEY%" ^
  -F "file=@D:/test/audio.wav" ^
  -F "model=XingChenAGI/XingChenASR-V3.2-Ultra"

3. Python(本机已有现成封装 asr.py)

# CLI:D:\pros\free-ai\asr.py(密钥读 .env,不用写在代码里)
cd /d/pros/free-ai
py asr.py audio.wav                 # 直接打印文本
py asr.py audio.wav --json          # 输出 JSON:{"text":..., "duration":...}
py asr.py --models                  # 列出全部音频模型

# 作为库调用
import asr
r = asr.transcribe("audio.wav")
print(r["text"], r["duration"])

4. 浏览器(本页的做法)

const fd = new FormData();
fd.append("file", fileInput.files[0]);
fd.append("model", "XingChenAGI/XingChenASR-V3.2-Ultra");

const r = await fetch("https://api.siliconflow.cn/v1/audio/transcriptions", {
  method: "POST",
  headers: { Authorization: "Bearer " + key },   // 不要手动设 Content-Type
  body: fd
});
const { text, duration } = await r.json();

接口返回 Access-Control-Allow-Origin: *,浏览器可跨域直连,无需自建后端。

5. 参数与模型

字段说明
file音频文件二进制(multipart),常见格式 mp3 / wav / m4a / flac / ogg
modelXingChenAGI/XingChenASR-V3.2-Ultra(本页固定,不提供其他选择)

列音频模型:GET https://api.siliconflow.cn/v1/models?type=audio(参数是 type=audio,写 asr / speech-to-text 都返回空)。

语音转文字

输入一次口令即可,之后 30 天内自动通过

© 2026 李俊泽 Li Junze · 清华大学 水木书院
若在别处看到这份内容,作者是李俊泽;转发或参考请保留本行。