mcpField
O
openai-audio

openai-audio

github.com/calesthio创意与媒体219103 次安装15 周前更新
代码仓库

关于 openai-audio

面向有明确边界的 OpenAI 音频任务的技能,包括语音生成、转录、字幕计时、英译和音频对话。它区分文件请求与持续实时语音会话,并指导选择模型和端点。

主要功能

  1. 01文本转语音生成
  2. 02音频转录与说话人区分
  3. 03字幕时间戳指导
  4. 04音频英译
  5. 05模型与端点路由

适用场景

  1. 01为产品演示生成旁白
  2. 02转录带说话人标签的访谈
  3. 03根据音频制作定时字幕
  4. 04为聊天添加音频输入和输出

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/calesthio/generative-media-skills --skill openai-audio

安装后在 Claude Code 中输入/openai-audio确认已加载。

附带文件EVAL.md

详细介绍

OpenAI 音频

当用户在有明确范围的请求中需要 OpenAI 音频生成或理解时,请使用此技能:生成旁白、制作口语化产品演示、转录播客或访谈、字幕时间轴调整、翻译成英语、音频质量检查,或为现有聊天工作流添加音频输入/输出。

不要将此技能作为持续低延迟语音对话 Agent、实时口译、SIP/WebRTC 会话或语音活动检测的主要指南。这些内容属于单独的实时语音技能。此技能仍可说明两者的界限:基于请求的音频 API 适用于文件、脚本和有明确范围的请求;实时会话适用于包含实时音频事件的开放连接。文档来源:OpenAI 的音频指南区分了基于请求的 API、实时会话和多模态聊天补全;已于 2026-07-10 验证:https://developers.openai.com/api/docs/guides/audio

来源状态和证据标签

将以下内容视为根据 OpenAI 公开文档于 2026-07-10 验证的已记录事实:

  • 基于请求的语音端点为 POST /v1/audio/speech;它接受 gpt-4o-mini-tts、当前固定快照 gpt-4o-mini-tts-2025-12-15、tts-1 和 tts-1-hd,并支持内置语音,以及在可用时使用自定义语音 ID。语音输入长度上限为 4,096 个字符。旧的固定快照 gpt-4o-mini-tts-2025-03-20 计划于 2026-07-23 停止服务,文档中指定的替代方案为 gpt-4o-mini-tts-2025-12-15;不要将该快照停用与未固定版本别名的停用混为一谈。来源:https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create 和 https://developers.openai.com/api/docs/deprecations

  • gpt-4o-mini-tts 支持指令式语音控制;较旧的 tts-1 和 tts-1-hd 模型不支持 instructions 参数。来源:https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create

  • /v1/audio/speech 支持的语音输出格式文档列为 mp3、opus、aac、flac、wav 和 pcm;speed 的范围为 0.25 至 4.0;流式格式可以是 sse 或 audio,但 tts-1/tts-1-hd 不支持 SSE。来源:https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create

  • 语音转文本端点为 POST /v1/audio/transcriptions;文档列出的模型包括 gpt-4o-transcribe、gpt-4o-mini-transcribe、gpt-4o-transcribe-diarize 和 whisper-1,不同模型支持的响应格式和流式处理方式各不相同。文件上传上限为 25 MB;对于较大的输入,应拆分或压缩,且不要在句子中间截断。来源:https://developers.openai.com/api/docs/guides/speech-to-text

  • gpt-4o-transcribe-diarize 不支持 prompt、logprobs 或 timestamp_granularities[];输入超过 30 秒时需要使用 chunking_strategy,建议设为 "auto"。来源:https://developers.openai.com/api/docs/guides/speech-to-text

  • 当前 GPT 转录模型支持流式转录,但 whisper-1 不支持;流式转录会发出转录文本增量/完成事件。来源:https://developers.openai.com/api/docs/guides/speech-to-text

  • 翻译端点为 POST /v1/audio/translations;API 参考文档指出,目前只有 whisper-1 可用于翻译成英语,即使共享的模型类型枚举可能列出其他音频模型 ID。来源:https://developers.openai.com/api/reference/resources/audio/subresources/translations/methods/create

  • 支持音频的聊天补全可以使用 gpt-audio-1.5,并设置 modalities: ["text", "audio"]、用于指定语音/格式的 audio 对象,以及用于音频输入的 input_audio 内容块。来源:https://developers.openai.com/api/docs/guides/audio

  • Realtime 路由是独立的:Realtime 概览建议低延迟语音 Agent 使用 gpt-realtime-2.1,实时翻译使用 gpt-realtime-translate,实时转录使用 gpt-realtime-whisper。来源:https://developers.openai.com/api/docs/guides/realtime

  • 定价变动频繁。截至 2026-07-10,OpenAI 定价页面按 token 或分钟列出 Realtime/音频生成价格,并列出 gpt-4o-transcribe 和 gpt-4o-mini-transcribe 的按 token 计费及每分钟预估费用。在生产环境引用费用前,务必重新核查。来源:https://developers.openai.com/api/docs/pricing

  • OpenAI 的平台数据控制页面说明,API 端点数据不会用于训练;页面按端点列出了滥用监控和应用状态数据的保留情况,并指出 /v1/audio/transcriptions 和 /v1/audio/translations 不保留滥用监控数据,而 /v1/audio/speech 默认保留 30 天;信息核实于 2026-07-10。来源:https://developers.openai.com/api/docs/guides/your-data

  • OpenAI 的使用政策禁止在可能造成真实性混淆的情况下,未经同意使用他人的肖像(包括声音)。TTS 指南还要求向最终用户明确披露语音为 AI 生成;自定义语音创建仅面向符合条件的客户,并要求另行取得匹配同意及样本录音。来源:https://openai.com/policies/usage-policies/ 和 https://developers.openai.com/api/docs/guides/text-to-speech 以下内容应视为生产实践经验,而非 OpenAI 的保证:

  • 如果创意简报需要表演指导、富有表现力的控制,或通过自然语言语音备注进行迭代,请优先使用 gpt-4o-mini-tts。

  • 只有在低延迟比质量或详细指导更重要时才使用 tts-1;只有在旧版集成已依赖 tts-1-hd,或测试证明它在特定语音/脚本上表现更好时,才使用 tts-1-hd。

  • 当准确性、专有名词或适合说话者使用的输出比成本更重要时,使用 gpt-4o-transcribe;对于大批量、粗剪、草稿和注重成本的批量转录,使用 gpt-4o-mini-transcribe;当说话者标签很重要时,使用 gpt-4o-transcribe-diarize。

  • 当你需要翻译成英语,或需要文档明确支持 whisper-1 的词级/片段级时间戳格式时,使用 whisper-1;否则,在具有代表性的音频上测试后,优先选择较新的转录模型。

  • 对于成品媒体,请生成高质量的 WAV 或 FLAC 中间文件并归档,仅为交付副本编码为 MP3/AAC。

