MiMo V2.5 ASR API 接口、参数 & 代码示例

xiaomi/mimo-v2.5-asr

MiMo-V2.5-ASR 是由小米(Xiaomi)MiMo 团队开发的一款端到端(End-to-End)开源语音识别(ASR)模型。模型于2026年7月正式发布,定位为全链路语音模型的“听觉基座”,适用于应对真实世界中复杂多变的语音场景。

模型 ID
xiaomi/mimo-v2.5-asr
模型系列
MiMo
更新日期
模型能力
音频识别
模型价格(每分钟)
¥ 0.01

MiMo V2.5 ASR 模型介绍:

MiMo-V2.5-ASR 是由小米(Xiaomi)MiMo 团队开发的一款端到端(End-to-End)开源语音识别(ASR)模型。模型于2026年7月正式发布,定位为全链路语音模型的“听觉基座”,适用于应对真实世界中复杂多变的语音场景。

🚀 核心能力与亮点

MiMo-V2.5-ASR 的核心优势在于其对复杂场景的强大适应能力,主要体现以下几个方面:

  • 多语言与方言:原生支持普通话、英语,以及粤语、吴语、闽南语、四川话等多种主流中文方言。
  • 中英混用识别:能够无缝识别中英文混合的语音(Code-Switch),无需预先指定语言类别
  • 复杂声学环境:在强噪音、远场拾音、多人交叉对话等极具挑战的场景下,依然能保持高鲁棒性的识别效果。
  • 专业内容识别:对古诗词、专业术语、人名地名等知识密集型内容有精准的识别能力。
  • 歌曲识别:能在人声与伴奏混合的音频中,高精度地提取中英文歌词。
  • 原生标点输出:模型能结合语音的韵律和语义,直接生成带标点符号的文本,实现“即转即用”,无需额外后处理。

🧠 技术架构与参数

  • 模型规模:总参数量约为 75亿 (7.5B)
  • 音频处理路径
    • 前端使用一个 6层 的输入局部变换器(input_local_transformer),负责处理音频信号。
    • 采用 8通道 的残差向量量化(RVQ)编码器,将音频转换为离散的编码。
  • 语言模型(LM)
    • 隐藏层维度(Hidden Size):4096
    • 注意力头数:32
    • 词表大小:151,680
  • 训练方法:模型通过大规模中间训练(Mid-training)高质量有监督微调(Supervised Fine-tuning) 以及一种新颖的强化学习算法进行优化。

API 接口地址:

https://wcode.net/api/gpt/v1/audio/transcriptions

此 API 接口兼容 OpenAI 的 Speech-to-Text 接口规范,可直接使用 OpenAI 的 SDK 来调用。仅需替换以下配置即可:

  1. base_url 替换为 https://wcode.net/api/gpt/v1
  2. api_key 替换为从 https://platform.wcode.net 获取到的 API Key

具体可参考下方的各编程语言代码示例中的 OpenAI SDK 调用示例。

请求方法:

POST

各编程语言代码示例:

# TODO: 以下代码中的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

方式一:上传本地音频文件(multipart/form-data):

curl --request POST 'https://wcode.net/api/gpt/v1/audio/transcriptions' \
  --header 'Authorization: Bearer API_KEY' \
  --form 'file=@/path/to/audio.mp3' \
  --form 'model=xiaomi/mimo-v2.5-asr'

方式二:公网音频 URL(application/json):

curl --request POST 'https://wcode.net/api/gpt/v1/audio/transcriptions' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer API_KEY' \
  --data '{
    "model": "xiaomi/mimo-v2.5-asr",
    "file_url": "https://example.com/audio.mp3"
  }'

方式三:Base64 编码音频(application/json):

curl --request POST 'https://wcode.net/api/gpt/v1/audio/transcriptions' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer API_KEY' \
  --data '{
    "model": "xiaomi/mimo-v2.5-asr",
    "file_base64": "<BASE64_ENCODED_AUDIO>",
    "file_format": "mp3"
  }'
import Foundation

let url = URL(string: "https://wcode.net/api/gpt/v1/audio/transcriptions")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer API_KEY", forHTTPHeaderField: "Authorization")  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

let boundary = UUID().uuidString
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

