curl --request POST \
--url https://api.modellix.ai/api/v1/alibaba/fun-asr \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"file_url": "https://example.com/sample.wav"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({file_url: 'https://example.com/sample.wav'})
};
fetch('https://api.modellix.ai/api/v1/alibaba/fun-asr', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/alibaba/fun-asr"
payload = { "file_url": "https://example.com/sample.wav" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/alibaba/fun-asr"
payload := strings.NewReader("{\n \"file_url\": \"https://example.com/sample.wav\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.modellix.ai/api/v1/alibaba/fun-asr")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"file_url\": \"https://example.com/sample.wav\"\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/alibaba/fun-asr';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({file_url: 'https://example.com/sample.wav'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/alibaba/fun-asr",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'file_url' => 'https://example.com/sample.wav'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/alibaba/fun-asr")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"file_url\": \"https://example.com/sample.wav\"\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = ["file_url": "https://example.com/sample.wav"] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/alibaba/fun-asr")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/alibaba/fun-asr' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"file_url": "https://example.com/sample.wav"
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-fun-asr-001",
"model_id": "alibaba/fun-asr",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-fun-asr-001"
}
}
}Fun ASR
[Core Function] Fun-ASR transcribes a single public audio file asynchronously. [Strengths] Hot-word vocabulary, optional speaker diarization, channel selection, and language hints. [Best For] Batch transcription of recordings up to 12 hours. [Limitations] Do NOT send more than one file per request. [Routing] Use fun-asr-mtl when multi-language optimization is preferred.
curl --request POST \
--url https://api.modellix.ai/api/v1/alibaba/fun-asr \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"file_url": "https://example.com/sample.wav"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({file_url: 'https://example.com/sample.wav'})
};
fetch('https://api.modellix.ai/api/v1/alibaba/fun-asr', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/alibaba/fun-asr"
payload = { "file_url": "https://example.com/sample.wav" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/alibaba/fun-asr"
payload := strings.NewReader("{\n \"file_url\": \"https://example.com/sample.wav\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.modellix.ai/api/v1/alibaba/fun-asr")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"file_url\": \"https://example.com/sample.wav\"\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/alibaba/fun-asr';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({file_url: 'https://example.com/sample.wav'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/alibaba/fun-asr",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'file_url' => 'https://example.com/sample.wav'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/alibaba/fun-asr")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"file_url\": \"https://example.com/sample.wav\"\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = ["file_url": "https://example.com/sample.wav"] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/alibaba/fun-asr")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/alibaba/fun-asr' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"file_url": "https://example.com/sample.wav"
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-fun-asr-001",
"model_id": "alibaba/fun-asr",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-fun-asr-001"
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Public HTTP/HTTPS URL of the audio file (single file).
1^https?://Optional hot-word vocabulary ID.
Audio track indices (0-based).
Sensitive word filter configuration string.
Enable speaker diarization (mono audio; recommended ≤2h).
Expected speaker count; only valid when diarization_enabled is true.
2 <= x <= 100Language hints. When multiple values are provided, only the first is used.
zh, en, ja, ko, vi, th, id, ms, tl, hi, ar, fr, de, es, pt, ru, it, nl, sv, da, fi, no, el, pl, cs, hu, ro, bg, hr, sk Response
Task submitted successfully. Poll GET /api/v1/tasks/{task_id} until the task completes; the transcription result is returned on the task result.
Response object for asynchronous task submission.
Response code, 0 indicates success
0
Response message
"success"
Task submission details. Poll GET /api/v1/tasks/{task_id} until status is success; the transcription appears in result.resources. See Common API: Query Task Result.
Show child attributes
Show child attributes