发起 API 调用前先确定任务路线

在选择端点前,先询问或推断以下变量:

  1. 输入:文本脚本、音频文件、实时麦克风流,或包含音频的混合聊天轮次。
  2. 输出:音频文件、转录文本、翻译成英语的转录文本、字幕、带说话者区分的转录文本、带音频的聊天响应,或实时音频事件。
  3. 时间形态:有界请求还是持续会话。
  4. 审批风险:名人/员工/客户的声音、受监管的转录内容、面向公众的广告、法律/医疗/金融内容、未成年人,或敏感个人数据。
  5. 制品保管:原始输入、生成的音频、转录文本、附属文件和审批记录必须存储在哪里。

决策表:

用户意图首选路线模型/API 选择备注
根据文本生成旁白或口播台词/v1/audio/speech通常使用 gpt-4o-mini-tts最适合生成文件、批量旁白和风格指导的语音表演。
在旧版简单 TTS 集成中生成低延迟语音/v1/audio/speechtts-1接受较低质量;不要发送 instructions。
需要使用旧版高质量 TTS 路径生成语音/v1/audio/speechtts-1-hd与 gpt-4o-mini-tts 进行测试;不要假定对每种简报而言,“HD”都胜过较新的模型。
转录文件或有界上传内容/v1/audio/transcriptionsgpt-4o-transcribe 或 gpt-4o-mini-transcribe根据准确性/成本选择模型;仅请求受支持的响应格式。
转录并标注说话者/v1/audio/transcriptionsgpt-4o-transcribe-diarize需要说话者标注时使用 diarized_json。
为字幕生成词级/片段级时间戳/v1/audio/transcriptions通常使用带有 verbose_json 和时间戳粒度设置的 whisper-1文档说明,时间戳粒度要求使用 verbose_json;词级时间戳会增加延迟。
将非英语音频翻译成英语/v1/audio/translationswhisper-1翻译端点并非通用本地化配音工具;它会生成英语文本。
为现有聊天应用添加音频输入/输出Chat Completions配合 modalities 和 audio 使用 gpt-audio-1.5当模型必须在一个聊天轮次中理解音频并以文本/音频作答时使用。
构建实时语音到语音、实时翻译、实时转录、SIP、WebRTC 或 VADRealtime API转用此技能之外的路线使用单独的 realtime voice 技能。

