---
name: "transcribe"
description: "Use this skill when the task matches: Convert extracted audio into timestamped transcripts during Opal jobs."
---
# Transcribe

## Purpose

Convert extracted audio into a timestamped transcript during an Opal Job.

## Current API

Transcription is an internal job phase.

```txt
POST /api/upload
GET  /api/jobs/:jobId
GET  /api/jobs/:jobId/transcript
POST /api/jobs/:jobId/cancel
```

## Inputs

```json
{
  "jobId": "string",
  "audioPath": "string"
}
```

## Outputs

```json
{
  "jobId": "string",
  "transcript": {
    "fullText": "string",
    "segments": [
      {
        "start": 0,
        "end": 0,
        "text": "string"
      }
    ]
  }
}
```

## Steps

1. Extract mono WAV audio with FFmpeg.
2. Run faster-whisper with `WHISPER_MODEL`.
3. Save transcript JSON.
4. Persist transcript metadata on the job.
5. Continue to moment discovery.

## Rules

Use faster-whisper.
Preserve timestamps.
Do not summarize.
Do not remove important speech.
Support cancellation of the active transcription process.
