# Get transcription Retrieve a transcription by its ID, including current status, transcript text (when completed), billing information, and links to related operations. Retrieves a single transcription by ID. If the transcription is still in `queued` or `processing` status and the last status check was more than 10 seconds ago, the service automatically polls the upstream provider for the latest status. This means you can use this endpoint for polling without additional configuration. Supports **ETag caching** via the `If-None-Match` header. When the transcription has not changed since the last request, the API returns `304 Not Modified` with no body, saving bandwidth. Cache behavior varies by status: - **`queued` / `processing`**: `Cache-Control: public, max-age=5` (short TTL for active polling) - **`completed` / `failed`**: `Cache-Control: public, max-age=86400` (long TTL for stable results) #### Path Parameters **`transcription_id`** string required The transcription ID with `trans_` prefix (e.g., `trans_a1b2c3d4e5f6...`). #### Headers **`if-none-match`** string optional ETag value from a previous response. If the transcription has not changed, returns `304 Not Modified`. ## Returns Returns a success envelope with: - **`data`** -- Transcription data including `transcription_id`, `status`, `model_key`, `audio_metadata` (url, duration, language), and `timestamps` (created_at, updated_at, completed_at, processing_time_seconds). - **`billing`** -- Billing details: `synapses_consumed`, `synapses_refunded`, `currency`. - **`metadata`** -- Request metadata: `request_id`, `timestamp`, `processing_time_ms`, `upstream_refreshed` (whether a fresh status poll was made). - **`actions`** -- HATEOAS links. When completed, includes `get_paragraphs`, `get_sentences`, `get_subtitles_srt`, `get_subtitles_vtt`, `get_subtitles_txt`, `search`, and optionally `redacted_audio` (if PII redaction was enabled). Response headers include `ETag`, `Last-Modified`, and `Cache-Control`. Request ```bash cURL curl -s -X GET https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "If-None-Match: \"abc123etag\"" | python3 -m json.tool ``` ```python Python SDK from aitronos import Aitronos client = Aitronos(api_key="your-api-key") result = client.audio.get_transcription( transcription_id="trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", ) print(f"Status: {result.data.status}") if result.data.status == "completed": print(f"Text: {result.data.text}") ``` ```python Python import requests transcription_id = "trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" url = f"https://api.aitronos.com/v1/audio/transcribe/{transcription_id}" headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"} response = requests.get(url, headers=headers) if response.status_code == 304: print("Not modified (cached)") else: data = response.json() print(f"Status: {data['data']['status']}") etag = response.headers.get("ETag") print(f"ETag: {etag}") ``` ```javascript JavaScript const accessToken = process.env.ACCESS_TOKEN; const transcriptionId = 'trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6'; const response = await fetch( `https://api.aitronos.com/v1/audio/transcribe/${transcriptionId}`, { headers: { 'Authorization': `Bearer ${accessToken}`, }, } ); if (response.status === 304) { console.log('Not modified'); } else { const data = await response.json(); console.log('Status:', data.data.status); } ``` Response ```json 200 OK (completed) { "success": true, "data": { "transcription_id": "trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "status": "completed", "model_key": "fvt-1", "audio_metadata": { "url": "https://storage.example.com/meeting-recording.mp3", "duration_seconds": 125.5, "language_code": "en" }, "timestamps": { "created_at": "2026-03-02T10:30:00Z", "updated_at": "2026-03-02T10:32:15Z", "completed_at": "2026-03-02T10:32:15Z", "processing_time_seconds": 135.0 } }, "billing": { "synapses_consumed": 126, "synapses_refunded": 0, "currency": "synapses" }, "metadata": { "request_id": "req_1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d", "timestamp": "2026-03-02T10:33:00Z", "processing_time_ms": 52, "upstream_refreshed": false }, "actions": { "check_status": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "get_paragraphs": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6/paragraphs", "get_sentences": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6/sentences", "get_subtitles_srt": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6/subtitles/srt", "get_subtitles_vtt": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6/subtitles/vtt", "get_subtitles_txt": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6/subtitles/txt", "search": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6/search", "redacted_audio": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6/redacted-audio" } } ``` ```json 200 OK (processing) { "success": true, "data": { "transcription_id": "trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "status": "processing", "model_key": "fvt-1", "audio_metadata": { "url": "https://storage.example.com/meeting-recording.mp3", "duration_seconds": 125.5, "language_code": "en" }, "timestamps": { "created_at": "2026-03-02T10:30:00Z", "updated_at": "2026-03-02T10:30:45Z" } }, "billing": { "synapses_consumed": 126, "synapses_refunded": 0, "currency": "synapses" }, "metadata": { "request_id": "req_2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e", "timestamp": "2026-03-02T10:30:50Z", "processing_time_ms": 1250, "upstream_refreshed": true, "upstream_latency_ms": 1200, "retry_attempts": 0 }, "actions": { "check_status": "https://api.aitronos.com/v1/audio/transcribe/trans_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" } } ``` ```json 404 Not Found { "success": false, "error": { "code": "NOT_FOUND", "message": "We couldn't find the resource you're looking for.", "system_message": "Transcription not found", "type": "client_error", "status": 404, "details": { "transcription_id": "trans_nonexistent" }, "trace_id": "abc-123-def", "timestamp": "2026-03-02T10:30:00Z" } } ``` ## Related Resources - [Create Transcription](/docs/api-reference/audio/create-transcription) - [List Transcriptions](/docs/api-reference/audio/list-transcriptions) - [Delete Transcription](/docs/api-reference/audio/delete-transcription) - [Get Paragraphs](/docs/api-reference/audio/get-paragraphs) - [Get Sentences](/docs/api-reference/audio/get-sentences) - [Get Subtitles](/docs/api-reference/audio/get-subtitles) - [Search Transcript](/docs/api-reference/audio/search-transcript) - [Get Redacted Audio](/docs/api-reference/audio/get-redacted-audio) - [Upload Audio File](/docs/api-reference/audio/upload-audio)