mcpField
M
minimax-speech

minimax-speech

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

关于 minimax-speech

minimax-speech 是一项使用 MiniMax API 制作语音的技能,涵盖文本转音频、声音选择与设计、克隆及字幕时间戳。它面向音频制作和本地化流程,并说明如何选择同步、流式或异步生成。

主要功能

  1. 01同步和流式文本转音频
  2. 02异步长文本语音生成
  3. 03系统、克隆及设计声音管理
  4. 04带样本校验的声音克隆
  5. 05生成语音的字幕时间戳

适用场景

  1. 01制作旁白和有声书片段
  2. 02生成本地化配音初稿
  3. 03生成语音 Agent 的响应
  4. 04试听并管理已获批准的合成声音

安装

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

$npx skills add https://github.com/calesthio/generative-media-skills --skill minimax-speech

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

附带文件EVAL.md

详细介绍

MiniMax 语音制作

当制作目标是生成语音时,请使用 MiniMax:例如旁白、本地化配音、广告口播、有声书风格片段、合成对话、产品演示、语音 Agent 回复或经授权的声音克隆。除非相关功能会影响语音制作,否则不要将此技能用于 MiniMax 视频、音乐生成、图像生成或通用大模型调用。

以下信息已根据 MiniMax 官方 API 文档、发行说明、定价和政策页面于 2026-07-10 核实。模型 ID、价格、速率限制、保留期限、声音列表和政策措辞都可能变化;在付费或受监管的制作任务开始前,请重新核实。

功能边界

有文档记录的 MiniMax 语音功能:

  • 通过 HTTP 同步进行文本转音频:POST https://api.minimax.io/v1/t2a_v2。
  • 通过 WebSocket 同步进行文本转音频:wss://api.minimax.io/ws/v1/t2a_v2。
  • 异步生成长篇文本转音频:通过 POST /v1/t2a_async_v2 创建任务,查询任务,然后获取生成的文件。
  • 系统声音、克隆声音和文本设计的声音,可通过 Voice Management 查询。
  • 通过上传文件并调用 POST /v1/voice_clone 快速克隆声音。
  • 通过 POST /v1/voice_design 进行声音设计,根据文本描述生成 voice_id 和预览音频。
  • 生成 TTS 字幕时间戳(取决于流式模式,可使用 sentence、word 或 word_streaming)。
  • 提供 text_validation 时,在声音克隆过程中进行基于 ASR 的验证检查。

截至 2026-07-10,官方文档索引中未记录以下独立制作 API:

  • 独立的语音识别/转录功能。
  • 语音到语音的配音。
  • 将任意源语音转换为目标声音并保留时间信息。
  • 除 T2A WebSocket 流式传输之外的独立低延迟对话轮次交互 API。

如果用户要求转录、声音转换或完整配音,请将 MiniMax TTS 与其他有文档记录的 ASR/对齐/配音服务结合使用,或说明 MiniMax 官方语音接口目前未直接提供此工作流。

模型选择

除非有特定限制,否则请使用最新的受支持模型。

  • speech-2.8-hd:适用于最终旁白、广告、有声书、品牌影片、富有表现力的对话,以及重视质量胜过交付速度的音效标签场景。
  • speech-2.8-turbo:适用于交互式语音、审核草稿、批量本地化、注重成本的社交媒体版本,以及对延迟敏感的 WebSocket 工作。
  • speech-2.6-hd:仅在旧版制作已通过其声音审核,或测试表明它能更好地处理某个特定克隆声音时使用。
  • speech-2.6-turbo:适用于围绕 2.6 行为调优的旧版或高用量场景。
  • speech-02-hd 和 speech-02-turbo:旧版;仅为沿用旧版已审核声音,或兼容尚未升级的第三方封装时保留。
  • speech-01-*:仅用于旧版兼容。

