Skip to main content
GET
/
api
/
detail
/
{id}
cURL
curl --request GET \
  --url https://api.transcribetube.com/api/detail/{id} \
  --header 'api-key: <api-key>'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "youtubeId": "<string>",
  "language": "en",
  "text": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.transcribetube.com/llms.txt

Use this file to discover all available pages before exploring further.

Fetch a single project’s status and (if ready) its transcription text. Use this to poll for completion — see Lifecycle & Polling.

Request

ParamInTypeDefaultDescription
idpathstringThe projectId returned by POST /api/transcribeVideo.
showTimecodequerybooleanfalseInclude [HH:MM:SS.sss] timecodes in the text field (only applies when state is done).
showSpeakerquerybooleanfalseInclude Speaker N: labels in the text field.
showTranscriptionquerybooleantrueIf false, omits the full transcript JSON (currently ignored by the API view but reserved).

Examples

curl "https://api.transcribetube.com/api/detail/f3c1e7a0-2b48-4a91-8a30-9b1c2d3e4f50" \
  -H "api-key: $TRANSCRIBETUBE_API_KEY"

Response

The response shape depends on the project’s state.

When state is done

{
  "id": "f3c1e7a0-2b48-4a91-8a30-9b1c2d3e4f50",
  "name": "Rick Astley - Never Gonna Give You Up",
  "youtubeId": "dQw4w9WgXcQ",
  "language": "en",
  "text": "We're no strangers to love\n\nYou know the rules and so do I\n\n..."
}
FieldTypeDescription
idstringProject ID.
namestringVideo title.
youtubeIdstringThe YouTube video ID.
languagestringLanguage code.
textstringPlain-text transcription. Paragraphs separated by \n\n. With showTimecode=true, each paragraph is prefixed by [HH:MM:SS.sss]; with showSpeaker=true, by Speaker N:.
The done shape does not include the state field. If you’re branching on state, also check for the presence of text to confirm completion.

When state is upload or transcription

{
  "id": "f3c1e7a0-2b48-4a91-8a30-9b1c2d3e4f50",
  "name": "Rick Astley - Never Gonna Give You Up",
  "state": "transcription",
  "message": "Transcription is in progress",
  "videoLength": 213,
  "createdAt": "2026-01-15T14:30:00.000Z"
}
FieldTypeDescription
stateenumupload or transcription.
messagestringHuman-readable status.
videoLengthintegerLength in seconds.
createdAtstring (ISO 8601)When the project was created.

Errors

StatusWhen
401Missing or invalid api-key header.
404Project not found, or it belongs to a different user.

Authorizations

api-key
string
header
required

Path Parameters

id
string
required

The ID of the project to retrieve

Query Parameters

showTimecode
boolean
default:false

Show Timecode on content

showSpeaker
boolean
default:false

Show Speaker name on content

showTranscription
boolean
default:true

Show Transcription word by word

Response

Project detail. Shape depends on state.

Returned when state is 'done'

id
string<uuid>
name
string
youtubeId
string
language
string
Example:

"en"

text
string

Paragraphs joined by \n\n. Includes timecodes/speakers if requested.