var body = Data()
body.append("--\(boundary)
".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"model\"

".data(using: .utf8)!)
body.append("xiaomi/mimo-v2.5-asr
".data(using: .utf8)!)
body.append("--\(boundary)
".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"file\"; filename=\"audio.mp3\"
".data(using: .utf8)!)
body.append("Content-Type: audio/mpeg

".data(using: .utf8)!)
body.append(try! Data(contentsOf: URL(fileURLWithPath: "/path/to/audio.mp3")))
body.append("
--\(boundary)--
".data(using: .utf8)!)

request.httpBody = body

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  if let data = data {
    print(String(data: data, encoding: .utf8) ?? "")
  }
}
task.resume()
import 'package:http/http.dart' as http;
import 'dart:io';

Future<void> main() async {
  var request = http.MultipartRequest(
    'POST',
    Uri.parse('https://wcode.net/api/gpt/v1/audio/transcriptions'),
  );

  request.headers['Authorization'] = 'Bearer API_KEY';  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  request.fields['model'] = 'xiaomi/mimo-v2.5-asr';
  request.files.add(await http.MultipartFile.fromPath('file', '/path/to/audio.mp3'));

  var streamedResponse = await request.send();
  var response = await http.Response.fromStream(streamedResponse);

  print(response.body);
}
require 'uri'
require 'net/http'

url = URI("https://wcode.net/api/gpt/v1/audio/transcriptions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer API_KEY'  # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

form_data = [
  ['model', 'xiaomi/mimo-v2.5-asr'],
  ['file', File.open('/path/to/audio.mp3')]
]
request.set_form form_data, 'multipart/form-data'

response = http.request(request)
puts response.read_body
use reqwest::multipart;

#[tokio::main]
pub async fn main() {
  let url = "https://wcode.net/api/gpt/v1/audio/transcriptions";

  let file_part = multipart::Part::bytes(std::fs::read("/path/to/audio.mp3").unwrap())
    .file_name("audio.mp3")
    .mime_str("audio/mpeg")
    .unwrap();

  let form = multipart::Form::new()
    .text("model", "xiaomi/mimo-v2.5-asr")
    .part("file", file_part);

  let client = reqwest::Client::new();
  let response = client.post(url)
    .header("Authorization", "Bearer API_KEY")  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
    .multipart(form)
    .send()
    .await
    .unwrap();

  println!("{}", response.text().await.unwrap());
}
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://wcode.net/api/gpt/v1/audio/transcriptions");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer API_KEY");  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_mime *mime = curl_mime_init(hnd);
curl_mimepart *part = curl_mime_addpart(mime);
curl_mime_name(part, "model");
curl_mime_data(part, "xiaomi/mimo-v2.5-asr", CURL_ZERO_TERMINATED);
part = curl_mime_addpart(mime);
curl_mime_name(part, "file");
curl_mime_filedata(part, "/path/to/audio.mp3");
curl_easy_setopt(hnd, CURLOPT_MIMEPOST, mime);

CURLcode ret = curl_easy_perform(hnd);
package main

import (
  "bytes"
  "fmt"
  "io"
  "mime/multipart"
  "net/http"
  "os"
)

func main() {
  url := "https://wcode.net/api/gpt/v1/audio/transcriptions"

  body := &bytes.Buffer{}
  writer := multipart.NewWriter(body)

  _ = writer.WriteField("model", "xiaomi/mimo-v2.5-asr")

  file, _ := os.Open("/path/to/audio.mp3")
  defer file.Close()

  part, _ := writer.CreateFormFile("file", "audio.mp3")
  io.Copy(part, file)
  writer.Close()

  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Authorization", "Bearer API_KEY")  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  req.Header.Set("Content-Type", writer.FormDataContentType())

  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  respBody, _ := io.ReadAll(res.Body)

  fmt.Println(string(respBody))
}
using System.Net.Http.Headers;


var client = new HttpClient();

using var form = new MultipartFormDataContent();
form.Add(new StringContent("xiaomi/mimo-v2.5-asr"), "model");
form.Add(new ByteArrayContent(await File.ReadAllBytesAsync("/path/to/audio.mp3")), "file", "audio.mp3");

var request = new HttpRequestMessage(HttpMethod.Post, "https://wcode.net/api/gpt/v1/audio/transcriptions");
request.Headers.Add("Authorization", "Bearer API_KEY");  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
request.Content = form;

var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
var client = new RestClient("https://wcode.net/api/gpt/v1/audio/transcriptions");

var request = new RestRequest("", Method.Post);

request.AddHeader("Authorization", "Bearer API_KEY");  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

request.AddParameter("model", "xiaomi/mimo-v2.5-asr");
request.AddFile("file", "/path/to/audio.mp3", "audio/mpeg");

var response = client.Execute(request);
Console.WriteLine(response.Content);
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

let data = new FormData();
data.append('model', 'xiaomi/mimo-v2.5-asr');
data.append('file', fs.createReadStream('/path/to/audio.mp3'));

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://wcode.net/api/gpt/v1/audio/transcriptions',
  headers: {
    'Authorization': 'Bearer API_KEY',  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
    ...data.getHeaders()
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
OkHttpClient client = new OkHttpClient();

RequestBody requestBody = new MultipartBody.Builder()
  .setType(MultipartBody.FORM)
  .addFormDataPart("model", "xiaomi/mimo-v2.5-asr")
  .addFormDataPart("file", "audio.mp3",
    RequestBody.create(MediaType.parse("audio/mpeg"), new File("/path/to/audio.mp3")))
  .build();

Request request = new Request.Builder()
  .url("https://wcode.net/api/gpt/v1/audio/transcriptions")
  .post(requestBody)
  .addHeader("Authorization", "Bearer API_KEY")  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  .build();

Response response = client.newCall(request).execute();
$client = new \GuzzleHttp\Client();

$response = $client->post('https://wcode.net/api/gpt/v1/audio/transcriptions', [
  'headers' => [
    'Authorization' => 'Bearer API_KEY',  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  ],
  'multipart' => [
    ['name' => 'model', 'contents' => 'xiaomi/mimo-v2.5-asr'],
    ['name' => 'file', 'contents' => fopen('/path/to/audio.mp3', 'r')],
  ],
]);

echo $response->getBody();
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://wcode.net/api/gpt/v1/audio/transcriptions",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 5,
  CURLOPT_TIMEOUT => 300,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => [
    'model' => 'xiaomi/mimo-v2.5-asr',
    'file' => new CURLFile('/path/to/audio.mp3', 'audio/mpeg', 'audio.mp3'),
  ],
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer API_KEY",  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  ],
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
  echo "cURL Error #:" . $error;
} else {
  echo $response;
}
import requests
import json

url = "https://wcode.net/api/gpt/v1/audio/transcriptions"

headers = {
  "Authorization": "Bearer API_KEY",  # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
}

data = {
  "model": "xiaomi/mimo-v2.5-asr",
}

with open("/path/to/audio.mp3", "rb") as audio_file:
  response = requests.post(url, headers=headers, files={"file": audio_file}, data=data)

print(json.dumps(response.json(), indent=4, ensure_ascii=False))
from openai import OpenAI

client = OpenAI(
  base_url="https://wcode.net/api/gpt/v1",
  api_key="API_KEY"  # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
)

with open("/path/to/audio.mp3", "rb") as audio_file:
  transcription = client.audio.transcriptions.create(
    model="xiaomi/mimo-v2.5-asr",
    file=audio_file,
  )

print(transcription.text)

请求参数:

重要提示:由于模型架构不同,部分参数可能仅适用于特定的模型。

model(模型 ID)

  • 参数:model

  • 必选string

语音识别模型 ID。调用时使用模型详情页的模型 ID。

stream(流式响应)

  • 参数:stream

  • 可选,boolean

  • 取值范围:true | false

  • 默认:false

是否以流式方式返回识别结果。

当前接口暂不支持流式响应;请勿设置 stream: true,否则将返回错误。

file_format(音频格式)

  • 参数:file_format

  • 可选,string

指定音频的格式扩展名。

音频格式支持 mp3wav;使用 file_base64 时必填,且须与音频实际格式一致。

language(语言)

  • 参数:language

  • 可选,string

  • 默认:auto

指定音频的主要语言,有助于提升识别准确率。

默认 auto;也可传 ISO-639-1 语言代码(例如:enzh)。

file_url(音频 URL)

  • 参数:file_url

  • 可选,string

待识别的公网音频文件 URL。(备注:filefile_urlfile_base64 三选一,使用任一方式传入音频文件均可)

file_base64(音频 Base64)

  • 参数:file_base64

  • 可选,string

待识别的音频文件的 Base64 编码内容。(备注:filefile_urlfile_base64 三选一,使用任一方式传入音频文件均可)

音频格式为 wavmp3

response_format(响应格式)

  • 参数:response_format

  • 可选,string

  • 取值范围:json | text

  • 默认:json

指定接口响应的内容格式。

默认为 json,响应体含 textusage 字段;设为 text 时仅返回识别结果的纯文本。

file(音频文件)

  • 参数:file

  • 可选,file

待识别的本地音频文件,通过 multipart/form-data 上传。(备注:filefile_urlfile_base64 三选一,使用任一方式传入音频文件均可)

音频格式为 wavmp3;mp3 对应 MIME audio/mpegaudio/mp3,wav 对应 audio/wav


以上文档为标准版 API 接口文档,可直接用于项目开发和系统调用。如果标准版 API 接口无法满足您的需求,需要定制开发 API 接口,请联系我们的 IT 技术支持工程师:

(沟通需求✅ → 确认技术方案✅ → 沟通费用与工期✅ → 开发&测试✅ → 验收交付✅ → 维护升级✅)

最受关注模型

DeepSeek V4 Pro

文本生成、深度思考

DeepSeek V4 Flash

文本生成、深度思考

XiaoMi MiMo V2.5 Pro

文本生成、深度思考

Qwen 3.6 Plus

文本生成、深度思考、视觉理解

Tencent Hunyuan Hy3 Preview

文本生成、深度思考

最新发布模型

MiMo V2.5 ASR

音频识别

Tencent Hunyuan Hy3

文本生成、深度思考、Agent增强

LongCat 2.0

文本生成、深度思考

Qwen Image 2.0

图片生成

Doubao Seedream 5.0 Lite

图片生成

向量化模型

GLM Embedding 3

文本向量化

Qwen3 Embedding 8B

文本嵌入、文本向量化

Doubao Embedding Large Text 250515

文本向量化

Qwen Text Embedding V4

文本向量化

Qwen Text Embedding V1

文本向量化

语音识别模型

MiMo V2.5 ASR

音频识别

Fun ASR Flash

语音识别、方言识别

Qwen3 ASR Flash

语音识别

GLM ASR 2512

语音识别

语音合成模型

CosyVoice V3 Plus

语音合成

CosyVoice V3 Flash

语音合成

GLM TTS

语音合成