切勿在不告知的情况下替换路线。如果获准的路径受阻,请说明失败的原因、问题属于模型访问、参数不兼容、策略、隐私、成本还是产品不匹配,并在切换端点或模型前征求同意。

文本转语音生产

脚本准备

在提示模型之前,先为口语表达撰写脚本。TTS 模型可以呈现节奏和语气,但无法挽救视觉化写作、标点过多或充斥未展开缩写的脚本。

制作建议:

  • 将密集的文字拆分成适合一口气读完的句子。通常每句表达一个想法,比嵌套从句更稳妥。
  • 在脚本或说明中明确标注容易读错的内容:产品名称、缩写、人名、非英语词语、数字、单位、URL 和法律免责声明。
  • 使用简单标点来引导语气。除非接口或下游工具明确支持,否则避免使用戏剧化标记。
  • 尽可能将发音备注与创意表现备注分开。
  • 对于长篇旁白,按段落或场景边界分块,并在各块之间保持语音和说明设置一致。
  • 后期处理中留出一小段室内底噪或静音余量,不要试图在脚本中强行实现精确静音。

表演说明示例格式:

Voice: coral
Model: gpt-4o-mini-tts
Format: wav for editing; mp3 only for review copies
Performance instructions:
Warm, confident startup launch voice. Conversational, not announcer-like.
Medium pace, lightly excited on the first sentence, then grounded.
Pronounce "Aster Lane" as "ASS-ter lane"; pronounce "SOC 2" as "sock two".
Do not impersonate any real person or named celebrity.

已记录的控制项:

语音选择

不要只用人口统计标签来描述语音。应描述制作所需的表演角色:

  • “可信的创始人朗读版本说明”
  • “温和的教程主持人”
  • “高端纪录片旁白”
  • “语速快但清晰易懂的客服 IVR”
  • “平静的安全提示”

选出 2 或 3 个候选语音,用同一段具有代表性的文本生成简短试音,并在生成完整内容前获得批准。使用最终脚本的原文或一段内容密集的摘录,而不是通用演示句,因为发音和节奏问题往往只有在实际文案中才会显现。

面向公众使用语音的审批关卡:

  1. 确认用户拥有脚本及其中提及的任何品牌或角色的使用权。
  2. 确认选定的内置或自定义语音获准用于预期用途。
  3. 确认没有请求在未经同意的情况下,要求对真实人物进行足以造成混淆的模仿。
  4. 生成一段长度刚好足以判断语气的试音。
  5. 保存选定的语音、模型、说明、脚本版本哈希或文件名、审批人、日期和已批准试音的路径。
  6. 仅在此之后生成完整批次内容。

使用自定义语音时,还需确认组织符合资格,保留服务提供商的同意录音 ID,核实同意录音和样本录音中的演员是同一人,并遵守 Text-to-Speech Supplemental Agreement。一般性的电子邮件批准不能替代 OpenAI 要求的同意录音流程。

输出格式与保管

根据生命周期选择格式:

  • wav 或 flac:编辑母版、归档保管、后续混音。
  • mp3 或 aac:网页预览、社交媒体草稿、精简交付。
  • opus:以语音为主的流媒体,或目标平台支持时的低码率分发。
  • pcm:需要原始 PCM 的底层音频管线。

为每个生成的音频文件记录以下信息:

  • 源脚本路径或准确的脚本文本;
  • 模型;
  • 语音;
  • 指令;
  • 响应格式;
  • 速度;
  • 生成日期;
  • SDK 日志中可用的 OpenAI 请求 ID;
  • 审批状态;
  • 输出文件的校验和;
  • 任何后期处理步骤。

不要覆盖已获批准的母版。如果重新生成某句台词,请创建新的版本化文件并更新清单。

完整示例:产品发布旁白台词

用户意图:制作一句面向公众的发布旁白台词,批量生成前需先审批。

