Agent skill · writing content · daymade

stepfun-asr

Transcribes Chinese/English audio with StepFun's stepaudio-3-asr-max via its SSE endpoint (not /v1/audio/transcriptions) — one call handles long-form audio with no chunking. Use when migrating from step-asr/stepaudio-2.5-asr, or hitting the misleading "model not supported" error (actually wrong endpoint). Triggers on 阶跃 ASR, 语音识别. Not for TTS with the sibling model (use stepfun-tts).

Why this skill is useful

Adds an executable script for transcribing audio with StepFun's ASR that handles specific endpoint requirements and error management not covered in public documentation.

What it needs

Requires python3 installed locally. Requires stepfun account access. About 8k tokens when loaded. Last updated 2026-08-07. 1,320 stars on the source repository.

What this skill does

StepFun stepaudio-3-asr-max Transcribe audio with StepFun's stepaudio-3-asr-max (StepAudio 3, released 2026-09-15, verified 2026-09-16; supersedes stepaudio-2.5-asr on the same endpoint). Long audio in one call, no chunking — but only if the request hits the right endpoint with the right body shape. The wrong endpoint returns an error that looks identical to "model doesn't exist", which is the #1 reason this skill exists. Companion: for TTS with stepaudio-3-tts (the sibling model), use the stepfun-tts skill — they share an API key but live on different endpoints with different body shapes. Why this skill exists — three traps that cost hours 1. Wrong endpoint, wrong error. stepaudio-3-asr-max does not live on /v1/audio/transcriptions (that endpoint serves the older step-asr family). It lives on /v1/audio/asr/sse — SSE streaming, JSON body, base64 audio. Sending it to the wrong endpoint returns {"error":{"message":"model stepaudio-3-asr-max not supported"}}, which is identical in structure to a genuinely nonexistent model name. People waste hours filing whitelist tickets. 2. Subscription endpoint vs wallet endpoint. Step Plan supports stepaudio-2.5-asr at https://api.stepfun.com/stepplan/v1/audio/asr/sse; the wallet endpoint serves stepaudio-3-asr-max. Choose the endpoint and supported model together. Do not infer that Plan is text-only or that changing only a key changes the billing account. 3. SSE error events are real. Censorship can fire on the ASR side too (rarely). Don't assume only transcript.text.delta and transcript.text.done events arrive — handle type: error events in the stream or you'll silently drop them. Config and auth API key resolves in this order (fail-fast, no defaults): 1. $STEPFUNAPIKEY environment variable 2. ${CLAUDEPLUGINDATA}/config.json with {"apikey": "..."} (cross-session persistence) For an authorized active Pro/Plan subscription, use the Plan route first. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills daymade/stepfun-asr

View the source on GitHub

Browse the @skills marketplace