yichen-asr

Routes local audio and video transcription between Step ASR and Doubao ASR backends.

2.0k|274|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/mcncarl/yichen-skills --skill yichen-asr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: yichen-asr
Source: https://github.com/mcncarl/yichen-skills/tree/main/yichen-asr
Command: npx skills add https://github.com/mcncarl/yichen-skills --skill yichen-asr

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Choosing between Step ASR and Volcengine Doubao ASR for local audio/video transcription is error-prone: picking the wrong backend wastes paid quota, loses timestamp or SRT capability, and risks double billing when a task is resubmitted to another provider. This Skill acts as a unified routing layer that selects the correct backend, runs a read-only readiness check, and enforces billing-safety rules.

Core Features & Use Cases

  • Offline backend routing: The route_asr.py script picks Step ASR for plain-text transcription and Doubao ASR for timestamps, SRT subtitles, or talking-head rough cuts, without calling any paid API.
  • Read-only readiness check: asr_doctor.py reports whether ffmpeg, scripts, App IDs, and tokens are present without printing secrets or calling paid endpoints.
  • Billing and fallback safety: Once a request is submitted to one provider, the Skill forbids cross-provider resubmission and requires resuming via request ID, cache, or --resume.
  • Use Case: You have a local MP4 interview and need SRT subtitles. The router selects Doubao ASR, the doctor confirms credentials and ffmpeg, and the existing yichen-volc-asr executor produces the transcript and subtitle files.

Quick Start

Ask the assistant to transcribe a local audio or video file with $yichen-asr, stating whether you need plain text, timestamps, SRT subtitles, or a rough cut.

Frequently Asked Questions about yichen-asr

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between Step ASR and Doubao ASR for transcription?

Use Step ASR for plain-text transcription, summaries, or content analysis, and Doubao ASR when you need fine-grained timestamps, SRT subtitles, or talking-head rough cuts. The route_asr.py script makes this choice offline based on your stated requirements.

How do I generate SRT subtitles from a local video file?

SRT subtitle generation is routed to the Doubao ASR backend, which returns structured utterances with time information. Run the router with --need-srt, then execute the yichen-volc-asr transcribe.py script without the --transcribe-only flag.

Can I switch ASR providers after a transcription task was submitted?

No. Once a request has been uploaded or assigned a request ID, cross-provider resubmission is forbidden to avoid duplicate billing. You must resume the original task using its request ID, cache files, or the --resume flag.

Does the readiness check call paid ASR APIs or expose my tokens?

No. asr_doctor.py is read-only: it only reports whether credentials, scripts, and ffmpeg are present, never prints secret values, and never calls paid endpoints. Token presence does not confirm account balance, which requires the Volcengine console.

What credentials are required for Doubao ASR transcription?

Doubao ASR requires an App ID and token supplied via environment variables: VOLC_ASR_TRIAL_APP_ID and VOLC_ASR_TRIAL_TOKEN for trial use, or VOLC_ASR_PAID_APP_ID and VOLC_ASR_PAID_TOKEN for paid use. Step ASR uses STEPFUN_API_KEY or STEP_API_KEY.