模型和端点:/v1/audio/speech、gpt-4o-mini-tts、语音 marin、WAV 母版。

此调用用于试音/采样,不代表授权进行完整批量生成。只有完成上述权利、披露、存储和样本成本预检后才能运行;扩大生成范围前,必须记录对本次录音的审批结果。

Python 示例:

from pathlib import Path
from openai import OpenAI

client = OpenAI()

script = (
    "Aster Lane turns every customer call into a searchable product signal, "
    "so your team can fix what matters first."
)

instructions = (
    "Speak as a warm, credible product-launch narrator. "
    "Confident but not hypey. Medium pace. "
    "Pronounce Aster as ASS-ter. "
    "Do not imitate any real person."
)

out = Path("artifacts/audio/aster-lane-launch-v001.wav")
out.parent.mkdir(parents=True, exist_ok=True)

with client.audio.speech.with_streaming_response.create(
    model="gpt-4o-mini-tts",
    voice="marin",
    input=script,
    instructions=instructions,
    response_format="wav",
    speed=1.0,
) as response:
    response.stream_to_file(out)

这样安排的原因:

  • 使用 WAV,因为这是制作母版。
  • 明确指定发音。
  • 表演指导简洁,并避免模仿名人。
  • 文件路径包含版本信息,而不是覆盖之前的录音。

审核标准:

  • “Aster”发音正确。
  • “searchable product signal”重音自然。
  • 没有夸张的广告腔。
  • 开头和结尾没有被截断。
  • 已制定清晰的 AI 生成语音披露方案。
  • 在后期处理中处理响度和静音,不要假设原始模型输出已达到要求。

语音转文本制作

根据下游用途选择转录模型

已记录的事实:

生产经验法则:

  • 对于剪辑日志、偏法律用途的审核或包含大量专有名词的访谈,优先使用准确率更高的模型,并添加词汇提示词。
  • 对于数小时音频的粗剪筛查,使用成本较低的模型;如有需要,再用准确率更高的模型重新转录选定片段。
  • 对于字幕,先确定需要词级时间、分段时间、说话人标签,还是仅需纯文本。所需的输出格式可能决定模型选择。
  • 对于置信度较低或有噪声的片段,提取干净的 WAV 片段,并通过词汇提示词重试,而不是反复发送整个长文件。由于说话人分离模型不接受 prompt,请使用支持提示词的转录模型单独修复该片段,并手动将修复文本与说话人分离时间轴进行核对。
转录提示词

使用 prompt 来指导风格、拼写、术语,或承接前面的片段。转录提示词应与音频语言一致。不要用提示词编造内容或“修复”不清晰的音频;必要时在后期审核中标记听不清的片段。

适合放入提示词的内容:

  • 人名和产品术语;
  • 已知的说话人姓名;
  • 领域词汇;
  • 预期的缩略语;
  • 大小写偏好;
  • 前一片段的结尾,用于保持连贯性;
  • 相关时使用的语言变体。

示例:

This is an English product interview about Aster Lane, SOC 2, Snowflake, Zendesk, and call summarization. Preserve product names. Use "Aster Lane" not "Asterlane". Use "SOC 2" not "sock two" in the transcript.
完整示例:带说话人区分的会议转录

用户意图:转录一段 35 分钟的客户访谈,并保留说话人轮次,供研究人员使用。

模型和端点:/v1/audio/transcriptions、gpt-4o-transcribe-diarize、diarized_json。

Python 示例:

from pathlib import Path
from openai import OpenAI

client = OpenAI()

audio_path = Path("raw/customer-interview-2026-07-10.m4a")  # Prevalidated at <25 MB.

with audio_path.open("rb") as audio_file:
    transcript = client.audio.transcriptions.create(
        model="gpt-4o-transcribe-diarize",
        file=audio_file,
        response_format="diarized_json",
        chunking_strategy="auto",
    )

Path("artifacts/transcripts/customer-interview-diarized-v001.json").write_text(
    transcript.model_dump_json(indent=2),
    encoding="utf-8",
)

预期结果:

  • 带说话人标签片段的 diarized JSON;
  • 提供足够的结构以进行定性编码;
  • 除非另行生成,否则不包含逐词字幕时间戳。

可能的失败模式:

  • 重叠说话可能被错误标注;
  • 反复出现的产品名称仍可能拼写错误;
  • 不应将说话人区分视为法律身份验证。

