# Poll transcription progress

- **Method:** `GET`
- **Path:** `/api/v1/transcription/progress`
- **Operation ID:** `transcription_progress_api_v1_transcription_progress_get`
- **Tags:** Transcription

Poll transcription status after an async `/transcription/start` call.

Returns progress percentage, status, and — once complete — the
transcribed text, detected language, and optional word-level timestamps.

## Effective servers

- `http://127.0.0.1:8100`

  Voice Creator Pro on this computer

## Responses

### 200 Successful Response

**Content type:** `application/json`

schema: `TranscriptionProgressResponse`

- **`message` (required)**: `string`

  Human-readable progress message
- **`percent` (required)**: `integer`

  Transcription progress percentage (0-100)
- **`status` (required)**: `string`

  Transcription status (idle, transcribing, complete, error)
- **`error_code`**: `string | null`

  Machine-readable failure code (e.g. aligner\_unavailable) when status is error
- **`language`**: `string | null`

  Detected language (available when complete)
- **`text`**: `string | null`

  Transcribed text (available when complete)
- **`timestamps`**: `array | null`

  Word-level timestamps (available when complete, if requested)

  **Items:**

  schema: `TimestampItem`
  - **`end_time` (required)**: `number`

    End time in seconds
  - **`start_time` (required)**: `number`

    Start time in seconds
  - **`text` (required)**: `string`

    Word or token text
  - **`speaker`**: `string | null`

    Speaker label when speaker detection ran

**Example:**

```json
{
  "status": "",
  "message": "",
  "percent": 1,
  "text": "",
  "timestamps": [
    {
      "text": "",
      "start_time": 1,
      "end_time": 1,
      "speaker": "SPEAKER_00"
    }
  ],
  "language": "",
  "error_code": ""
}
```

## Schemas

- `TimestampItem` — shown above.
- `TranscriptionProgressResponse` — shown above.
