# Speech to text

> Part of the ChinaAPI documentation. HTML: https://dash.chinaapi.ai/docs/api/speech-to-text/

`POST /v1/audio/transcriptions` takes `multipart/form-data`, not JSON: send `model` as a form field and the recording as a file part named `file`. The reply is `{"text": "…"}`. `POST /v1/audio/translations` is the same shape and returns English. Unlike the video endpoints this is synchronous, so a long recording holds the connection open until it finishes.

**POST /v1/audio/transcriptions**

```
curl https://api.chinaapi.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -F model=stepaudio-2.5-asr \
  -F file=@speech.mp3

# {"text":" China api text to speech verification."}
```

## stepaudio-2.5-asr — Lowest cost

With `step-asr`, `step-asr-1.1` and `stepaudio-2-asr-pro`. `stepaudio-2.5-asr` is by a wide margin the cheapest transcription model on the endpoint; the `pro` and `1.1` variants cost roughly fifteen times as much and are worth it only when accuracy on difficult audio matters.

## stepaudio-2.5-asr-stream — Streaming

With `step-asr-1.1-stream`. These return partial text as the audio is consumed rather than one block at the end, which is what you want for live captioning; both cost more per minute than their non-streaming counterparts.

## qwen3-asr-flash — Multilingual and dialects

With `glm-asr-2512` and `mimo-v2.5-asr`. `qwen3-asr-flash` and `glm-asr-2512` are the multilingual options, and `mimo-v2.5-asr` is the one tuned for Chinese dialects.

> [!NOTE]
> Tip
>
> Billing counts the length of the audio you upload, at a thousand tokens to the minute, and the duration is rounded up to a whole second before that conversion — so a five second clip bills as 83 tokens and anything under a second still bills as if it were one. The transcript itself is free. Cost therefore scales with recording length and not with how much speech the recording contains, which makes trimming silence worthwhile.
