Qwen: Qwen3 ASR 0.6B
Qwen3-ASR-0.6B is Qwen’s compact speech-recognition model for turning spoken or sung audio into text with language identification. It shares the family’s 30-language and 22-dialect coverage, with offline and streaming workflows and separate forced alignment for timed text.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Qwen3-ASR-0.6B is the compact edition of Qwen’s Qwen3-ASR speech-recognition family. It accepts audio and produces a transcript with a language label. The maker positions 0.6B around the balance between recognition quality and efficiency, while 1.7B is the separately named larger edition. Both draw on Qwen3-Omni’s audio understanding and share the documented recognition coverage and unified offline/streaming approach. The compact edition can supply the transcription step in a workflow for voice notes, caption preparation or searchable recordings.
Languages, dialects and supported recordings
Qwen documents recognition and language identification for 30 languages and 22 Chinese dialects, with support for English accents from different regions. Its language table lists Chinese, English, Cantonese, Arabic, German, French, Spanish, Portuguese, Indonesian, Italian, Korean, Russian, Thai, Vietnamese, Japanese, Turkish, Hindi, Malay, Dutch, Swedish, Danish, Finnish, Polish, Czech, Filipino, Persian, Greek, Hungarian, Macedonian and Romanian. The recognized audio types include speech, singing voice and songs with background music. The smaller edition retains this family coverage; its size is not a different list of supported languages.
Offline recognition and input preparation
The official toolkit can receive audio through a file reference, encoded audio or a waveform with its sample rate. It supports offline processing of multiple recordings, automatic language detection and a specified supported language. The documented result contains the language and recognized text. Select the spoken language when you know it, or let the model identify it when a collection contains unknown languages. Keep each recording’s identifier next to its result so a transcript can be traced back to the correct source.
For a set of voice notes, retain a separate result for each note and review names, numbers and unclear phrases against the recording before turning the text into tasks or a summary. For a spoken tutorial, use the transcript to locate passages and check the wording of each instruction. For singing, listen to the vocal line when checking lyrics rather than accepting a word only because it makes sense in the song. These are preparation and review steps for the text artifact; summarizing, translating or interpreting the transcript can follow as separate operations.
Streaming text and finalizing a recording
Qwen3-ASR uses the same model for offline and streaming recognition. In the producer’s streaming example, incoming audio chunks update a retained recognition state, and a finalization step yields the completed text and language. This supports an incremental display that is useful for a running transcript. Treat the interim display as the current recognition state and retain the final result after the recording ends, with the audio source available for correction.
The documented streaming implementation does not support batch inference or returning timestamps in that streaming flow. Streaming text, a collection of offline transcriptions and timed caption preparation are therefore distinct producer workflows. The maker’s example chunk sizes and token settings illustrate an implementation; they are not universal latency, concurrency or audio-length promises. Choose the workflow according to whether the useful result is text arriving during a recording, completed text for a collection, or text aligned to a timeline.
Timed text uses Qwen3-ForcedAligner
Qwen3-ForcedAligner-0.6B is a separate alignment model, despite sharing the 0.6B size label with this ASR edition. It takes a text–audio pair and predicts word- or character-level start and end times. The producer’s offline ASR toolkit can invoke it when timestamps are requested. Its documented language set is Chinese, English, Cantonese, French, German, Italian, Japanese, Korean, Portuguese, Russian and Spanish, and its stated alignment span is up to five minutes of speech. That narrower language set and five-minute span belong to forced alignment, not to the ASR model’s general transcription coverage.
For subtitles, prepare a reviewed transcript in the recording’s language, align it where the supported workflow applies, and inspect the segment boundaries while playing the source. A usable caption artifact keeps the wording and timings together. If a transcript word is incorrect, correct the wording against the audio rather than assuming that a time span validates it. This separation makes it clear whether a problem is in recognition, in the supplied text or in the placement of a caption boundary.
Long-audio output and recognition checks
The Qwen3-ASR family supports long recordings. Its inference examples advise allowing more generated tokens for longer audio, so ensure that the transcription reaches the end of the recording and that an output allowance has not cut it short. The published examples do not establish a universal numeric context window or maximum ASR recording duration. Keep useful sections and their source positions associated when organizing an extended recording for review. Check obscured words, changes of language, overlapping speech, unusual names and sung syllables against the original sound. The practical result is recognized text with a language label, ready for search or a subsequent content step, with timing added through the separate alignment workflow when needed.
Ailoot Ultra · Transcription POST /v1/audio/transcriptions qwen/qwen3-asr-0.6b
qwen/qwen3-asr-0.6bOverview
Qwen3-ASR-0.6B is Qwen’s compact speech-recognition model for turning spoken or sung audio into text with language identification. It shares the family’s 30-language and 22-dialect coverage, with offline and streaming workflows and separate forced alignment for timed text.
- Accepted inputs
- Audio
- Results
- Text
Available in Ailoot · inputs & methods
Ailoot Ultra · Transcription POST /v1/audio/transcriptions
- Input types
audio- Output types
text
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits qwen/qwen3-asr-0.6b | Default— |
Fieldinput_audio | Typeobject | RequirementRequired | Values & limits | Default— |
Fieldlanguage | Typestring | RequirementOptional | Values & limits | Default— |
Fieldtemperature | Typenumber | RequirementOptional | Values & limits Minimum: 0 Maximum: 1 | Default— |
Fieldresponse_format | Typestring | RequirementOptional | Values & limits json, verbose_json | Defaultjson |
Fieldtimestamp_granularities | Typearray | RequirementOptional | Values & limits | Default— |
Fieldprovider | Typeobject | RequirementOptional | Values & limits | Default— |
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input_audio |
Parametermaterial_types | Contractaudio |
Parametermaterial_conditions | ContractRead an actual WAV file and encode its real bytes for the declared JSON input_audio; no multipart route is advertised for this exact JSON-only declaration. |
Lifecycle: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · actual returned task_id or media library record
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pricing
How the final charge is calculated
The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Estimated rates for comparison
Prices by configuration
Match each charge to the conditions shown. Use one rate for each set of alternative configurations.
| Configuration | Rate schedule | Forecast quantity | Billing unit | Charge |
|---|---|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Forecast quantity— | Billing unit— | Charge Input · Input tokens · Estimate for comparison only — / 1K tokens Output · Output tokens · Estimate for comparison only — / 1K tokens Input · Cache read · Estimate for comparison only — / 1K tokens Input · Cache write · Estimate for comparison only — / 1K tokens Input · Cache write, 1 hour · Estimate for comparison only — / 1K tokens |
| Configurationinput audio second | Rate schedule— | Forecast quantity— | Billing unitper input audio second | Charge Input · input audio second · Estimate for comparison only $0.00000666 per input audio second |
| ConfigurationEstimated generation cost | Rate schedule— | Forecast quantityone generation estimate | Billing unit— | Charge Output · Estimated generation cost · Estimate for comparison only $0.00000666 estimate before generation This estimate is not an additional charge or a fixed rate for the completed generation. |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Transcription
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
import base64
audio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()
if not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')
if len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')
request={'model': 'qwen/qwen3-asr-0.6b', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}
request['input_audio']['data']=base64.b64encode(audio).decode('ascii')
Path('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Keep the complete original response and headers. Read every returned segment, word and usage field.
# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.
Receive and save results
Ailoot Ultra · Transcription
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Other content reads
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Keep all completed results
Keep every complete returned response, file and content part.
Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.
If the original response needs checking
Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation.
Response fields
| Field | Type |
|---|---|
Fieldtext | Type |
Fieldusage | Type |
Fieldsegments[] | Type |
Fieldwords[] | Type |
Fieldspeaker fields | Type |
Fieldtimestamps | Type |
Aliases
Model aliases
Ailoot Ultra qwen/qwen3-asr-0.6b
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Qwen: Qwen3 ASR 0.6B
- What inputs and results are available?
POST /v1/audio/transcriptions·qwen/qwen3-asr-0.6b:audio→text- Which fields does the request use?
POST /v1/audio/transcriptions·qwen/qwen3-asr-0.6b:model,input_audio,language,temperature,response_format,timestamp_granularities,provider- What limits apply?
POST /v1/audio/transcriptions·qwen/qwen3-asr-0.6b:temperature.minimum:0;temperature.maximum:1