tingwu-asr

Transcribe audio and video files via Alibaba Cloud Tingwu REST API into Markdown.

636|91|Updated Jan 7, 2026
One-click install
npx skills add https://github.com/cat-xierluo/legal-skills --skill tingwu-asr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tingwu-asr
Source: https://github.com/cat-xierluo/legal-skills/tree/main/skills/tingwu-asr
Command: npx skills add https://github.com/cat-xierluo/legal-skills --skill tingwu-asr

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, oss2, yt-dlp, playwright, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Local speech-to-text tools like FunASR may be unavailable, too slow, or inaccurate for long recordings. This Skill offloads transcription to Alibaba Cloud Tingwu, turning audio/video files or podcast links into structured Markdown transcripts with speaker separation, timestamps, and AI-generated summaries.

Core Features & Use Cases

  • Cloud Transcription Pipeline: Uploads local audio/video (mp3, wav, m4a, mp4, mkv, etc.) to Alibaba OSS via STS credentials, starts transcription, polls status, and converts results into funasr-compatible Markdown with timestamps and speaker labels.
  • Link Transcription & Speaker Diarization: Accepts URLs (Xiaoyuzhou, YouTube, Bilibili) via yt-dlp download, with 2-speaker separation, multi-language support (Chinese, English, Japanese, Cantonese, mixed), and parallel multi-file processing.
  • Async Mode & Enrichment: Submits long videos (up to 6 hours) asynchronously with background polling, extracts PPT slides from videos, appends smart analysis (keywords, agenda, key points, Q&A), and archives results.
  • Use Case: A lawyer records a 2-hour client meeting video and needs a searchable transcript with speaker labels and embedded presentation slides for case documentation.

Quick Start

Ask the AI to transcribe your audio or video file with Tingwu, for example: "Transcribe /path/to/meeting.mp4 with speaker separation using tingwu-asr."

Frequently Asked Questions about tingwu-asr

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

FAQPage Schema
How do I transcribe audio files to text with Alibaba Tingwu?

Run the transcribe.py script with your file path, for example python3 scripts/transcribe.py audio.mp3 --lang cn. The script uploads the file to Alibaba OSS, starts cloud transcription, polls until done, and writes a Markdown transcript with timestamps next to the source file and in an archive directory.

How to transcribe a podcast or YouTube link to text?

Pass the URL directly to transcribe.py; it uses yt-dlp to download the audio from sources like Xiaoyuzhou, YouTube, or Bilibili, then uploads it for cloud transcription. This local-upload path is required because Tingwu's native podcast-link channel disables speaker separation.

Does Tingwu speaker separation support more than two speakers?

No. Testing shows Tingwu's roleSplitNum only works with the value 2, which separates two speakers; values 0, 1, 3, and 4 produce no separation. The skill defaults to --speakers 2 for reliable two-person diarization.

What file formats and size limits does Tingwu transcription support?

Supported formats include mp3, wav, m4a, wma, aac, ogg, flac for audio and mp4, mov, mkv, webm, avi for video. Audio files are limited to 500MB, video to 6GB, and a single file can be up to 6 hours long.

Why does Tingwu login fail or cookie expire?

Tingwu authentication relies on cookies that expire over time. Re-run the built-in Playwright script login_pw.py, which opens a browser, fills credentials from config/.env, and saves fresh cookies including the HttpOnly login ticket directly to config/cookies.json.

Can I transcribe long videos without blocking the terminal?

Yes. Use the --async flag to upload and submit the task, which returns immediately with a task ID saved to pending_tasks.json. Then run poll_tasks.py --monitor in the background to poll status and automatically generate the Markdown output when finished.