---
title: "Transcript with segments, speakers and word timings"
method: GET
path: "/v1/notes/{id}/transcript"
tags: ["content"]
---

# Transcript with segments, speakers and word timings

`GET /v1/notes/{id}/transcript`

## Request

- Base URL: `https://api.audiomap.ai`
- URL: `https://api.audiomap.ai/v1/notes/{id}/transcript`
- Auth: HTTP bearer

`format=json` (default) returns structured segments with per-word timings when the provider emits them. The other formats are the same exporters the web app uses and come back as text with their own content type.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `format` 'json' | 'txt' | 'srt' | 'vtt' | 'md'
- `translation` 'es' | 'en' | 'de' | 'fr' | 'it' | 'pt'
- `translationMode` 'translation' | 'both'

## Response `200`

The transcript

- Transcript
  - `noteId` string, uuid
  - `language` string, nullable
  - `languagesDetected` string[]
  - `durationSeconds` integer, nullable
  - `provider` string, nullable
  - `model` string, nullable
  - `fullText` string
  - `speakers` Speaker[]
    - `label` string, nullable: A, B, C… as the diarizer assigned them
    - `name` string, nullable: The name in use: persistent profile, name given by the user, or inferred with high confidence
    - `nameStatus` 'confirmed' | 'suggested' | 'null', nullable: `confirmed` = given by the user; `suggested` = inferred from the content, not confirmed yet
    - `suggestedName` string, nullable: Name inferred from the content and the source metadata
    - `suggestedNameConfidence` number, nullable
    - `speechSeconds` number, nullable
    - `segmentCount` integer, nullable
    - `voiceExcluded` boolean: "Do not recognise this person" is set on this speaker or on its profile: its voice is not analysed nor matched
  - `segments` Segment[]
    - `sequence` integer
    - `startMs` integer
    - `endMs` integer
    - `speakerLabel` string, nullable
    - `speakerName` string, nullable
    - `text` string
    - `confidence` number, nullable
    - `locale` string, nullable
    - `words` object[], nullable: Per-word timings when the provider emits them; null otherwise
      - `text` string
      - `startMs` integer
      - `endMs` integer

## Other responses

- `400`: Unknown format
- `401`: Missing or invalid API key
- `402`: Not enough credits
- `403`: Your plan does not include the REST API
- `404`: Note not found, or it has no transcript yet
- `429`: Too many requests for this API key

---

[API](https://skmtc.dev/audiomap/apis/audiomap-api.md) · [All operations](https://skmtc.dev/audiomap/apis/audiomap-api/llms.txt) · [OpenAPI document](https://skmtc.dev/audiomap/apis/audiomap-api/revisions/0bc0c0fc6cbb?raw)