修复方法:

  • 审核后,手动将说话人标签对应到真实姓名;
  • 使用支持提示词的模型和修正后的词汇表,单独转录不清晰的片段,然后与带说话人区分的时间线核对;
  • 将原始转录稿和审核后的转录稿作为独立文件保存。
完整示例:带逐词时间戳的字幕时间标记

用户意图:为一段简短教程视频生成字幕时间标记,其中需要逐词卡拉 OK 高亮效果。

模型和端点:/v1/audio/transcriptions、whisper-1、verbose_json、timestamp_granularities=["word"]。

Python 示例:

from pathlib import Path
from openai import OpenAI

client = OpenAI()

with open("exports/tutorial-voice.wav", "rb") as audio_file:
    transcription = client.audio.transcriptions.create(
        model="whisper-1",
        file=audio_file,
        response_format="verbose_json",
        timestamp_granularities=["word"],
        prompt=(
            "Tutorial narration about Aster Lane, SOC 2, and Zendesk. "
            "Use product capitalization exactly."
        ),
    )

Path("artifacts/captions/tutorial-word-timestamps-v001.json").write_text(
    transcription.model_dump_json(indent=2),
    encoding="utf-8",
)

选择此方案的原因:

  • 文档所述的时间戳粒度方案仅适用于 whisper-1。
  • 逐词时间戳会增加延迟,因此只有在编辑确实需要逐词时间标记时才请求。
  • 转录稿仍需经过人工或自动字幕质量检查,检查换行、阅读速度和无障碍性。

翻译成英语

音频翻译端点会将音频翻译成英语文本。不要将其描述为多语言配音、语音转换或本地化音频制作。

适用场景:

  • 用户提供的是非英语语音,并需要英语转录稿;
  • 后续编辑、研究或字幕工作流以英语为主;
  • 用户接受原语言措辞和说话人演绎细节有所损失。

不适用场景:

  • 交付内容需要原语言字幕;
  • 目标语言不是英语;
  • 用户需要另一种语言的合成配音;
  • 在未经人工审核的情况下,说话人身份或法律措辞的准确性至关重要。

完整示例:

from pathlib import Path
from openai import OpenAI

client = OpenAI()

with open("raw/founder-clip-es.m4a", "rb") as audio_file:
    translation = client.audio.translations.create(
        model="whisper-1",
        file=audio_file,
        response_format="text",
        prompt=(
            "The speaker discusses Aster Lane, customer support analytics, "
            "and SOC 2. Translate to clear English while preserving product names."
        ),
    )

Path("artifacts/transcripts/founder-clip-english-v001.txt").write_text(
    translation,
    encoding="utf-8",
)

审核规则:如果翻译将要发布,必须由双语人员审核,或明确征得用户同意,确认机器翻译可能无法传达细微含义。

支持音频的聊天补全

当音频是对话模型轮次的一部分,而不只是文件转换任务时,请使用支持音频的模型进行聊天补全。文档中介绍的模式:使用 gpt-audio-1.5,将 modalities 设置为包含 audio,提供 audio 输出参数,并将音频输入作为 base64 input_audio 内容块传入。来源:https://developers.openai.com/api/docs/guides/audio

以下情况请使用此方式:

  • “听一段简短录音并大声回答”;
  • 在现有的 Chat Completions 应用中进行语音聊天;
  • Agent 对口语内容进行推理,并在一个有界轮次中同时返回文本和音频。

以下情况请勿使用此方式:

  • 批量转录,此时 /v1/audio/transcriptions 更简单;
  • 根据定稿脚本进行纯旁白生成,此时 /v1/audio/speech 更简单;
  • 持续的麦克风交互,此时实时会话更合适。

完整示例:

import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI()

audio_bytes = Path("raw/user-question.wav").read_bytes()
encoded_audio = base64.b64encode(audio_bytes).decode("utf-8")

completion = client.chat.completions.create(
    model="gpt-audio-1.5",
    modalities=["text", "audio"],
    audio={"voice": "alloy", "format": "wav"},
    messages=[
        {
            "role": "system",
            "content": (
                "Answer as a concise support coach. If the recording is unclear, "
                "say what you could not determine rather than guessing."
            ),
        },
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "What is the customer asking for?"},
                {
                    "type": "input_audio",
                    "input_audio": {
                        "data": encoded_audio,
                        "format": "wav",
                    },
                },
            ],
        },
    ],
)

