Files
AudioScribe/docs/大模型录音文件识别标准版API.md
Misaka_Company 85dc3c77b3 Replace MinIO with S3-compatible storage and reorganize project structure
- Switch from MinIO to boto3 for S3-compatible object storage (Cloudflare R2)
- Rename storage config vars from R2_* to generic S3_*
- Organize root directory: docs/, tools/, output/, Archive/{audio,results}/
- Output transcriptions to output/ directory
- Add transcribe_legacy.py, transcribe_all.py, and docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-27 16:08:33 +08:00

24 KiB
Raw Permalink Blame History

流程简介

大模型录音文件识别服务的处理流程分为提交任务和查询结果两个阶段 任务提交:提交音频链接,并获取服务端分配的任务 ID 结果查询:通过任务 ID 查询转写结果

提交任务

接口地址

火山地址:https://openspeech.bytedance.com/api/v3/auc/bigmodel/submit

请求

请求方式HTTP POST。 请求和应答,均采用在 HTTP BODY 里面传输 JSON 格式字串的方式。 Header 需要加入内容类型标识: 旧版本控制台

| | | | \

Key 说明 Value 示例
X-Api-App-Key 使用火山引擎控制台获取的APP ID可参考 控制台使用FAQ-Q1旧版控制台使用新版控制台只需要X-Api-Key即可 123456789
X-Api-Access-Key 使用火山引擎控制台获取的Access Token可参考 控制台使用FAQ-Q1旧版控制台使用新版控制台只需要X-Api-Key即可 your-access-key
X-Api-Resource-Id 表示调用服务的资源信息 ID 豆包录音文件识别模型1.0
* volc.bigasr.auc
豆包录音文件识别模型2.0
* volc.seedasr.auc
X-Api-Request-Id 用于提交和查询任务的任务ID推荐传入随机生成的UUID 67ee89ba-7050-4c04-a3d7-ac61a63499b3
X-Api-Sequence 发包序号,固定值,-1
headers = {
    "X-Api-App-Key": appid,
    "X-Api-Access-Key": token,
    "X-Api-Resource-Id": "volc.seedasr.auc",//资源ID
    "X-Api-Request-Id": task_id,
    "X-Api-Sequence": "-1"

新版本控制台

| | | | \

Key 说明 Value 示例
X-Api-Key 使用火山引擎控制台获取的APP Key可参考 快速入门(新版控制台) 123456789
X-Api-Resource-Id 表示调用服务的资源信息 ID 豆包录音文件识别模型1.0
* volc.bigasr.auc
豆包录音文件识别模型2.0
* volc.seedasr.auc
X-Api-Request-Id 用于提交和查询任务的任务ID推荐传入随机生成的UUID 67ee89ba-7050-4c04-a3d7-ac61a63499b3
X-Api-Sequence 发包序号,固定值,-1
headers = {
    "X-Api-Key": apikey,
    "X-Api-Resource-Id": "volc.seedasr.auc",//资源ID
    "X-Api-Request-Id": task_id,
    "X-Api-Sequence": "-1"
}

请求字段

| | | | | | | \

字段 说明 层级 格式 是否必填 备注
user 用户相关配置 1 dict
uid 用户标识 2 string 建议采用 IMEI 或 MAC。
audio 音频相关配置 1 dict
url 音频链接 2 string
language 指定可识别的语言 2 string 当该键为空时,该模型支持中英文、上海话、闽南语,四川、陕西、粤语识别。当将其设置为下方特定键时,它可以识别指定语言。
```Python
中文普通话 zh-CN
英语en-US
日语ja-JP
印尼语id-ID
西班牙语es-MX
葡萄牙语pt-BR
德语de-DE
法语fr-FR
韩语ko-KR
菲律宾语fil-PH
马来语ms-MY
泰语th-TH
阿拉伯语 ar-SA
意大利语 it-IT
孟加拉语 bn-BD
希腊语 el-GR
荷兰语 nl-NL
俄语 ru-RU
土耳其语 tr-TR
越南语 vi-VN
波兰语 pl-PL
罗马尼亚语 ro-RO
尼泊尔语 ne-NP
乌克兰语 uk-UA
粤语 yue-CN
```
例如如果输入音频是德语则此参数传入de-DE
format 音频容器格式 2 string raw / wav / mp3 / ogg
codec 音频编码格式 2 string raw / opus默认为 raw(pcm) 。
rate 音频采样率 2 int 默认为 16000。
bits 音频采样点位数 2 int 默认为 16暂只支持16bits。
channel 音频声道数 2 int 1(mono) / 2(stereo)默认为1。
request 请求相关配置 1 dict
model_name 模型名称 2 string 目前只有bigmodel
ssd_version ssd版本 2 string 仅在enable_speaker_info = True开启说话人分离能力且不指定language字段或者language指定为"zh-CN" 时生效
示例:
```Python
ssd_version = "200"
```
enable_itn 启用itn 2 bool 默认为true。
文本规范化 (ITN) 是自动语音识别 (ASR) 后处理管道的一部分。 ITN 的任务是将 ASR 模型的原始语音输出转换为书面形式,以提高文本的可读性。
例如,“一九七零年”->“1970年”和“一百二十三美元”->“$123”。
enable_punc 启用标点 2 bool 默认为false。
enable_ddc 启用顺滑 2 bool 默认为false。
**++语义顺滑++**是一种技术旨在提高自动语音识别ASR结果的文本可读性和流畅性。这项技术通过删除或修改ASR结果中的不流畅部分如停顿词、语气词、语义重复词等使得文本更加易于阅读和理解。
enable_speaker_info 启用说话人聚类分离 2 bool 默认为false开启后可返回说话人的信息10人以内效果较好。
(如果音频存在音量、远近等明显变化,无法保证区分效果)
enable_channel_split 启用双声道识别 2 bool 如果设为"True"则会在返回结果中使用channel_id标记1为左声道2为右声道。默认 "False"默认为false
show_utterances 输出语音停顿、分句、分词信息 2 bool
show_speech_rate 分句信息携带语速 2 bool 如果设为"True"则会在分句additions信息中使用speech_rate标记单位为 token/s。默认 "False"
show_volume 分句信息携带音量 2 bool 如果设为"True"则会在分句additions信息中使用volume标记单位为 分贝。默认 "False"
enable_lid 启用语种识别 2 bool 目前支持语种:中英文、上海话、闽南语,四川、陕西、粤语
如果设为"True"则会在additions信息中使用lid_lang标记, 返回对应的语种标签。默认 "False"
支持的标签包括:
* singing_en英文唱歌
* singing_mand普通话唱歌
* singing_dia_cant粤语唱歌
* speech_en英文说话
* speech_mand普通话说话
* speech_dia_nan闽南语
* speech_dia_wuu吴语含上海话
* speech_dia_cant粤语说话
* speech_dia_xina西南官话含四川话
* speech_dia_zgyu中原官话含陕西话
* other_langs其它语种其它语种人声
* others检测不出非语义人声和非人声
空时代表无法判断(例如传入音频过短等)
实际不支持识别的语种无识别结果但该参数可检测并输出对应lang_code。对应的标签如下
* singing_hi印度语唱歌
* singing_ja日语唱歌
* singing_ko韩语唱歌
* singing_th泰语唱歌
* speech_hi印地语说话
* speech_ja日语说话
* speech_ko韩语说话
* speech_th泰语说话
* speech_kk哈萨克语说话
* speech_bo藏语说话
* speech_ug维语
* speech_mn蒙古语
* speech_dia_ql琼雷话
* speech_dia_hsn湘语
* speech_dia_jin晋语
* speech_dia_hak客家话
* speech_dia_chao潮汕话
* speech_dia_juai江淮官话
* speech_dia_lany兰银官话
* speech_dia_dbiu东北官话
* speech_dia_jliu胶辽官话
* speech_dia_jlua冀鲁官话
* speech_dia_cdo闽东话
* speech_dia_gan赣语
* speech_dia_mnp闽北语
* speech_dia_czh徽语
enable_emotion_detection 启用情绪检测 2 bool 如果设为"True"则会在分句additions信息中使用emotion标记, 返回对应的情绪标签。默认 "False"
支持的情绪标签包括:
* "angry":表示情绪为生气
* "happy":表示情绪为开心
* "neutral":表示情绪为平静或中性
* "sad":表示情绪为悲伤
* "surprise":表示情绪为惊讶
enable_gender_detection 启用性别检测 2 bool 如果设为"True"则会在分句additions信息中使用gender标记, 返回对应的性别标签male/female。默认 "False"
vad_segment 使用vad分句 2 bool 默认为false默认是语义分句。
打开双声道识别时通常需要使用vad分句可同时打开此参数
end_window_size 强制判停时间 2 int 范围300 - 5000ms建议设置800ms或者1000ms比较敏感的场景可以配置500ms或者更小。如果配置的过小则会导致分句过碎配置过大会导致不容易将说话内容分开。建议依照自身场景按需配置
配置该值,不使用语义分句,根据静音时长来分句。
sensitive_words_filter 敏感词过滤 2 string 敏感词过滤功能,支持开启或关闭,支持自定义敏感词。该参数可实现:不处理(默认,即展示原文)、过滤、替换为*。
示例:
system_reserved_filter //是否使用系统敏感词,会替换成*(默认系统敏感词主要包含一些限制级词汇)
filter_with_empty // 想要替换成空的敏感词
filter_with_signed // 想要替换成 * 的敏感词
```Python
"sensitive_words_filter":{"system_reserved_filter":true,"filter_with_empty":["敏感词"],"filter_with_signed":["敏感词"]}",
```
enable_poi_fc 开启 POI function call 2 bool 对于语音识别困难的词语,能调用专业的地图领域推荐词服务辅助识别
示例:
```Python
"request": {
"enable_poi_fc": true,
"corpus": {
"context": "{"loc_info":{"city_name":"北京市"}}"
}
}
```
其中loc_info字段可选传入该字段结果相对更精准city_name单位为地级市。
enable_music_fc 开启音乐 function call 2 bool 对于语音识别困难的词语,能调用专业的音领域推荐词服务辅助识别
示例:
```Python
"request": {
"enable_music_fc": true
}
```
corpus 语料/干预词等 2 string
boosting_table_name 自学习平台上设置的热词词表名称 3 string 热词功能和设置方法可以参考文档
correct_table_name 自学习平台上设置的替换词词表名称 3 string 替换词功能和设置方法可以参考文档
context 上下文功能 3 string 1. 热词直传支持5000个词
"context":"{"hotwords":[{"word":"热词1号"}, {"word":"热词2号"}]}"
2. 上下文限制800 tokens及20轮超出会按照时间顺序从新到旧截断优先保留更新的对话
context_data字段按照从新到旧的顺序排列传入需要序列化为jsonstring转义引号
豆包录音文件识别模型2.0,支持将上下文理解的范围从纯文本扩展到视觉层面,
通过理解图像内容帮助模型更精准地完成语音转录。通过image_url传入图片
图片限制传入1张大小500k以内格式jpeg、jpg、png
```SQL
上下文:可以加入对话历史、聊天所在bot信息、个性化信息、业务场景信息等,如:
a.对话历史:把最近几轮的对话历史传进来
b.聊天所在bot信息:如"我在和林黛玉聊天","我在使用A助手和手机对话"
c.个性化信息:"我当前在北京市海淀区","我有四川口音","我喜欢音乐"
d.业务场景信息:"当前是中国平安的营销人员针对外部客户采访的录音,可能涉及..."
{
"context_type": "dialog_ctx",
"context_data":[
{"text": "text1"},
{"image_url": "image_url"},
{"text": "text2"},
{"text": "text3"},
{"text": "text4"},
...
]
}
```
callback 回调地址 1 string 举例:
```Plain Text
"callback": "http://xxx"
```
callback_data 回调信息 1 string 举例:
```Plain Text
"callback_data":"$Request-Id"
```

请求示例:

{
    "user": {
        "uid": "388808087185088"
    },
    "audio": {
        "format": "mp3",
        "url": "http://xxx.com/obj/sample.mp3"
    },
    "request": {
        "model_name": "bigmodel",
        "enable_itn": true
    }
}

应答

Response header如下

| | | | \

Key 说明 Value 示例
X-Tt-Logid 服务端返回的 logid建议用户获取和打印方便定位问题 202407261553070FACFE6D19421815D605
X-Api-Status-Code 提交任务后服务端返回的状态码20000000表示提交成功其他表示失败
X-Api-Message 提交任务后服务端返回的信息OK表示成功其他表示失败

Response body为空

查询结果

接口地址

火山地址:https://openspeech.bytedance.com/api/v3/auc/bigmodel/query

请求

请求方式HTTP POST。 请求和应答,均采用在 HTTP BODY 里面传输 JSON 格式字串的方式。 Header 需要加入内容类型标识: 旧版本控制台

| | | | \

Key 说明 Value 示例
X-Api-App-Key 使用火山引擎控制台获取的APP ID可参考 控制台使用FAQ-Q1旧版控制台使用新版控制台只需要X-Api-Key即可 123456789
X-Api-Access-Key 使用火山引擎控制台获取的Access Token可参考 控制台使用FAQ-Q1旧版控制台使用新版控制台只需要X-Api-Key即可 your-access-key
X-Api-Resource-Id 表示调用服务的资源信息 ID 豆包录音文件识别模型1.0
* volc.bigasr.auc
豆包录音文件识别模型2.0
* volc.seedasr.auc
X-Api-Request-Id 用于提交和查询任务的任务ID推荐传入随机生成的UUID 67ee89ba-7050-4c04-a3d7-ac61a63499b3
headers = {
    "X-Api-App-Key": appid,
    "X-Api-Access-Key": token,
    "X-Api-Resource-Id": "volc.seedasr.auc",//资源ID
    "X-Api-Request-Id": task_id,
}

新版本控制台

| | | | \

Key 说明 Value 示例
X-Api-Key 使用火山引擎控制台获取的APP Key可参考 快速入门(新版控制台) 123456789
X-Api-Resource-Id 表示调用服务的资源信息 ID 豆包录音文件识别模型1.0
* volc.bigasr.auc
豆包录音文件识别模型2.0
* volc.seedasr.auc
X-Api-Request-Id 用于提交和查询任务的任务ID推荐传入随机生成的UUID 67ee89ba-7050-4c04-a3d7-ac61a63499b3
headers = {
    "X-Api-Key": apikey,
    "X-Api-Resource-Id": "volc.seedasr.auc",//资源ID
    "X-Api-Request-Id": task_id,
}

body为空json

{}

应答

Response header如下

| | | | \

Key 说明 Value 示例
X-Tt-Logid 服务端返回的 logid建议用户获取和打印方便定位问题 202407261553070FACFE6D19421815D605
X-Api-Status-Code 提交任务后服务端返回的状态码,具体错误码参考下面错误码列表
X-Api-Message 提交任务后服务端返回的信息OK表示成功其他表示失败

Response Body格式 JSON。 应答字段:

| | | | | | \

字段 说明 层级 格式 备注
result 识别结果 1 list 仅当识别成功时填写
text 整个音频的识别结果文本 2 string 仅当识别成功时填写。
utterances 识别结果语音分句信息 2 list 仅当识别成功且开启show_utterances时填写。
text utterance级的文本内容 3 string 仅当识别成功且开启show_utterances时填写。
start_time 起始时间(毫秒) 3 int 仅当识别成功且开启show_utterances时填写。
end_time 结束时间(毫秒) 3 int 仅当识别成功且开启show_utterances时填写。

应答示例: 返回文本的形式:

{
  "audio_info": {"duration": 10000},
  "result": {
      "text": "这是字节跳动, 今日头条母公司。",
      "utterances": [
        {
          "definite": true,
          "end_time": 1705,
          "start_time": 0,
          "text": "这是字节跳动,",
          "words": [
            {
              "blank_duration": 0,
              "end_time": 860,
              "start_time": 740,
              "text": "这"
            },
            {
              "blank_duration": 0,
              "end_time": 1020,
              "start_time": 860,
              "text": "是"
            },
            {
              "blank_duration": 0,
              "end_time": 1200,
              "start_time": 1020,
              "text": "字"
            },
            {
              "blank_duration": 0,
              "end_time": 1400,
              "start_time": 1200,
              "text": "节"
            },
            {
              "blank_duration": 0,
              "end_time": 1560,
              "start_time": 1400,
              "text": "跳"
            },
            {
              "blank_duration": 0,
              "end_time": 1640,
              "start_time": 1560,
              "text": "动"
            }
          ]
        },
        {
          "definite": true,
          "end_time": 3696,
          "start_time": 2110,
          "text": "今日头条母公司。",
          "words": [
            {
              "blank_duration": 0,
              "end_time": 3070,
              "start_time": 2910,
              "text": "今"
            },
            {
              "blank_duration": 0,
              "end_time": 3230,
              "start_time": 3070,
              "text": "日"
            },
            {
              "blank_duration": 0,
              "end_time": 3390,
              "start_time": 3230,
              "text": "头"
            },
            {
              "blank_duration": 0,
              "end_time": 3550,
              "start_time": 3390,
              "text": "条"
            },
            {
              "blank_duration": 0,
              "end_time": 3670,
              "start_time": 3550,
              "text": "母"
            },
            {
              "blank_duration": 0,
              "end_time": 3696,
              "start_time": 3670,
              "text": "公"
            },
            {
              "blank_duration": 0,
              "end_time": 3696,
              "start_time": 3696,
              "text": "司"
            }
          ]
        }
      ]
   },
  "audio_info": {
    "duration": 3696
  }
}

错误码

| | | | \

错误码 含义 说明
20000000 成功
20000001 正在处理中
20000002 任务在队列中
20000003 静音音频 没有检测到人声
45000001 请求参数无效 请求参数缺失必需字段 / 字段值无效 / 重复请求。
45000002 空音频
45000131 超过半小时提交的音频长度上限 超过了半小时允许提交的音频长度上限默认半小时最多提交500小时需要降低提交任务的速度
45000132 超过音频大小限制 上传的音频超过大小限制(<512M
45000151 音频格式不正确
550xxxx 服务内部处理错误
55000031 服务器繁忙 服务过载,无法处理当前请求。

Demo

python: Go Java: