Skip to content

ASR Provider Setup ​

This page covers how to register, obtain credentials, and configure ASR providers in BiBi Keyboard (说点啥).

Before you start ​

  • Open Settings → Smart → Speech Recognition Settings and select your provider under "Speech Recognition Provider".
  • Cloud providers usually require an API Key / Access Token.
  • Local models require downloading/importing model files (first load may take a few seconds).

Security

API keys and access tokens are sensitive. Do not share them publicly. If you suspect leakage, revoke the key/token immediately and create a new one.

Provider overview ​

ProviderTypeStreamingBest for
SiliconFlowCloud❌Beginner-friendly, low cost
VolcengineCloud✅/❌Low-latency, real-time streaming
ElevenLabsCloud✅/❌High accuracy (model-dependent)
OpenAI (compatible)Cloud✅/❌OpenAI/compatible file or Realtime transcription
OpenRouterCloud❌Use an OpenRouter API key with compatible ASR models
Alibaba Qianwen (formerly DashScope)Cloud✅/❌Balanced accuracy and cost
GeminiCloud❌Small usage / file-based recognition
MiMo (Xiaomi)Cloud❌MiMo v2.5 ASR / audio-understanding models
SonioxCloud✅/❌Stable streaming, international usage
StepAudioCloud❌StepFun online ASR, Chinese/English and ITN
Zhipu GLMCloud❌Simple integration, lower cost
CohereCloud❌Cohere Transcribe file-based multilingual ASR
Local models (SenseVoice / FunASR Nano / Qwen3-ASR / Parakeet / FireRedASR V2 / X-ASR)LocalPartial ✅Privacy-first, offline usage

SiliconFlow ​

SiliconFlow provides a built-in free ASR option (no key required) and paid models (own key).

Quick start (no API key required) ​

  1. In Settings → Smart → Speech Recognition Settings, select SiliconFlow
  2. Keep the “Free ASR” toggles enabled
  3. Switch between the free models as needed: FunAudioLLM/SenseVoiceSmall, TeleAI/TeleSpeechASR, and the XingChen series (XingChenAGI/XingChenASR-V3.2, XingChenASR-V3.2-Ultra, XingChenGSR-V1.0)

Use your own API key (optional) ​

With your own SiliconFlow API key, paid models are also available: Qwen/Qwen3-Omni-30B-A3B-Instruct, Qwen/Qwen3-Omni-30B-A3B-Thinking, and Qwen/Qwen3-ASR-1.7B.

  1. Sign up / log in: https://cloud.siliconflow.cn/
  2. Create an API key in the console
  3. Paste it into the SiliconFlow section in BiBi Keyboard

SiliconFlow API key

Volcengine ​

Volcengine (Doubao Voice) has strong Chinese recognition and supports both streaming and non-streaming.

1. Create an app and enable ASR services ​

  1. Open the console: https://console.volcengine.com/speech/app?opt=create
  2. Enable these capabilities:
    • Streaming Speech Recognition Large Model
    • Audio File Recognition Large Model (Express)

Create app and enable capabilities

2. Get APP ID and Access Token ​

  1. Open the service page: https://console.volcengine.com/speech/service/10011
  2. Copy APP ID and Access Token under the credential section

APP ID and Access Token

3. Configure in BiBi Keyboard ​

  1. Open Settings → Smart → Speech Recognition Settings
  2. Select Volcengine
  3. Paste APP ID into X-Api-App-Key
  4. Paste Access Token into X-Api-Access-Key
  5. Pick a Doubao model directly under Recognition model:
    • Streaming (live results, needs a stable network): Doubao streaming speech recognition 2.0 (default), Doubao streaming speech recognition 1.0
    • Non-streaming (uploads the full recording after you stop): Doubao standard file recognition 2.0, Doubao standard file recognition 1.0, Doubao turbo file recognition 1.0 (fastest)

Configure Volcengine in app

Note

If you enabled both streaming and audio-file recognition when creating the app, they share the same credentials.

ElevenLabs ​

ElevenLabs scribe_v1 is non-streaming only; scribe_v2 is streaming only.

Get an API key ​

  1. Open: https://elevenlabs.io/app/settings/api-keys
  2. Create an API key
  3. Enable Speech to Text permission for the key

Create ElevenLabs keyEnable Speech to Text permission

OpenAI (compatible endpoints) ​

