
Context-aware transcription for proper nouns, technical terms, dialects, and difficult audio including whispers, fast speech, and singing.
Context-aware transcription for proper nouns, technical terms, dialects, and difficult audio including whispers, fast speech, and singing.
EmpirioLabs exposes the standard /v1/audio/transcriptions endpoint and returns the final transcript in the normal transcription response format.
Also known as StepFun StepAudio 3 ASR Max
stepaudio-3-asr-max/v1/audio/transcriptionsstepfun/stepaudio-3-asr-maxLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
StepAudio 3 ASR Max runs through POST /v1/audio/transcriptions. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "stepaudio-3-asr-max",
"audio_url": "https://example.com/meeting-recording.mp3"
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/audio/transcriptions",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "stepaudio-3-asr-max",
"audio_url": "https://example.com/meeting-recording.mp3",
},
)
job = response.json()
# Generation runs as an async job. Poll until it completes.
import time
while True:
status = requests.get(
f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
).json()
if status.get("status") in ("completed", "failed"):
print(status)
break
time.sleep(5)Request parameters supported by the StepAudio 3 ASR Max API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| file | string | - | - | Audio file upload for transcription. |
| file_url | string | - | - | Public URL to an audio file. |
| audio_base64 | string | - | - | Base64 audio payload for JSON requests. |
| enable_itn | boolean | true | - | Enable inverse text normalization, which writes numbers, dates, and currency in their written form. |
| format | enum | wav | wav, mp3, ogg, m4a, pcm | Audio container format. |
| codec | string | - | - | PCM codec such as pcm_s16le. |
| rate | number | - | - | PCM sample rate in Hz. |
| bits | number | - | - | PCM bit depth. |
| channel | number | - | - | PCM channel count. |
Supports wav, mp3, ogg, m4a, and pcm input. PCM requests should include codec, sample rate, bit depth, and channel count. The language is detected automatically and cannot be set; Chinese, English, Japanese, Korean, French, and Spanish are recognized, with languages other than Chinese and English in preview. Inverse text normalization is on by default and can be turned off with enable_itn. Hotwords and word timestamps are not available on this model. Audio is billed by its measured duration, with a one second minimum.
On EmpirioLabs, StepAudio 3 ASR Max is billed pay as you go: Transcription $0.24 per hour of audio. The live rate card on this page always matches what the API charges.
StepAudio 3 ASR Max is served through POST /v1/audio/transcriptions on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs StepAudio 3 ASR Max in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Check out our pricing or reach out if you want your own model deployed on our stack.