// Name: Multi-Method Audio Transcriber
// Description: Transcribe audio/video via local Whisper or Deepgram with auto ffmpeg extraction, batch, and save/copy options.
// Author: dallascrilley
// GitHub: dallascrilley
import "@johnlindquist/kit"
type Method = "auto" | "whisper" | "deepgram"
const audioExts = new Set([
"mp3","wav","m4a","flac","aac","ogg","oga","opus","wma","aiff","aif","alac","amr","midi","mid","caf","ra","rm","mp2","mka","mp1","aifc","pcm","wavpack","wv","ape"
])
const videoExts = new Set([
"mp4","mov","avi","mkv","webm","wmv","flv","m4v","mpg","mpeg","3gp","3g2","mts","m2ts","ts","vob","ogv","mxf","rmvb","divx","asf","f4v","mpe"
])
const ensureFfmpeg = () => {
if (!which("ffmpeg")) {
throw new Error("ffmpeg not found. Please install ffmpeg and ensure it's on your PATH.")
}