尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

gpt-4o-transcribe-diarize 音频转写快速参考:格式、限制、分块与说话人分离实战指南

gpt-4o-transcribe-diarize 音频转写快速参考:格式、限制、分块与说话人分离实战指南 gpt-4o-transcribe-diarize 音频转写快速参考格式、限制、分块与说话人分离实战指南【免费下载链接】skillsSkills Catalog for Codex项目地址: https://gitcode.com/GitHub_Trending/skills4/skills本篇技术指南以 transcribe 技能中的 api.md 快速参考 为核心骨架系统梳理gpt-4o-transcribe-diarize与gpt-4o-mini-transcribe两个转写模型支持的输入格式、25 MB 大小限制、三种响应格式、长音频分块策略与已知说话人提示Known Speakers的完整用法并结合仓库内置 CLI 脚本源码给出可直接运行、可验证的实战示例。读完本文你将能够在 Codex Skills 环境中准确配置转写请求、正确使用说话人分离能力并避开不支持 prompt等关键坑点。文档定位与适用场景api.md是本仓库 transcribe 技能 的官方参考文件为 Agent 快速转写音频/视频提供了浓缩速查表。该技能的目标场景包括将音频、视频中的语音转写为纯文本快速转写为采访、会议录音输出带说话人标签的结构化结果说话人分离 / Diarization通过已知说话人样本提升说话人识别的准确性。技能默认模型为gpt-4o-mini-transcribe见 SKILL.md 决策规则仅在需要说话人标签时切换到gpt-4o-transcribe-diarize。本文聚焦后者及其配套参数。支持的输入格式参考文档明确列出六种可提交的输入格式格式典型扩展名说明MP3.mp3最常见压缩音频格式MP4.mp4视频容器直接提取音轨MPEG.mpeg通用媒体封装MPGA.mpgaMPEG 音频流格式M4A.m4aAAC 音频容器Apple 生态常用WAV.wav无损 PCM 音频WEBM.webm网页视频/音频容器在仓库的 CLI 实现中文件类型通过 Pythonmimetypes模块推断推断失败时默认按audio/wav处理见 transcribe_diarize.py 的_guess_mime_type。这意味着只要扩展名规范CLI 会自动为上述格式生成正确的 MIME 类型并随请求提交。请求大小上限每个请求 25 MB参考文档给出的硬性限制是每个请求的音频文件大小不得超过 25 MB。脚本侧同步定义了MAX_AUDIO_BYTES 25 * 1024 * 1024约 26,214,400 字节并在提交前进行校验见 transcribe_diarize.py 常量定义与_validate_audio与 第 145-152 行。需要说明的实现细节是当文件超过 25 MB 时CLI 只会打印Warning而不会直接终止运行_warn分支实际是否成功取决于 API 服务端返回因此在本地预估文件体积、必要时先做转码压缩仍是推荐做法。对于超长音频正确做法是配合下面的分块策略而不是提交超大文件。响应格式text / json / diarized_jsonresponse_format决定返回结果的形态参考文档给出三个合法取值CLI 中也用ALLOWED_RESPONSE_FORMATS {text, json, diarized_json}做了白名单校验见 transcribe_diarize.py 第 21 行 与_normalize_response_format非法值会直接报错退出取值返回内容适用场景输出文件扩展名text纯文本转写结果快速转写、摘要、搜索.txtjson结构化 JSON含段落/时间戳等字段程序化处理、对齐.jsondiarized_json带说话人标签的 JSON会议/采访说话人分离.json关键约束参考文档Prompting is not supported之外的另一条硬规则由脚本强制diarized_json只能配合gpt-4o-transcribe-diarize使用若用其他模型请求该格式CLI 会直接报错见 transcribe_diarize.py 第 243-244 行输出文件的扩展名由_output_extension决定text→.txt其余 →.json见 第 101-103 行。长音频分块chunking_strategy参考文档指出当音频超过约 30 秒时必须传入chunking_strategy推荐使用auto让服务端自动切分。脚本默认值即为DEFAULT_CHUNKING_STRATEGY auto见 transcribe_diarize.py 第 17 行因此使用 CLI 时无需额外指定即可覆盖绝大多数长音频场景。_normalize_chunking_strategy还支持一个高级用法传入 JSON 字符串以{开头会被解析为结构化策略对象后再放入请求体见 第 55-64 行。例如python3 $TRANSCRIBE_CLI long_meeting.m4a \ --model gpt-4o-transcribe-diarize \ --chunking-strategy {type:auto,max_chunk_size:1024} \ --response-format diarized_json已知说话人known_speaker_names known_speaker_references参考文档指出该模型支持最多 4 个已知说话人通过extra_body中的两个字段传入known_speaker_names说话人名称列表known_speaker_references与名称一一对应的说话人音频样本必须以 data URLdata:mime;base64,...形式编码。在 CLI 中这两个字段由--known-speaker NAMEPATH参数可重复最多 4 次驱动脚本自动完成 base64 编码与 data URL 拼接见_parse_known_speakers与_encode_data_url随后写入extra_body见_build_payload。注意事项均来自脚本校验逻辑--known-speaker参数格式必须是NAMEPATH名称或路径缺失会报错样本文件必须真实存在否则直接退出超过 4 个说话人会报错known speakers must be 4已知说话人提示仅对gpt-4o-transcribe-diarize生效配合其他模型使用时只会打印 Warning 并被忽略见 第 253-254 行。官方示例取自 SKILL.mdpython3 $TRANSCRIBE_CLI \ meeting.m4a \ --model gpt-4o-transcribe-diarize \ --known-speaker Alicerefs/alice.wav \ --known-speaker Bobrefs/bob.wav \ --response-format diarized_json \ --out-dir output/transcribe/meeting不支持的选项Prompting参考文档明确强调gpt-4o-transcribe-diarize不支持 prompt提示词引导。脚本同样做了强制拦截——只要模型名包含transcribe-diarize且传入了--prompt就会直接报错退出见 transcribe_diarize.py 第 241-242 行。因此不要试图通过 prompt 来影响该模型的术语纠错或风格这类需求应改用gpt-4o-mini-transcribe脚本为后者保留了--prompt与--language参数。综合实战CLI 完整参数速查结合 SKILL.md 的 CLI 章节 与脚本的 argparse 定义见 main 函数完整的参数清单如下参数默认值说明audio位置参数必填一个或多个音频文件路径--modelgpt-4o-mini-transcribe转写模型--response-formattexttext/json/diarized_json--chunking-strategyauto长音频分块策略可传 JSON--language无可选语言提示如en--prompt无可选提示词diarize 模型禁用--known-speaker无NAMEPATH可重复最多 4 次--out无单文件输出路径--out-dir无输出目录多文件时避免覆盖--stdout关输出到标准输出--dry-run关只校验输入并打印请求体不调用 API三个最常用命令# 1) 快速纯文本转写默认模型 默认 text 格式 python3 $TRANSCRIBE_CLI \ path/to/audio.wav \ --out transcript.txt # 2) 显式指定纯文本格式 python3 $TRANSCRIBE_CLI \ interview.mp3 \ --response-format text \ --out interview.txt # 3) 说话人分离 python3 $TRANSCRIBE_CLI \ meeting.m4a \ --model gpt-4o-transcribe-diarize \ --response-format diarized_json \ --out-dir output/transcribe/meeting其中--dry-run是排查问题的利器它会在不消耗 API 配额的前提下打印出将要发送的完整 payload含 base64 编码后的说话人样本与分块策略便于核对参数拼写是否正确见 第 257-259 行。环境准备与使用前提运行 CLI 前需确保OPENAI_API_KEY环境变量已设置缺失时脚本会报错退出见_ensure_api_key依赖 OpenAI Python SDK可用uv pip install openai或python3 -m pip install openai安装见 SKILL.md 依赖章节技能安装后CLI 路径通常位于$CODEX_HOME/skills/transcribe/scripts/transcribe_diarize.py其中$CODEX_HOME默认为~/.codex见 SKILL.md 路径说明。核心结论速览六种输入格式mp3/mp4/mpeg/mpga/m4a/wav/webm可直接提交单个请求上限 25 MB三种响应格式text/json/diarized_json其中diarized_json仅限gpt-4o-transcribe-diarize长于约 30 秒的音频务必使用chunking_strategyCLI 默认auto已内置已知说话人最多 4 个样本以 data URL 形式通过extra_body的known_speaker_names与known_speaker_references传入gpt-4o-transcribe-diarize不支持 prompt传入即报错。以上结论均可对照 api.md 原文与 transcribe_diarize.py 源码逐条验证读者可在此基础上直接落地自己的转写与说话人分离任务。【免费下载链接】skillsSkills Catalog for Codex项目地址: https://gitcode.com/GitHub_Trending/skills4/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表