Qwen3 ASR Flash API 接口、参数 & 代码示例

qwen/qwen3-asr-flash

Qwen3-ASR-Flash 是阿里巴巴通义千问团队推出的一款高性能语音识别(ASR,Automatic Speech Recognition)模型服务。它基于强大的 Qwen3-Omni 多模态大模型底座,并经过了数千万小时多模态语音数据的精细训练,旨在提供极其快速、精准且具备大模型理解能力的语音转文字体验。

模型 ID
qwen/qwen3-asr-flash
模型系列
Qwen
更新日期
模型能力
语音识别
模型价格(每分钟)
¥ 0.02

Qwen3 ASR Flash 模型介绍:

Qwen3-ASR-Flash 是阿里巴巴通义千问团队推出的一款高性能语音识别(ASR,Automatic Speech Recognition)模型服务。它基于强大的 Qwen3-Omni 多模态大模型底座,并经过了数千万小时多模态语音数据的精细训练,旨在提供极其快速、精准且具备大模型理解能力的语音转文字体验。依托强大的基座模型、海量的文本与多模态数据、千万小时音频数据,Qwen3-ASR-Flash 实现了高精度的语音识别功能,能够自动判断语种并准确识别多个语种的语音,在复杂的音频环境下能够保证精确转录。

核心技术特征和优势:

  1. 强大的多语言与方言支持

该模型能够在一个统一的模型内完美处理 11 种语言 及其各种口音,并且支持全自动语种检测。在多语言混合的音频中,无需手动切换或配置配置:

  • 中文: 不仅精通普通话,还对粤语、四川话、闽南话、吴语等主要方言有极强的识别能力。
  • 英语: 完美兼容美式英语、英式英语及各类地方口音。
  • 其他外语: 日语、韩语、俄语、法语、德语、西班牙语、意大利语、葡萄牙语、阿拉伯语。
  1. 独创的“文本热词/提示词”注入(Prompted ASR)

这是 Qwen3-ASR-Flash 最具颠覆性的创新之一。用户可以以任何格式向模型输入“上下文文本提示(Text Context)”。

  • 纠偏与定制: 你可以输入专有名词、行业术语、人名或特定业务背景。模型会结合这些提示进行智能推理,极大提升生僻词或行业黑话的识别准确率。
  1. 极强的复杂声学环境抗干扰能力

得益于海量数据的洗礼,该模型在恶劣的音频条件下表现极度稳健:

  • 歌声识别: 它是市面上少数擅长“歌词转文字”的模型,即使在有强烈背景音乐的歌曲中也能精准剥离并识别歌词。
  • 环境噪声与远场: 对嘈杂环境、远场录音、多人混杂交谈具有极高的容错率。
  • 智能过滤: 能自动识别并过滤掉静音、呼吸声、叹气等非言语噪声。

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=qwen/qwen3-asr-flash'

方式二:公网音频 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": "qwen/qwen3-asr-flash",
    "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": "qwen/qwen3-asr-flash",
    "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("qwen/qwen3-asr-flash
".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'] = 'qwen/qwen3-asr-flash';
  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', 'qwen/qwen3-asr-flash'],
  ['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", "qwen/qwen3-asr-flash")
    .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, "qwen/qwen3-asr-flash", 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", "qwen/qwen3-asr-flash")

  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("qwen/qwen3-asr-flash"), "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", "qwen/qwen3-asr-flash");
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', 'qwen/qwen3-asr-flash');
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", "qwen/qwen3-asr-flash")
  .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' => 'qwen/qwen3-asr-flash'],
    ['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' => 'qwen/qwen3-asr-flash',
    '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": "qwen/qwen3-asr-flash",
}

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="qwen/qwen3-asr-flash",
    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

指定音频的格式扩展名。

language(语言)

  • 参数:language

  • 可选,string

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

ISO-639-1 语言代码(例如:enzh

file_url(音频 URL)

  • 参数:file_url

  • 可选,string

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

enable_itn(逆文本归一化)

  • 参数:enable_itn

  • 可选,boolean

  • 默认:false

是否开启 ITN(Inverse Text Normalization),将识别结果中的数字、日期等转为书面形式。

该功能仅适用于中文和英文音频。开启后,语音识别结果中的中文数字(如"一百二十三")或英文数字(如"one hundred")将自动转换为阿拉伯数字(如"123")。

file_base64(音频 Base64)

  • 参数:file_base64

  • 可选,string

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

response_format(响应格式)

  • 参数:response_format

  • 可选,string

  • 取值范围:json | text

  • 默认:json

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

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

file(音频文件)

  • 参数:file

  • 可选,file

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


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

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

最受关注模型

DeepSeek V4 Pro

文本生成、深度思考

DeepSeek V4 Flash

文本生成、深度思考

Qwen 3.6 Plus

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

XiaoMi MiMo V2.5 Pro

文本生成、深度思考

Kimi K2.6

文本生成、深度思考、工具调用

最新发布模型

Qwen3 ASR Flash

语音识别

GLM TTS

语音合成

GLM ASR 2512

语音识别

Doubao Seed Evolving

多模态、深度思考、视觉理解

GLM 5.2

深度思考、长任务能力

向量化模型

GLM Embedding 3

文本向量化

Qwen3 Embedding 8B

文本嵌入、文本向量化

Doubao Embedding Large Text 250515

文本向量化

Qwen Text Embedding V4

文本向量化

Qwen Text Embedding V1

文本向量化

语音识别模型

Qwen3 ASR Flash

语音识别

GLM ASR 2512

语音识别

语音合成模型

GLM TTS

语音合成