// Package whisperx declares the adapter contract for WhisperX transcription. package whisperx import ( "context" "time" ) // Client is the adapter boundary for WhisperX transcription jobs. type Client interface { Transcribe(ctx context.Context, req TranscribeRequest) (TranscribeResult, error) } // TranscribeRequest describes one speaker audio transcription request. type TranscribeRequest struct { SpeakerID string AudioPath string OutputRawTranscriptPath string } // TranscribeResult describes the transcript output and adapter metadata. type TranscribeResult struct { OutputRawTranscriptPath string Attempts int HTTPStatus int Duration time.Duration Metadata map[string]any }