The OpenAI provider supports OpenAI-format transcription endpoints, plus compatible third-party Audio Transcriptions, Chat Completions, or Realtime endpoints.

  1. In Settings → Smart → Speech Recognition Settings, select OpenAI
  2. Use "Add channel" to create one or more OpenAI ASR configurations, for separating official endpoints, proxy endpoints, or different models
  3. Fill in:
    • ASR Endpoint (e.g. https://api.openai.com/v1/audio/transcriptions, https://api.openai.com/v1/chat/completions, or a compatible endpoint)
    • API Key (sent automatically with requests; no extra configuration needed)
    • Model name (e.g. gpt-4o-mini-transcribe / whisper-1)
  4. If the endpoint is a multimodal Chat Completions API, enable Use Completions API and optionally fill in a custom prompt
  5. If the endpoint supports the Realtime API, enable "Streaming (Realtime)" for live partial results

OpenAI settings example

Which OpenAI API should I use?

Use audio/transcriptions for standard transcription models, chat/completions for multimodal models that accept audio input, and Realtime when you need live partial results. You should check the API format with your OpenAI provider.

Custom compatible endpoints

For custom compatible audio/transcriptions endpoints, BiBi Keyboard uploads WAV audio to improve compatibility. In this case, "Compress audio before upload" does not apply to that custom OpenAI transcription endpoint.

OpenRouter ​

OpenRouter lets BiBi Keyboard call compatible ASR / multimodal transcription models through OpenRouter. It is currently used in non-streaming mode.

  1. Create an API key in OpenRouter Keys
  2. In Settings → Smart → Speech Recognition Settings, select OpenRouter
  3. Fill in:
    • ASR Endpoint (usually keep the default or use a compatible /audio/transcriptions endpoint)
    • OpenRouter API Key
    • Model (for example qwen/qwen3-asr-flash-2026-02-10)
  4. Save, then use Settings → Input → Recording Test to verify the setup

Alibaba Qianwen (formerly DashScope) ​

Alibaba Qianwen offers good accuracy and cost efficiency, with partial streaming support. In the app, this provider was renamed from "DashScope" to Alibaba Qianwen, and the request endpoints moved to Qianwen domains.

1. Create an API key ​

  1. Open the API keys page: https://platform.qianwenai.com/home/api-keys
  2. Create and copy an API key

2. Configure in BiBi Keyboard ​

  1. Open Settings → Smart → Speech Recognition Settings and select Alibaba Qianwen
  2. Paste the API key and save
  3. Pick a Request endpoint region: Mainland China (maas.qianwenaiapi.com, default) or International (maas.qwencloudapi.com)
  4. Choose a model:
    • Streaming: Qwen-Audio-3.0-ASR-Flash-Streaming (default), Qwen-Audio-3.1-ASR-Flash-Streaming, Qwen-Audio-3.1-ASR-Flash-Message, Fun-ASR-Realtime, or Qwen3-ASR-Flash-Realtime
    • Non-streaming: Qwen-Audio-3.0-ASR-Flash (default), Qwen-Audio-3.1-ASR-Flash, Fun-ASR-Flash, Qwen3-ASR-Flash, Qwen3.8-Omni-Flash, Qwen3.5-Omni-Flash, or Qwen3.5-Omni-Plus

Gemini ​

Gemini is commonly used for file-based recognition and small usage.

  1. Open: https://aistudio.google.com/api-keys
  2. Create and copy a key
  3. Paste it into the Gemini section in BiBi Keyboard

Gemini API key

Call mode ​

Call mode offers two transcription paths, both non-streaming (audio is uploaded once after recording stops):

  • Gemini: multimodal audio understanding with a Gemini model; enable "Reduce thinking" for faster, closer-to-verbatim results.
  • Transcribe: the dedicated Gemini Transcribe API, sending the audio inline in a single request. The default model is gemini-3.5-transcribe. Extra options:
    • Recognition language: Automatic, Mandarin Chinese, Traditional Cantonese, US English, Japanese, Korean, or a custom BCP-47 code
    • Smart transcription: when enabled, removes fillers, resolves speech corrections, and restructures formatting (may change the verbatim content); when disabled, keeps verbatim transcription including fillers, repetitions, and false starts

MiMo (Xiaomi) ​

MiMo supports mimo-v2.5-asr and mimo-v2.5 audio-understanding models.

  1. Prepare a MiMo API key
  2. In Settings → Smart → Speech Recognition Settings, select MiMo
  3. Choose an endpoint preset:
    • Token Plan (Mainland China / Singapore / Europe)
    • Pay-as-you-go
    • Custom endpoint
  4. Fill in the MiMo API key for the current endpoint. API keys are stored separately per endpoint preset, so re-check the active slot after switching endpoints
  5. Choose a model and recognition language (Auto / Chinese / English)
  6. For the mimo-v2.5 audio-understanding model, you can fill in a System Prompt; enable "Disable thinking" if you do not need reasoning output

Soniox ​

Soniox supports both streaming and non-streaming; streaming is relatively stable.

Get an API key ​

  1. Log in: https://console.soniox.com
  2. In your project, go to API keys
  3. Create and copy the API key, then paste it into BiBi Keyboard

Soniox API keys

Recognition mode ​

In Soniox settings, choose the endpoint detection behavior under "Recognition mode":

  • Low latency: faster endpoint detection, best for realtime input
  • Default: balances latency and accuracy
  • High accuracy: more sensitive endpoint detection, best for accuracy-sensitive scenarios

StepAudio ​

StepAudio is StepFun's online ASR service. In BiBi Keyboard it is currently used in non-streaming mode.

  1. Create an API key in the StepFun console: https://platform.stepfun.com/
  2. In Settings → Smart → Speech Recognition Settings, select StepAudio
  3. Choose an endpoint preset:
    • Pay-as-you-go
    • Coding Plan
    • Custom
  4. Paste the StepFun API Key for the current endpoint. API keys are stored separately per endpoint preset, so re-check it after switching endpoints
  5. Choose the model (stepaudio-2.5-asr, stepaudio-3-asr-max, or a custom model ID), language (Chinese / English / Auto), and enable ITN if needed

Zhipu GLM ​

Zhipu GLM is simple to integrate and usually used as non-streaming.

  1. Get an API key: https://bigmodel.cn/usercenter/proj-mgmt/apikeys
  2. Paste it into the Zhipu section in BiBi Keyboard

Cohere ​

Cohere Transcribe is used as a non-streaming file recognizer in BiBi Keyboard.

  1. Sign in to the Cohere Dashboard and create/copy a Trial API key
  2. Open Settings → Smart → Speech Recognition Settings and select Cohere
  3. Enter the Cohere API Key
  4. Choose a model:
    • cohere-transcribe-03-2026: general multilingual model
    • cohere-transcribe-arabic-07-2026: Arabic/English model
  5. Select the language spoken in the recording. If you enter a custom model ID, also verify that the model accepts the selected language code

Free limit

Cohere Trial API Key is limited to 5 RPM (requests per minute).

Language selection

The general model offers Chinese, English, Arabic, Japanese, Korean, and several European languages. The Arabic model offers Arabic and English only.

Local model setup ​

Local models are ideal for offline usage and privacy. Each model trades off speed, quality, and streaming support.

Model selection tips ​

  • SenseVoice(recommended): non-streaming; lightweight fast and balanced; supports language settings
  • FunASR Nano: non-streaming; language selection, native ITN, and MLT Nano multilingual variant
  • Qwen3-ASR(recommended): non-streaming; local 0.6B / 1.7B models, good Chinese recognition, optional rule-based ITN
  • Parakeet: non-streaming; V3 for several European languages, V2 for English
  • FireRedASR V2: non-streaming / pseudo-streaming; replaces the old TeleSpeech local engine
  • X-ASR(recommended): local streaming; Chinese/English 480ms model with thread count, unload policy, and optional ITN
  1. Select a local provider (e.g. SenseVoice / X-ASR)
  2. In the model manager, choose a variant and download
  3. If notification permission is granted, you can track download/unzip progress in notifications

If the download is canceled or interrupted, the incomplete download task is cached locally. Downloading the same model again attempts to resume from that point. Partial downloads are kept for up to 7 days with a total cache limit of about 2 GB; older files are removed first. If the source does not support resuming, the app automatically downloads the full file again.

Reduce first-recognition latency

Local models may take a few seconds on first load. Every local provider supports an "Aggressive model loading" option: when enabled, the model is preloaded as soon as the keyboard or floating ball is first shown, reducing the wait for the first recognition.

Download local models in-app

Import from local files (optional) ​

If you prefer adding models from local files, download the ZIP first, then choose "Import from local" in the model manager.

Direct links

The links below point to BiBi-Keyboard model ZIPs. If you see 404 or slow downloads, use the models page (Releases: models) or a GitHub mirror site.

SenseVoice (non-streaming) ​

X-ASR (streaming) ​

FireRedASR V2 (non-streaming / pseudo-streaming) ​

FunASR Nano (non-streaming) ​

Qwen3-ASR (non-streaming) ​

Parakeet (non-streaming) ​

Universal punctuation model (optional) ​

Released under the Apache 2.0 License.