Speech to Text (ASR)

Convert the speech content in an audio or video file into text. Supports multiple language codes and can return sentence-level or word-level timestamps.

Create Task

Basic Information

ItemValue
Request MethodPOST
Request Path/task/asr
Content-Typeapplication/json
AuthenticationRaw API key in the Authorization header

Request Body

ParameterTypeRequiredDefaultDescription
file_idstringYes-Uploaded audio or video file ID
languagestringNo"zh-CN"Standard locale language code. See the full supported list below
word_levelbooleanNofalseWhether to return word-level timestamps

Supported Language Codes

Pass the standardized locale code in language. The current implementation accepts 101 values:

Request languageLanguage name
zh-CNChinese (China)
en-USEnglish (United States)
ja-JPJapanese (Japan)
ko-KRKorean (South Korea)
fr-FRFrench (France)
de-DEGerman (Germany)
es-MXSpanish (Mexico)
pt-BRPortuguese (Brazil)
ru-RURussian (Russia)
zh-HKChinese (Hong Kong SAR China)
id-IDIndonesian (Indonesia)
fil-PHFilipino (Philippines)
ms-MYMalay (Malaysia)
th-THThai (Thailand)
ar-SAArabic (Saudi Arabia)
af-ZAAfrikaans (South Africa)
am-ETAmharic (Ethiopia)
as-INAssamese (India)
az-AZAzerbaijani (Azerbaijan)
ba-RUBashkir (Russia)
be-BYBelarusian (Belarus)
bg-BGBulgarian (Bulgaria)
bn-INBangla (India)
bo-CNTibetan (China)
br-FRBreton (France)
bs-BABosnian (Bosnia & Herzegovina)
ca-ESCatalan (Spain)
cs-CZCzech (Czechia)
cy-GBWelsh (United Kingdom)
da-DKDanish (Denmark)
el-GRGreek (Greece)
et-EEEstonian (Estonia)
eu-ESBasque (Spain)
fa-IRPersian (Iran)
fi-FIFinnish (Finland)
fo-FOFaroese (Faroe Islands)
gl-ESGalician (Spain)
gu-INGujarati (India)
ha-NGHausa (Nigeria)
haw-USHawaiian (United States)
he-ILHebrew (Israel)
hi-INHindi (India)
hr-HRCroatian (Croatia)
ht-HTHaitian Creole (Haiti)
hu-HUHungarian (Hungary)
hy-AMArmenian (Armenia)
is-ISIcelandic (Iceland)
it-ITItalian (Italy)
jw-IDJavanese (Indonesia)
ka-GEGeorgian (Georgia)
kk-KZKazakh (Kazakhstan)
km-KHKhmer (Cambodia)
kn-INKannada (India)
la-VALatin (Vatican City)
lb-LULuxembourgish (Luxembourg)
ln-CDLingala (Congo - Kinshasa)
lo-LALao (Laos)
lt-LTLithuanian (Lithuania)
lv-LVLatvian (Latvia)
mg-MGMalagasy (Madagascar)
mi-NZMāori (New Zealand)
mk-MKMacedonian (North Macedonia)
ml-INMalayalam (India)
mn-MNMongolian (Mongolia)
mr-INMarathi (India)
mt-MTMaltese (Malta)
my-MMBurmese (Myanmar (Burma))
ne-NPNepali (Nepal)
nl-NLDutch (Netherlands)
nn-NONorwegian Nynorsk (Norway)
no-NONorwegian (Norway)
oc-FROccitan (France)
pa-INPunjabi (India)
pl-PLPolish (Poland)
ps-AFPashto (Afghanistan)
ro-RORomanian (Romania)
sa-INSanskrit (India)
sd-INSindhi (India)
si-LKSinhala (Sri Lanka)
sk-SKSlovak (Slovakia)
sl-SISlovenian (Slovenia)
sn-ZWShona (Zimbabwe)
so-SOSomali (Somalia)
sq-ALAlbanian (Albania)
sr-RSSerbian (Serbia)
su-IDSundanese (Indonesia)
sv-SESwedish (Sweden)
sw-KESwahili (Kenya)
ta-INTamil (India)
te-INTelugu (India)
tg-TJTajik (Tajikistan)
tk-TMTurkmen (Turkmenistan)
tl-PHFilipino (Philippines)
tr-TRTurkish (Türkiye)
tt-RUTatar (Russia)
uk-UAUkrainian (Ukraine)
ur-PKUrdu (Pakistan)
uz-UZUzbek (Uzbekistan)
vi-VNVietnamese (Vietnam)
yi-DEYiddish (Germany)
yo-NGYoruba (Nigeria)

Tip: fil-PH and tl-PH are both accepted. For Cantonese content from Hong Kong, prefer zh-HK.

Request Example

curl -X POST https://api.ai-mcn.tv:10000/task/asr \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "file_id": "537489015178246",
    "language": "zh-CN",
    "word_level": true
  }'

Success Example

{
  "code": 200,
  "msg": "success",
  "data": {
    "task_id": "537489015178247",
    "task_type": "asr",
    "status": "queued"
  }
}

Query Task Result

Basic Information

ItemValue
Request MethodGET
Request Path/task/asr/{task_id}
AuthenticationRaw API key in the Authorization header

Output Result (output_result)

ParameterTypeDescription
textstringFull recognition text
sentence_listarraySentence-level timestamp list
sentence_list[].textstringSentence text
sentence_list[].start_timenumberSentence start time in seconds
sentence_list[].end_timenumberSentence end time in seconds
word_listarrayWord-level timestamps, returned only when word_level: true
word_list[].textstringWord or token text
word_list[].start_timenumberStart time in seconds
word_list[].end_timenumberEnd time in seconds

Success Example

{
  "code": 200,
  "msg": "success",
  "data": {
    "task_id": "537489015178247",
    "status": "completed",
    "progress": 100,
    "output_result": {
      "text": "Hello world, this is a test clip.",
      "sentence_list": [
        {
          "text": "Hello world, this is a test clip.",
          "start_time": 0.0,
          "end_time": 3.5
        }
      ],
      "word_list": [
        { "text": "Hello", "start_time": 0.0, "end_time": 0.6 },
        { "text": "world", "start_time": 0.6, "end_time": 1.1 }
      ]
    },
    "create_time": "2026-04-05T08:00:00Z",
    "update_time": "2026-04-05T08:00:10Z"
  }
}

Error Codes

Error CodeHTTP StatusDescriptionResolution
6013400Missing file_idPass the file_id field
6015400Unsupported language codeUse one of the supported codes listed above, such as zh-CN or en-US
6004404File not foundVerify the file_id
6502401Authentication failedCheck the Authorization header
6202402Insufficient balanceRecharge in the Dashboard