chough

Fast ASR CLI tool for transcribing audio/video files. Use when user wants to transcribe audio/video, generate subtitles (VTT), convert speech to text with timestamps (JSON), or optimize transcription for low memory.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "chough" with this command: npx skills add hyperpuncher/dotagents/hyperpuncher-dotagents-chough

Installation

Arch Linux: paru -S chough-bin macOS: brew install --cask hyperpuncher/tap/chough Windows: winget install chough Source: go install github.com/hyperpuncher/chough/cmd/chough@latest

Requires: ffmpeg for audio/video support

Quick Reference

# Basic transcription (text to stdout)
chough audio.mp3

# Pipe audio from stdin
cat audio.mp3 | chough

# JSON with timestamps
chough -f json podcast.mp3 > transcript.json

# WebVTT subtitles
chough -f vtt -o subs.vtt video.mp4

# Low memory (30s chunks)
chough -c 30 audiobook.mp3

# Use remote server (requires CHOUGH_URL)
chough --remote audio.mp3

Flags

FlagDescriptionDefault
-c, --chunk-sizeChunk size in seconds60
-f, --formatOutput: text, json, vtttext
-o, --outputOutput filestdout
-r, --remoteTranscribe via CHOUGH_URL server-
--versionShow version-

Chunk Size Guide

  • 15-30s: Low memory (~500MB), higher error rate
  • 60s: Balanced (default) - ~1.6GB RAM

Remote Mode

Use --remote flag to transcribe via an HTTP server instead of local processing. Requires CHOUGH_URL environment variable.

# Set server URL
export CHOUGH_URL=http://localhost:8080

# Transcribe via remote server
chough --remote audio.mp3

Check for CHOUGH_URL env var → verify /health endpoint → use server if healthy, otherwise fallback to local CLI.

Endpoints

MethodEndpointDescription
POST/transcribeTranscribe audio (file upload, URL, or base64)
GET/healthHealth check with queue status

Examples

# Upload file
curl -X POST http://localhost:8080/transcribe \
  -F "file=@audio.mp3" \
  -F "format=json" \
  -F "chunk_size=60"

# Transcribe from URL
curl -X POST http://localhost:8080/transcribe \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/audio.mp3", "format": "vtt"}'

# Base64 audio
curl -X POST http://localhost:8080/transcribe \
  -H "Content-Type: application/json" \
  -d '{"base64": "...", "format": "text"}'

# Health check
curl http://localhost:8080/health

Performance

DurationTimeSpeed
15s2.0s7.4x realtime
1min4.3s14.1x realtime
5min16.2s18.5x realtime
30min90.2s19.9x realtime

Troubleshooting

Out of memory: Use -c 30 or -c 15 Model fails: Check internet, verify $XDG_CACHE_HOME is writable ffmpeg errors: Ensure ffmpeg is installed

Notes

  • First run downloads ~650MB model to $XDG_CACHE_HOME/chough/models
  • Auto-extracts audio from video files
  • Set CHOUGH_MODEL env var to use custom model path
  • Set CHOUGH_URL env var for --remote mode (must start with http:// or https://)
  • VTT groups tokens into subtitle cues automatically

Docs

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

scrapling

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

brave-search

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

simplify-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

requesting-code-review

No summary provided by upstream source.

Repository SourceNeeds Review