截至 2026-07-10,有文档记录的模型信息:

  • API 接受 speech-2.8-hd、speech-2.8-turbo、speech-2.6-hd、speech-2.6-turbo、speech-02-hd、speech-02-turbo、speech-01-hd 和 speech-01-turbo。
  • MiniMax 的模型概览列出,Speech 2.8 和 2.6 支持 40 种语言和 7 种情绪;Speech-02 则列出支持 24 种语言和 7 种情绪。
  • 仅针对 speech-2.8-hd 和 speech-2.8-turbo 记录了感叹词/自然音效标签。

制作建议:

  • HD 是“审核定稿”的路径;Turbo 是“迭代并交付”的路径。对于重要作品,如有需要,可先用 Turbo 选角并打样,再用 HD 渲染最终版本,并重新进行一轮 QA,因为时间安排和韵律可能会有所变化。

端点选择

如果可以在播放前生成完整音频,且文本长度低于同步上限,请使用 HTTP。如果用户需要在语音生成的同时收听,或者脚本超过 3,000 个字符但仍在同步 10,000 个字符的上限内,请使用 WebSocket。对于长篇旁白、有声书章节、多文件任务,或任何接近异步文本 50,000 个字符上限的内容,请使用异步方式。

文档中说明的限制和生命周期:

  • HTTP T2A 文本必须少于 10,000 个字符;对于超过 3,000 个字符的文本,MiniMax 建议使用流式传输。
  • 异步 T2A 文本可直接接受最多 50,000 个字符,且不能与 text_file_id 同时使用;官方异步指南也介绍了长篇文件工作流。
  • WebSocket 以 task_start 开始;在收到 task_started 后,可接受一个或多个 task_continue 文本事件;最后以 task_finish 结束。
  • 收到最后一个结果后,如果 120 秒内没有发送新事件,WebSocket 连接可能会自动关闭。
  • HTTP 非流式传输可返回 hex 音频或 URL;文档说明,返回的 URL 有效期为 24 小时。
  • 创建异步任务会返回 task_id、task_token、file_id 和 usage_characters;任务完成后,通过 File Retrieve 获取文件。异步文档提醒,下载 URL 自生成起 9 小时内有效,过期后生成的数据将丢失。

生产实践建议:

  • 对于视频旁白,应按编辑单元拆分脚本,而不是按 API 最大长度拆分:片头、章节、场景、免责声明、CTA。较小的单元能让时间调整、内容替换和人工审核轻松得多。

T2A 核心控制项

先使用最简请求,再根据要解决的生产问题添加控制项。

常用控制项:

  • voice_setting.voice_id:系统、克隆或语音设计 ID。
  • voice_setting.speed:0.5 至 2;进行小幅调整,例如 0.92、1.0、1.08。
  • voice_setting.vol:(0, 10];保持在 1 附近,除非某个声音始终音量不足,否则在后期处理中进行归一化。
  • voice_setting.pitch:-12 至 12;自然制作时优先使用 -2 至 2。
  • voice_setting.emotion:文档列出的值包括 happy、sad、angry、fearful、disgusted、surprised、calm、fluent 和 whisper;其中 fluent/whisper 仅在 2.6 模型中有文档说明,且 2.8 不支持 whisper。
  • 文本规范化:适用于数字密集型脚本;延迟可能略高。目前官方规范对字段名称的说明不一致(HTTP OpenAPI 中为 text_normalization,异步/WebSocket 相关规范中为 english_normalization),因此实现前请确认端点使用的确切参数名称。
  • language_boost:脚本语言已知时,设置特定语言或方言;不确定时使用 auto。即使枚举中包含波斯语、菲律宾语或泰米尔语,也不要假设 Speech-01/02 支持这些语言。
  • pronunciation_dict.tone:定义具体的发音替换,例如首字母缩略词的展开形式。
  • 内联发音:在目标词附近的括号中,以 IPA、带声调数字的普通话拼音或带声调数字的粤语 Jyutping 标注发音。
  • 停顿标记:在可朗读文本片段之间插入 <#x#>,其中 x 为 0.01 至 99.99 秒。不要连续放置停顿标记。
  • audio_setting.sample_rate:文档列出的值包括 8000、16000、22050、24000、32000 和 44100;API 默认使用 32000,若音频后期处理链的其他环节需要则使用 44100,仅在电话语音类测试中使用 8000。
  • audio_setting.bitrate:文档列出的值包括 32000、64000、128000 和 256000;与 MP3 相关。
  • audio_setting.format:已发布的 HTTP 文档中,非流式列出 mp3、wav 和 flac,流式则列出 mp3;而当前内嵌的 OpenAPI 规范还提供 pcm、pcmu_raw、pcmu_wav 和 opus,并附带特定端点的注意事项。在电话语音、原始 PCM 或 Opus 工作流中使用前,请确认确切支持的格式。
  • audio_setting.channel:1 表示单声道,2 表示立体声;用于 VO 音轨时,通常单声道最佳。
  • subtitle_enable 和 subtitle_type:启用句子或词语时间戳,以便与视频字幕对齐;word_streaming 仅在 stream=true 时有效。
  • voice_modify:更低沉/更明亮的音高、更强/更柔和的强度、更饱满/更清晰的音色,以及一种可选效果,例如 spacious_echo、auditorium_echo、lofi_telephone 或 robotic。

