Qwen: Qwen3 ASR 1.7B
Qwen3-ASR-1.7B converts speech and singing into text and identifies the language. Qwen documents 30 languages, 22 Chinese dialects, and offline or streaming recognition; word-level timing uses a separate Qwen3-ForcedAligner workflow.
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-1.7B is Qwen’s larger speech-recognition model in the Qwen3-ASR family. It takes audio and returns recognized text together with a language label. The family builds on the audio-understanding foundation of Qwen3-Omni and uses one ASR model for offline and streaming recognition. The 1.7B edition places emphasis on recognition quality, while the separately named 0.6B edition emphasizes efficiency. Those editions remain distinct choices even though they share the documented language coverage and recognition workflows.
Language identification and audio coverage
The manufacturer lists 30 languages and 22 Chinese dialects, as well as English accents from multiple regions. The language list includes 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 supported audio types include speech, singing voice and songs with background music. These capabilities make the transcript useful for interviews, lectures, voice recordings and lyric review, with the original audio retained for checking difficult passages.
Preparing audio and obtaining a transcript
The producer’s toolkit accepts an audio-file reference, encoded audio or a waveform paired with its sample rate, and its offline workflow can process a collection of recordings. It can detect the language automatically or use a specified supported language. Choose automatic detection for an unknown recording; provide the actual spoken language when it is known and relevant to the task. The example result exposes the detected or selected language and recognized text. The language setting guides recognition of the recording rather than defining a request to rewrite its content in another language.
For an interview, keep the recording associated with its date, subject and source identifier, then use the returned text as a searchable transcript. For a lecture, preserve technical terms and numerical expressions during review instead of silently replacing unclear words with a plausible explanation. For a song, check the recognized lyrics while listening to the vocal line, especially where music masks a syllable. The transcript can become input for a separate summarization, translation or editorial step once its wording has been checked against the audio.
Streaming recognition and its scope
The same ASR family supports recognition while audio arrives. The manufacturer’s streaming example feeds successive audio chunks into a retained recognition state, displays interim text, then finishes the stream to obtain the final language and transcript. Keep a distinction between the current incremental text and the completed result when preparing live captions or a running transcript. The documented streaming implementation does not combine streaming with batch inference or return timestamps; a timed transcript uses a different workflow. These are producer implementation details rather than a promise about an application’s transport or live-caption interface.
Word or character timing with a separate aligner
Qwen3-ForcedAligner-0.6B aligns an audio recording with supplied text and predicts word- or character-level start and end times. It is a separate model from both Qwen3-ASR editions. The ASR toolkit can use that aligner when timestamps are requested in its offline transcription flow, or alignment can be run on an existing text–audio pair. The aligner’s documented coverage is 11 languages: Chinese, English, Cantonese, French, German, Italian, Japanese, Korean, Portuguese, Russian and Spanish. Its stated speech span is up to five minutes; this is the aligner’s scope, not a five-minute ceiling for ASR transcription.
For subtitle preparation, first obtain and review the transcript, then align it to the source recording where that alignment workflow is appropriate. Use the returned start and end times to prepare caption segments and inspect their boundaries while listening. Alignment associates supplied words with audio; it should not be treated as proof that an incorrect transcript has been corrected. The useful artifact is a checked transcript with timing information that remains connected to the recording it describes.
Long recordings and practical limits
The family supports long-audio transcription, and the official examples instruct users to allow more generated text for longer input. Their illustrative token settings are configuration choices rather than a universal model context or audio-duration limit. Plan the output allowance around the recording and check that the ending is present. Review names, quantities, language changes, obscured words and overlapping speech against the original sound. Language coverage and robustness to challenging audio do not guarantee a flawless transcript for every accent, recording or musical arrangement. A complete result preserves the recognized wording, its language and its relationship to the audio so it can be searched, edited or used in a later content workflow.
Ailoot Ultra · Transcription POST /v1/audio/transcriptions qwen/qwen3-asr-1.7b
qwen/qwen3-asr-1.7bOverview
Qwen3-ASR-1.7B converts speech and singing into text and identifies the language. Qwen documents 30 languages, 22 Chinese dialects, and offline or streaming recognition; word-level timing uses a separate Qwen3-ForcedAligner workflow.
- 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-1.7b | 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.000015 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.000015 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-1.7b', '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-1.7b
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Qwen: Qwen3 ASR 1.7B
- What inputs and results are available?
POST /v1/audio/transcriptions·qwen/qwen3-asr-1.7b:audio→text- Which fields does the request use?
POST /v1/audio/transcriptions·qwen/qwen3-asr-1.7b:model,input_audio,language,temperature,response_format,timestamp_granularities,provider- What limits apply?
POST /v1/audio/transcriptions·qwen/qwen3-asr-1.7b:temperature.minimum:0;temperature.maximum:1