Nemotron 3.5 Transcribe API 参数文档
Nemotron 3.5 Transcribe 是 NVIDIA 在 2026 年 10 月 28 日发布的开放权重语音模型,用来把录好的音频或视频转成文字:40 种语言自动识别语种,可选词级时间戳和说话人标签(最多 8 人),其中 31 种语言可与英语互译。在 APIMODELS 上它是音频任务接口里的一个模型名 nemotron-3.5-transcribe。单次最长 60 分钟、最大 200 MB;结果是文本和一份完整结果 JSON,不是音频文件。每分钟音频 $0.0025,按秒折算。
价格
| 音频时长 | 价格 |
|---|---|
| 每分钟(每小时 $0.15,按秒折算) | $0.0025 |
| 47 秒 | $0.002 |
| 1 分钟 | $0.0025 |
| 10 分钟 | $0.025 |
| 30 分钟 | $0.075 |
| 60 分钟(单次上限) | $0.15 |
金额 = 音频时长(向上取整到秒)÷ 60 × $0.0025,时长由我们在建任务时测量。时间戳、说话人标签和翻译不另收费。金额最小单位是 $0.0001,不足的按 $0.0001 收(约 2 秒以内的音频)。读不出音频时长的请求直接返回 400、不扣费;任务失败不扣费。
认证
所有请求在 Header 携带 API Key:
Authorization: Bearer YOUR_API_KEY创建任务与查询结果
https://api.apimodels.app/v1/audio/generations·GET/v1/audio/generations?task_id=# Nemotron 3.5 Transcribe — speech to text. audio_url is the only required input.
# timestamps: true adds word-level times and speaker labels to the full result file.
# Billed $0.0025 per minute of audio, prorated by the second.
curl -X POST https://api.apimodels.app/v1/audio/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nemotron-3.5-transcribe",
"audio_url": "https://example.com/meeting.mp3",
"timestamps": true
}'
# Response (async — a task is created):
# { "code": 200, "msg": "success", "data": { "taskId": "clxxx", "state": "pending",
# "model": "nemotron-3.5-transcribe", "reservedCredits": 0.025, "currency": "USD" } }
# Poll every few seconds until completed
curl "https://api.apimodels.app/v1/audio/generations?task_id=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
# { "code": 200, "data": { "state": "completed",
# "resultUrls": ["https://r2.apimodels.app/transcripts/clxxx.json"],
# "resultJson": "{\"text\":\"Thanks for joining...\",\"duration\":600.2,\"transcript_url\":\"https://r2.apimodels.app/transcripts/clxxx.json\",\"task\":\"transcribe\"}" } }任务状态依次是 pending → processing → completed 或 failed。这是整段离线转写,不支持实时流式,处理过程中不会返回部分结果。我们自己实测一段 47 秒、两人对话的英文音频(带时间戳)约 4 秒返回,143 个词各带起止时间和说话人标签;这是一次实测,不是承诺,更长的文件需要更久。failed 时原因在 data.failMsg,费用自动退回。
参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| model | 是 | string | nemotron-3.5-transcribe(nemotron-3-5-transcribe、nemotron-transcribe、nvidia/nemotron-3-5-transcribe 也可) |
| audio_url | 是 | string | 要转写的文件:公网可直接下载的音频(MP3、WAV、M4A、AAC、FLAC、OGG、Opus、WebM),或带音轨的视频(MP4、MOV);也接受 data URI。单个最长 60 分钟、最大 200 MB。 |
| timestamps | 否 | boolean | 默认 false。true 时完整结果文件里带词级起止时间和说话人标签(最多区分 8 人;中文按字)。不能和 target_language 同用。 |
| target_language | 否 | string | 把语音翻译成该语言,返回译文而不是原文转写。取值:en zh ja ko fr de es pt it ru nl pl cs sk hi bg hr da et fi hu lv lt ro sl sv th uk ar el he mt。只保证与英语互译(其他语言 → 英语,或英语 → 这些语言)。 |
| callback_url | 否 | string | 任务完成时我们向该地址 POST 结果;不传就轮询 GET 查询。 |
没有源语言参数:语种自动识别。也没有提示词、热词或输出格式参数;要 SRT / VTT 字幕,用 timestamps: true 拿到逐词时间后自行拼装。
结果字段
任务完成后,查询结果和回调里的 data.resultJson 是一个 JSON 字符串,JSON.parse 一次后得到下面的结构。text 是完整转写(设了 target_language 时是译文);transcript_url 指向完整结果 JSON,同一个地址也在 data.resultUrls[0]。
// JSON.parse(data.resultJson) on a completed task
{
"resultUrls": ["https://r2.apimodels.app/transcripts/clxxx.json"],
"text": "Thanks for joining. Let's start with the roadmap...", // full transcript, or the translation
"duration": 47.2, // seconds of audio
"transcript_url": "https://r2.apimodels.app/transcripts/clxxx.json",
"task": "transcribe" // or "translate"
// "silent": true almost no speech was found; text is empty
// "truncated": true the output hit its ceiling, usually repetition; discard or review
}完整结果 JSON(transcript_url)的结构如下。后三个字段只有 timestamps: true 时才有;中文的 words 是逐字。这个文件和其它结果文件一样保留 30 天,请及时下载或转存。
// The file at transcript_url (kept 30 days)
{
"task": "transcribe",
"duration": 47.2,
"text": "Thanks for joining. Let's start with the roadmap...",
// The three keys below are present only with timestamps: true
"text_with_speakers": "<spk:0> Thanks for joining. <spk:1> Let's start with the roadmap...",
"words": [
{ "word": "Thanks", "start": 0.32, "end": 0.61, "speaker": "0" },
{ "word": "for", "start": 0.61, "end": 0.74, "speaker": "0" }
],
"diarization": [
{ "speaker": 0, "start": 0.32, "end": 1.83 }
]
}回调(callback_url)
不想轮询就在创建请求里传 callback_url。任务到达 completed 或 failed 时,我们向这个地址发一个 HTTP POST(JSON)。投递失败会按指数退避重试,30 分钟内持续重试,直到你的接口返回 2xx。回调地址必须公网可达,localhost 和内网地址在创建时就返回 400。轮询接口照常可用。
POST {your callback_url}
Content-Type: application/json
{
"code": 200,
"msg": "success",
"data": {
"taskId": "clxxx...",
"model": "nemotron-3.5-transcribe",
"state": "completed", // or "failed"
"param": "<JSON string>", // your request, JSON.parse once
"resultJson": "<JSON string> | null", // {"text": "...", "duration": 47.2, "transcript_url": "https://...json"}, JSON.parse once
"failCode": null,
"failMsg": null
}
}支持的语言
- 转写(40 种,自动识别) — 英语、中文普通话、日语、韩语、法语、德语、西班牙语、葡萄牙语、意大利语、俄语、荷兰语、波兰语、捷克语、斯洛伐克语、印地语、保加利亚语、克罗地亚语、丹麦语、爱沙尼亚语、芬兰语、匈牙利语、拉脱维亚语、立陶宛语、罗马尼亚语、斯洛文尼亚语、瑞典语、泰语、土耳其语、乌克兰语、阿拉伯语、孟加拉语、希腊语、希伯来语、印尼语、马耳他语、马拉地语、他加禄语、泰米尔语、泰卢固语、越南语。
- 翻译(target_language,32 个代码) —
en zh ja ko fr de es pt it ru nl pl cs sk hi bg hr da et fi hu lv lt ro sl sv th uk ar el he mt。只保证与英语互译;两种非英语之间直接互译不保证质量。
限制
- 整段离线转写,不支持实时流式。
- 单次最长 60 分钟、最大 200 MB;更长的录音切开后分段提交。
- 时间戳(timestamps: true)和翻译(target_language)不能同用,同用返回 400。
- 说话人标签最多区分 8 人;音色相近的说话人可能被合并成一个。
- 词级时间戳的结束时间误差通常在几十毫秒,开始时间可能偏差约 0.5 秒,英文更明显。
- 同一段音频多次转写,个别字词可能不同。
- 中文结果里外国人名常被音译,部分数字可能写成汉字。
- silent: true 表示几乎没有声音,text 为空;truncated: true 表示输出到达上限(通常是重复),建议丢弃或人工复核。
常见报错
参数问题在创建时同步返回 400({"code": 400, "msg": "..."}),不会建任务、不扣费。下表 msg 是当前原文(N 为实际数值)。
| msg | 原因 / 怎么改 |
|---|---|
audio_url is required for transcription | 没传 audio_url。 |
timestamps must be true or false | timestamps 传成了字符串或数字;只接受布尔值。 |
target_language must be one of en, zh, ja, … | target_language 不在 32 个可翻译的语言代码里(例如越南语 vi 只能转写,不能作为翻译目标)。 |
timestamps and target_language cannot be combined: word timestamps and speaker labels are only available for transcription, not translation | 同时传了 timestamps: true 和 target_language。二选一:要时间戳和说话人就不翻译,要翻译就去掉 timestamps。 |
Unable to read the audio duration — provide a publicly reachable audio file, or a video that has an audio track | 我们读不出音频时长:链接需要登录、已过期,或文件里没有音轨。换一个公网可直接下载的链接。 |
audio is N minutes long — the limit is 60 minutes per request; split it and submit the parts separately | 音频超过 60 分钟。切开后分段提交。 |
处理阶段的失败以 state: failed 结束,原因在 data.failMsg,费用自动退回。常见的几种:
| failMsg | 原因 |
|---|---|
The audio could not be downloaded. Make sure audio_url is publicly reachable without login and does not expire within a few minutes. | 处理时下载不到文件:链接要求登录,或是几分钟内就过期的临时链接。 |
No audio could be decoded from this file. Supported: mp3, wav, m4a / aac, flac, ogg / opus, webm, or an mp4 / mov video with an audio track. | 文件里解不出声音:格式不支持,或视频没有音轨。 |
The audio file is larger than 200 MB. Compress it or split it and submit the parts separately. | 文件超过 200 MB。压缩或切开后分段提交。 |
The audio is longer than 60 minutes. Split it and submit the parts separately. | 解码后的音频超过 60 分钟。 |
- 401:API Key 缺失或无效。
- 402:余额不足以支付这段音频的费用。
说明
- audio_url 要用任何人都能直接下载的地址;需要登录的网盘链接、几分钟就过期的临时链接会导致任务失败。
- 结果文件(transcript_url)保留 30 天后自动删除,请及时下载或转存。
- 请只上传你有权处理的录音。
试一试:Playground;用例、价格例子和常见问题见 Nemotron 3.5 Transcribe 模型页。
参考资料
模型事实(发布日期、支持的语言、说话人数量)和评测数字来自 NVIDIA 发布的资料。按 NVIDIA 技术报告公布的词错率(WER,越低越好;不是本站实测),Nemotron 3.5 Transcribe 对 Whisper-large-v3:Open ASR 9 个英文测试集平均 4.71% 对 6.66%,长音频(Earnings21/22 与 CORAAL 平均)10.98% 对 13.92%,AMI 会议录音 7.81% 对 13.63%,7 种语言平均 4.62% 对 7.94%。
相关
常见问题
Nemotron 3.5 Transcribe API 多少钱?
每分钟音频 $0.0025(每小时 $0.15),按向上取整到秒的音频时长折算:10 分钟 $0.025,60 分钟 $0.15。时间戳、说话人标签和翻译不另收费,任务失败不扣费。
Nemotron 3.5 Transcribe 请求需要哪些字段?
model(nemotron-3.5-transcribe)和 audio_url(公网可直接下载的音频或视频文件,或 data URI)。timestamps(默认 false)、target_language 和 callback_url 可选。没有源语言字段,语种自动识别。
Nemotron 3.5 Transcribe 的转写结果在返回的哪个字段?
轮询 GET /v1/audio/generations?task_id= 直到 state 为 completed,再对 data.resultJson 做一次 JSON.parse:text 是全文,duration 是音频秒数,transcript_url(同时也是 data.resultUrls[0])是完整结果 JSON,保留 30 天。
时间戳和翻译能同时用吗?
不能。timestamps: true 和 target_language 同时传,会在建任务之前返回 400:词级时间戳和说话人标签只在转写时提供。
Nemotron 3.5 Transcribe 对文件有什么限制?
MP3、WAV、M4A、AAC、FLAC、OGG、Opus、WebM 音频,或带音轨的 MP4、MOV 视频,单次最长 60 分钟、最大 200 MB。它是整段离线转写,不支持实时流式。