制作经验:

  • 避免叠加过多控制项。如果一行文本同时需要情绪、语速、发音、停顿和语音修改,请先改写文本。多数“糟糕的 TTS”问题源于脚本本身的表达形式,而不是参数设置。

为 MiniMax 语音撰写脚本

为表演者而非页面撰写。

  • 句子要短,确保一口气能说完。
  • 每句话只表达一个意图。
  • 在表演节拍处换行。
  • 需要精确表达时,按实际读法书写数字。
  • 对于缩写词,在生成前确定是逐个字母读、当作单词读,还是展开读。
  • 标点用于语法,而不是充当计时接口;需要精确停顿时,使用停顿标记。
  • 对于多语言内容,除非有意进行语码转换,否则避免在一句话中切换语言。
  • 对于本地化内容,在进行 TTS 前先本地化习语和法律/监管相关语句。不要指望 language_boost 修正直译。

2.8 版中的声音标签:

  • 仅在真人确实会发出相应声音时,才使用 (laughs)、(sighs)、(breath)、(inhale)、(exhale)、(gasps)、(coughs)、(humming) 等文档中列出的标签,或类似标签。
  • 声音标签是文本流中的表演指示,不保证会生成对应的音效素材。如果某个声音对剪辑至关重要,应将其单独录制,并单独审核。

声音选角与声音 ID

始终将声音视为一项制作决策。

  1. 使用 Voice Management 查询可用声音,不要凭记忆硬编码。
  2. 使用实际脚本中的同一段 60–120 个词生成简短试音。
  3. 从清晰度、品牌契合度、听觉疲劳、情绪表现范围、发音和可编辑性等方面进行比较。
  4. 在制作备注中锁定声音 ID、模型、语速、音高和语言设置。
  5. 只有在人审或 QA 审核通过试音后,才渲染完整脚本。

已记录的声音管理功能:

  • POST /v1/get_voice 可以列出 system、voice_cloning、voice_generation 或 all。
  • 返回的类别包括系统声音、快速克隆声音,以及根据文本提示生成的声音。
  • 快速克隆的声音和文本设计的声音,可能要成功用于语音合成后才会出现在查询结果中。
  • POST /v1/delete_voice 仅删除克隆或声音设计的 voice_id 值。已删除的 ID 无法再次使用。

制作经验法则:

  • 将选定的 voice_id 与项目制品台账一同保存,而不只是保存在生成脚本中。声音 ID 既是创意资产,也是审计对象。

快速语音克隆

仅在获得明确许可、权利已获清理且用途有记录的情况下进行克隆。语音是生物识别标识,也是一种表演资产。