message = completion.choices[0].message
Path("artifacts/chat-audio/answer-transcript-v001.txt").write_text(
    message.audio.transcript,
    encoding="utf-8",
)
Path("artifacts/chat-audio/answer-v001.wav").write_bytes(
    base64.b64decode(message.audio.data)
)

保管说明:聊天音频响应包含 base64 音频字节和转录文本。如果输出是获准用于生产的制品,请同时存储二者。如果隐私政策要求不在服务器端持久化数据,请在使用前确认 store 的行为和组织的数据控制措施。

延迟、成本与批处理

文档中列出的成本信息可能随时变动;生产时务必重新核对当天的定价。2026-07-10,OpenAI 的定价页面列出了:

  • 按音频、文本、图像令牌或分钟计费的实时/音频生成模型价格,具体取决于模型;
  • gpt-4o-transcribe 和 gpt-4o-mini-transcribe 转录模型的价格,包括预估的每分钟费率;
  • 除模型/工具费用外,Responses、Chat Completions、Realtime、Batch 或 Assistants API 均不收取单独的平台费用。来源:https://developers.openai.com/api/docs/pricing

生产经验法则:

  • 使用音频生成模型时,根据生成文本和音频令牌计费估算 TTS 成本;根据音频时长和当前定价页面估算转录成本。
  • 对于转录,仅在后续会纠正错误时才进行低成本的初步转录;请勿将粗略转录作为最终的法律、医疗、合规或公开引用材料。
  • 对于较长的 TTS 脚本,先生成试听样本,再仅在声音获批后批量生成完整旁白。
  • 对于较长的转录文件,如果需要并行处理或隔离重试,只在自然停顿或场景边界处分段。重叠部分应尽可能短,并在后期处理时消除重复内容。
  • 流式传输有助于降低用户体验层面的延迟;但仍需存储最终制品,并在发布前审核输出。

权利、同意、隐私与安全

硬性要求:

  • 不得以可能让人误以为声音真实的方式生成、转换或模仿他人的声音,除非用户拥有相应权利并已取得同意。OpenAI 政策特别指出,在可能造成混淆的情境中,未经同意使用他人的肖像(包括声音)属于违规。来源:https://openai.com/policies/usage-policies/
  • 不得将合成声音呈现为真人的现场讲话或录音。
  • 除非用户拥有合法授权,且已取得任何必要的参与者同意,否则不得处理私人通话、采访、会议或语音留言。
  • 必须明确告知最终用户,OpenAI TTS 音频由 AI 生成,并非人声;同时还须满足任何其他法律、平台或客户端披露要求。
  • 涉及未成年人、医疗保健、法律、工作场所监控、生物识别或敏感个人数据时,须先暂停处理并进行隐私与政策审查。
  • 将说话人分离视为生产流程中的便利功能,而非身份验证依据。
  • 将转录文本视为可能包含敏感信息的记录。仅在获批的位置存储原始音频和转录文本。

已于 2026-07-10 核实的数据控制事实:

  • OpenAI 的平台数据控制表显示,所列端点的 API 数据不会用于训练。
  • 该表列出的 /v1/audio/transcriptions 和 /v1/audio/translations 不会保留用于滥用监控的数据,也不会保留应用状态。
  • 该表列出的 /v1/audio/speech 会将数据保留 30 天用于滥用监控,但不会保留应用状态。
  • Chat Completions 和 Responses 中的音频输出可能会存储 1 小时的应用状态,以支持多轮对话。
  • 零数据保留和修改后的滥用监控需要审批,且存在特定于端点的限制。来源:https://developers.openai.com/api/docs/guides/your-data

审批与成品保管协议

对于任何生产素材、面向公众的内容、客户内容、受监管的转录文本或付费批处理任务,请使用此协议。

生成或转录前:

  1. 说明端点、模型、输出格式以及选择该路径的原因。
  2. 确认声音、录音、脚本、品牌和背景音乐的权利与同意情况。
  3. 确认隐私分类和存储位置。
  4. 如果成本具有实质影响,确认成本估算的来源和日期。
  5. 确认首次调用是用于试听/样本,还是用于完整批次。

生成样本后:

  1. 将原始输出存储在带版本号的路径下。
  2. 编写简短的审核记录:模型、声音、提示词/指令、输入文件/脚本、格式、审核人、日期、通过/未通过。
  3. 在生成完整批次前,征求审批或修改意见。

