Get Transcript

Use the transcript UUID to retrieve status, transcript text, word-level timestamps, and Intelligence answers.

Endpoint

GET https://app.resemble.ai/api/v2/speech-to-text/{uuid}

Path Parameter

ParameterDescription
uuidTranscript UUID returned from the create call.

Response

1{
2 "success": true,
3 "item": {
4 "uuid": "550e8400-e29b-41d4-a716-446655440000",
5 "text": "Hello, this is a sample transcript...",
6 "words": [
7 {
8 "word": "Hello",
9 "start": 0.23,
10 "end": 0.67,
11 "confidence": 0.99
12 },
13 {
14 "word": "this",
15 "start": 0.7,
16 "end": 0.9,
17 "confidence": 0.98
18 }
19 ],
20 "query": "What are the key points?",
21 "answer": "The key points discussed were...",
22 "status": "completed",
23 "file_url": "https://storage.resemble.ai/...",
24 "duration_seconds": 120.5,
25 "created_at": "2024-01-15T10:30:00Z",
26 "updated_at": "2024-01-15T10:32:00Z"
27 }
28}

Response Fields

FieldTypeDescription
uuidstringTranscript UUID.
textstringFull transcript (present once processing completes).
wordsarrayArray of word objects with timestamps.
querystringInitial Intelligence question.
answerstringAnswer to the query.
statusstringpending, processing, completed, or failed.
file_urlstringURL to the original media file.
duration_secondsnumberMedia duration in seconds.
created_atdatetimeTimestamp when created.
updated_atdatetimeTimestamp when last updated.

Word Object

FieldTypeDescription
wordstringTranscribed word.
startnumberStart time in seconds.
endnumberEnd time in seconds.
confidencenumberConfidence score for the transcription.

Example

$curl --request GET \
> 'https://app.resemble.ai/api/v2/speech-to-text/550e8400-e29b-41d4-a716-446655440000' \
> -H 'Authorization: Bearer YOUR_API_TOKEN'

Polling Pattern

$transcript_uuid="550e8400-e29b-41d4-a716-446655440000"
>delay=2
>
>while true; do
> response=$(curl -s -H "Authorization: Bearer YOUR_API_TOKEN" \
> "https://app.resemble.ai/api/v2/speech-to-text/$transcript_uuid")
>
> status=$(echo "$response" | jq -r '.item.status')
> if [ "$status" = "completed" ] || [ "$status" = "failed" ]; then
> echo "$response"
> break
> fi
>
> sleep $delay
> delay=$((delay * 2))
>done

Errors

1{
2 "success": false,
3 "error": "Transcript not found"
4}

Typical status codes: 401 for bad tokens, 403 for insufficient roles, 404 for unknown UUIDs, and 500 for processing failures.