有记录的工作流程:

  1. 将源音频上传到 POST /v1/files/upload,并设置 purpose=voice_clone。
  2. 克隆源文件必须为 mp3、m4a 或 wav 格式,时长至少为 10 秒,且不超过 5 分钟,文件大小不得超过 20 MB。
  3. 使用返回的 file_id、自定义 voice_id 和可选的预览文本调用 POST /v1/voice_clone。
  4. 自定义 voice_id 必须为 8–256 个字符,以英文字母开头,只能包含字母、数字、- 和 _,不能以 - 或 _ 结尾,且不得与现有 ID 重复。
  5. 如果克隆的语音在 7 天内未使用,MiniMax 说明系统会将其删除。
  6. 使用 text_validation 比较样本转录文本与 ASR 输出;如果相似度低于 accuracy,请求将因错误 1043 被拒绝。
  7. 可选的 need_noise_reduction 和 need_volume_normalization 可以清理克隆源音频,但应优先使用质量更好的源音频。
  8. 可选的 aigc_watermark 会在预览音频中添加 AI 生成内容水印音。

用于提升稳定性的提示音频:

  • MiniMax 还支持上传短提示音频文件,并设置 purpose=prompt_audio。
  • 提示音频必须为 mp3、m4a 或 wav 格式,时长少于 8 秒,文件大小不超过 20 MB。
  • 配合 clone_prompt.prompt_audio 和 clone_prompt.prompt_text 使用,可提升相似度和稳定性。

同意门槛:

  • 除非项目已获得针对特定用途、地区、时长和分发渠道的书面同意,否则不得克隆名人、政治人物、私人个体、员工、客户或表演者的声音。
  • 不得根据“音频是公开的”推断已获得同意。
  • 对于广告、政治内容、金融、健康或易涉及冒充的场景,必须进行法律审查,并在画面或音频中披露。
  • 将源片段、同意记录、生成的 voice_id、删除计划和使用日志一并保存。

语音设计

当用户需要自定义语音人设,但没有获得合法授权的说话人样本时,使用语音设计。

有记录的工作流程:

  • POST /v1/voice_design 接受必填的语音描述 prompt 和必填的 preview_text。
  • preview_text 文档规定的最大长度为 500 个字符。
  • 如果省略 voice_id,MiniMax 会返回一个生成的 ID。
  • 响应包含 voice_id 和以十六进制编码的预览音频 trial_audio。
  • 定价文档将语音设计列为每个语音 $3;语音设计 API 页面还注明预览音频按字符收费。批量选角前,请核实当前费用。

制作启发:

  • 编写语音设计提示词时,应像撰写选角说明一样,涵盖年龄范围、口音或语言、活力、社会角色、语速、音色质感、情绪基调和使用场景。避免受保护群体刻板印象和名人相关描述。

资产保管

将生成的音频和语音 ID 视为制作资产。

  • 保存请求 JSON(去除机密信息)、响应元数据、trace_id、模型 ID、语音 ID、语言设置、成本估算、源脚本哈希和输出文件哈希。
  • 立即将十六进制音频解码为本地 WAV/FLAC/MP3 文件;不要依赖临时 URL。
  • 对于异步输出,请在文档规定的 URL 过期时间(9 小时)之前取回文件。
  • 对于 HTTP URL 输出,请在文档规定的 URL 有效期(24 小时)内取回文件。
  • 每个生成版本都应保持不可变。重新生成时,应创建新的版本 ID,而不是覆盖原文件。
  • 将最终批准的分轨文件与试音、淘汰版本和原始克隆样本分开存放。
  • 对于克隆语音,记录语音是否已删除,以及删除时间;若有意保留,也应记录。

定价、配额与吞吐量

截至 2026-07-10 的公开按量付费价格:

  • speech-2.8-turbo:$60 / 1M characters。
  • speech-2.8-hd:$100 / 1M characters。
  • 旧版 speech-2.6-turbo / speech-02-turbo:$60 / 1M characters。
  • 旧版 speech-2.6-hd / speech-02-hd:$100 / 1M characters。
  • 快速声音克隆:每个声音 $1.5。
  • 声音设计:每个声音 $3。