生成完整批次后:

  1. 分别存储原始输入、生成的输出、转录文本、旁挂文件、清单和审批记录。
  2. 在后期处理前保留模型原始输出。
  3. 编写清单,记录模型、端点、参数、源文件、输出文件、校验和及审批状态。
  4. 明确标记衍生文件:已编辑、已标准化、已混音、已添加字幕、已翻译或已审核。
  5. 除非用户的保留政策要求删除且删除操作已记录,否则不得删除原始来源或已批准的母版。

最简成品清单结构:

{
  "artifact_id": "narration_sc01_v003",
  "created_at": "2026-07-10T18:30:00Z",
  "provider": "openai",
  "endpoint": "/v1/audio/speech",
  "model": "gpt-4o-mini-tts",
  "voice": "marin",
  "input_script": "scripts/narration/sc01_v004.txt",
  "instructions": "Warm, credible, medium pace; pronounce Aster as ASS-ter.",
  "parameters": {
    "response_format": "wav",
    "speed": 1.0
  },
  "outputs": [
    {
      "path": "artifacts/audio/sc01_v003.wav",
      "role": "raw_model_master",
      "sha256": "..."
    }
  ],
  "approval": {
    "status": "approved",
    "approver": "user",
    "approved_at": "2026-07-10T18:45:00Z"
  },
  "source_verification": {
    "docs_checked_at": "2026-07-10",
    "pricing_checked_at": "2026-07-10"
  }
}

质量审查

对于生成的语音,请检查:

  • 人名、首字母缩写、数字、货币和 URL 的发音;
  • 语速、停顿和呼吸是否自然;
  • 情绪是否符合需求简述;
  • 各片段之间是否一致;
  • 是否存在截断、掉音、瑕疵、噪声或突兀的结尾;
  • 是否符合同意和披露要求;
  • 后期处理后的响度和峰值余量。

对于转录文本,请检查:

  • 说话人标签和轮次边界;
  • 专有名词和技术术语;
  • 时间戳是否与实际波形相符;
  • 串音、音乐、掌声或噪声期间是否有遗漏;
  • 听不清的片段中是否出现幻觉文本;
  • 标点和大小写;
  • 隐私脱敏要求。

对于翻译后的转录文本,请检查:

  • 输出是否如预期仅包含英文;
  • 产品名称是否保留;
  • 是否避免对习语和笑话进行过于直译的处理;
  • 引文是否经过双语审校后再发布;
  • 文化敏感或法律相关措辞是否已提交人工审查。

常见故障及修复方法

故障可能原因修复方法
TTS 把产品名称读错未对名称的发音作约束在 instructions 和/或脚本中添加发音说明;只重新生成受影响的行。
TTS 听起来像在念广告指示过于宽泛,例如“兴奋”“专业”明确受众、情绪变化、语速以及需要避免的内容。
TTS 片段之间不一致片段间的指示发生变化,或脚本切分边界不自然固定一个指示块,并在场景/段落边界处切分。
编辑所需的输出格式不正确过早选择交付格式生成 WAV/FLAC 母版;再将副本转码为下游所需格式。
转录遗漏专有名词没有词汇提示或音频质量不佳添加词汇提示;重试清晰的片段;对最终结果进行人工 QA。
无法获取时间戳模型/响应格式错误使用文档说明的时间戳路径:whisper-1、verbose_json,并请求相应粒度。
流式请求未生效使用了 whisper-1使用 GPT 转录模型进行流式处理,或接受 Whisper 的非流式行为。
要求翻译成非英语目标语言端点不匹配仅对英文文本使用翻译端点,或转至此技能之外的本地化/配音工作流。
将说话人标签误当作身份信息滥用说话人分离由人工审查说话人映射;绝不要将说话人分离用作生物识别身份验证。
隐私问题阻碍处理源音频包含敏感内容或同意情况不明确暂停处理,确认合法依据、存储方式、保留期限和披露要求。

生产工作中的最终回复格式

交付结果时,请包含:

  • 使用的端点和模型;
  • 输入来源和输出产物路径;
  • 对输出有实质影响的参数;
  • 审批状态;
  • QA 发现和未解决的风险;
  • 发布前所需的任何人工审查;
  • 易变的价格/模型/保留期限声明所对应的来源日期。

评论

支持 Markdown