Skip to main content
Non-realtime

Qwen-ASR — Transcribe audio

Submit async transcription

POST
/api/v1/services/audio/asr/transcription
cURL
curl --location --request POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/transcription' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-Async: enable" \
--data '{
  "model": "qwen3-asr-flash-filetrans",
  "input": {
    "file_url": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3"
  },
  "parameters": {
    "channel_id":[
      0
    ], 
    "enable_itn": false
  }
}'
{
  "request_id": "92e3decd-0c69-47a8-xxxxxxxxxxxx",
  "output": {
    "task_id": "8fab76d0-0eed-4d20-xxxxxxxxxxxx",
    "task_status": "PENDING"
  }
}

Async process

Async transcription follows a submit-poll pattern:
  1. Submit a task: Send the request. The server returns a task_id.
  2. Get the result: Poll the result API with the task_id until the task completes.

SDK

  1. Call async_call() (Python) or asyncCall() (Java) to submit. The method returns a task object with a task_id.
  2. Call fetch() with the task object or task_id. The SDK polls automatically until the task completes or times out.

REST API

  1. Use this endpoint to submit a task and get a task_id.
  2. Query the result with the task_id.

Audio formats

Audio file URLs must be publicly accessible. Each audio track in channel_id is billed separately. For example, [0, 1] for a single file incurs two charges.

Authorizations

string
header
required

DashScope API key. Get your API key from Qwen Cloud console.

Header Parameters

enum<string>
required

Must be set to enable for asynchronous task submission.

enable

Body

application/json
string
required

The model name. Only applicable to Qwen3-ASR-Flash-Filetrans.

object
required

The input object.

object

Additional parameters.

Response

200-application/json
string

The unique identifier for this call.

92e3decd-0c69-47a8-xxxxxxxxxxxx
object