截至 2026-07-10 的公开速率限制:

  • speech-2.8、speech-2.6 和 speech-02 的 T2A:通用速率限制页面显示为 60 RPM。
  • 声音克隆:60 RPM。
  • 声音设计:20 RPM。
  • 音频订阅套餐公布的 RPM 和声音槽位限制各不相同;生产排期请以账号的实际套餐为准。

生产经验法则:

  • 生成前根据字符数估算成本。最终旁白应预留 10–20% 的重录预算,选角试听则应预留更多。按字符计费,因此应精简脚本:删除不打算读出来的舞台指示。

生产质量检查

先戴耳机对照文本审听,再检查最终视频混音。

最低质量检查清单:

  • 文本准确性:不得漏词、增词、缩写读错或错误添加标点。
  • 发音:检查姓名、产品术语、医疗/法律术语、单位、货币、URL 和代码词。
  • 语言与口音:语言、方言和语码切换方式是否正确。
  • 时长:每句时长是否适合剪辑;停顿是否自然;免责声明是否读得太急。
  • 表现:情绪是否符合场景,而不只是符合标签。
  • 音频质量:不得有削波、音量抽吸、金属嗡鸣、低码率瑕疵、刺耳的齿音,或空间感/效果不匹配。
  • 一致性:跨场景时,声音、模型、采样率、响度和语气是否一致。
  • 无障碍:字幕/字幕文本是否与实际语音输出一致。
  • 权利与披露:克隆/设计的声音是否已获同意、用途是否获准,以及是否满足披露要求。
  • 留存:归档输出文件、元数据、追踪 ID、成本和审批记录。

建议进行的可量化检查:

  • 响度:后期处理时将旁白分轨归一化至目标平台规格,而不要依赖 vol。
  • 字幕:将 MiniMax 字幕时间戳作为起点,再对照渲染后的视频进行核验。
  • 本地化:请精通目标语言的审核人员检查可懂度、惯用表达、文化语气和必要的法律措辞。
  • 交互语音:在实际应用中测量首次音频耗时和打断行为,不要只用单个 WebSocket 样例进行测试。

示例:精心打磨的产品旁白

制作需求:为网络视频制作一段 30 秒的 SaaS 产品发布配音。

方案:试选系统声音,确定一个后使用 speech-2.8-hd 渲染最终音频,并保留单声道 MP3/WAV 分轨用于剪辑。

示例请求:

{
  "model": "speech-2.8-hd",
  "text": "Your support queue should not feel like a guessing game.<#0.35#>\nMeet Northstar Assist: it reads every ticket, finds the real blocker, and drafts the next best reply before your team opens the thread.<#0.5#>\nLess triage. Faster answers. Happier customers.",
  "stream": false,
  "language_boost": "English",
  "voice_setting": {
    "voice_id": "English_Insightful_Speaker",
    "speed": 0.96,
    "vol": 1,
    "pitch": 0,
    "emotion": "calm"
  },
  "pronunciation_dict": {
    "tone": ["Northstar/North star"]
  },
  "audio_setting": {
    "sample_rate": 44100,
    "bitrate": 256000,
    "format": "mp3",
    "channel": 1
  },
  "subtitle_enable": true,
  "subtitle_type": "word",
  "output_format": "hex"
}

预期结果:语气沉稳、高端,且词级字幕数据干净准确。

可能的问题:

  • 除非调整发音规则或脚本拼写,否则“Northstar”的读法可能不够自然。
  • calm 可能无法充分传达发布氛围;可分别测试一版不手动指定情绪的录音,以及一版使用 happy 的录音。
  • 加入音乐后,第一句后的停顿可能显得过长;可使用 <#0.2#> 重新调整,或在后期剪掉静音。

