Fun-ASR
Overview
The Fun ASR version, updated in April 2026, fully supports the seven major dialect systems of traditional Chinese (Mandarin/Wu/Xiang/Gan/Hakka/Min/Yue) and is compatible with over 20 regional Mandarin accents. It features specific optimizations for the rhythm, meter, and literary expression characteristics of classical Chinese poetry, improving the accuracy of poetry recognition and making it suitable for cultural heritage, educational explanations, and audiobooks. Improved punctuation prediction and text normalization capabilities make the output text more consistent with written expression habits; numbers, dates, and amounts are automatically converted to standard formats, enhancing readability and professionalism. The language support has been expanded to include English, Japanese, Korean, Vietnamese, Thai, Indonesian, Malay, Filipino, Hindi, Arabic, French, German, Spanish, Portuguese, Russian, Italian, Dutch, Swedish, Danish, Finnish, Norwegian, Greek, Polish, Czech, Hungarian, Romanian, Bulgarian, Croatian, and Slovak, totaling 30 languages. This version is equivalent to the snapshot released on November 7, 2025.
Input
Output
Features
Prefix Completion
Enable Partial Mode when calling the Qwen API to make the model continue strictly from your provided prefix text.View docsFunction Calling
Use function calling to connect large language models with external tools and systems.View docsCache
Context Cache stores shared prefixes for long-context requests to reduce repeated computation, improve latency, and lower cost.View docsStructured Outputs
Structured Outputs help ensure the model returns a JSON string in the expected format.View docsPricing
- Audio Duration $0.000035Per second
Rate Limits
- RPMRequests Per Minute600
API Reference
Call APIfrom http import HTTPStatus
from dashscope.audio.asr import Transcription
import dashscope
import os
import json
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
task_response = Transcription.async_call(
model='fun-asr',
file_urls=['https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_female2.wav',
'https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_male2.wav']
)
transcribe_response = Transcription.wait(task=task_response.output.task_id)
if transcribe_response.status_code == HTTPStatus.OK:
print(json.dumps(transcribe_response.output, indent=4, ensure_ascii=False))
print('transcription done!')