变体:试音时使用 speech-2.8-turbo,批准后再用 HD 重新生成选定的录音。

示例:经批准的克隆语音本地化

生产意图:使用员工经批准的语音,为内部培训视频进行本地化。

方法:收集书面同意,上传干净的源样本,克隆语音,通过短句合成激活语音,然后生成本地化场景音轨。

工作流:

  1. 确认同意范围涵盖合成语音、内部培训、目标语言、保留期限和删除政策。
  2. 准备一段 60–90 秒的 WAV 音频,其中只有一位说话者、噪声较低、没有音乐,语速自然。
  3. 使用 purpose=voice_clone 上传。
  4. 调用 voice_clone,传入项目范围内的 voice_id、text_validation、accuracy,并仅在需要时进行规范化。
  5. 在目标语言中生成 10 秒的试听音频,并明确设置 language_boost。
  6. 在生成所有场景之前,请说话者或项目负责人批准试听音频。

克隆请求正文示例:

{
  "file_id": 123456789012345680,
  "voice_id": "AcmeTraining_JRivera_2026Q3",
  "text": "Welcome to the safety briefing. Today we will cover the three checks every operator must complete before starting a shift.",
  "model": "speech-2.8-hd",
  "language_boost": "English",
  "text_validation": "Welcome to the safety briefing. Today we will cover the three checks every operator must complete before starting a shift.",
  "accuracy": 0.75,
  "need_noise_reduction": false,
  "need_volume_normalization": true,
  "aigc_watermark": true
}

预期结果:返回克隆语音 ID;如果提供了试听文本/模型,还会返回预览 URL。

失败情况:

  • ASR 验证结果与样本转录文本不匹配,导致克隆被拒绝。
  • 源音频中有音乐、多人说话或房间回声,导致语音听起来不稳定。
  • 克隆语音只有在成功用于合成后,才会出现在 get_voice 中。
  • 如果 7 天内从未使用,克隆语音会被删除。

变体:如果克隆需要更稳定的相似度,可将时长不足 8 秒的提示音频及其转录文本与 clone_prompt 配合使用。

示例:低延迟 Agent 响应

生产意图:一种能够在生成答案的同时朗读答案的语音助手。

方法:使用 WebSocket T2A、speech-2.8-turbo、短分块和播放缓冲区。

工作流:

  1. 使用 Bearer 身份验证连接 wss://api.minimax.io/ws/v1/t2a_v2。
  2. 发送 task_start,并附上模型、语音、语言和 MP3 音频设置。
  3. 等待 task_started。
  4. 每个响应片段发送一条简洁的 task_continue 消息。
  5. 按顺序播放收到的十六进制音频分块,并将其追加到保存的录音中。
  6. 响应完成后发送 task_finish。

task_start 示例:

{
  "event": "task_start",
  "model": "speech-2.8-turbo",
  "language_boost": "English",
  "voice_setting": {
    "voice_id": "English_radiant_girl",
    "speed": 1.08,
    "vol": 1,
    "pitch": 0,
    "english_normalization": true
  },
  "audio_setting": {
    "sample_rate": 32000,
    "bitrate": 128000,
    "format": "mp3",
    "channel": 1
  }
}

task_continue 示例:

{
  "event": "task_continue",
  "text": "I found three matching invoices. The newest one is from June tenth for four hundred eighty dollars."
}

预期结果:合成过程中会收到音频分块,随后 is_final 事件会标记该片段已完成。

失败情况:

  • 在 task_started 之前发送文本。
  • 连接空闲时间过长而关闭。
  • 选择 HD,而 Turbo 已能满足质量要求且感知延迟更低。
  • 助手文本句子过长、分句过多,即使延迟可以接受,听起来仍不自然。

变体:对于非交互式 IVR 提示词库,可通过 HTTP 或异步方式渲染相同文案,并离线对文件进行质量检查。

生产环境上线前需核实的资料

评论

支持 Markdown