Skip to main content
GET
/
video
/
{video_id}
/
transcription
Get video transcription
curl --request GET \
  --url https://api.videodb.io/video/{video_id}/transcription/ \
  --header 'x-access-token: <api-key>'
{
  "success": true,
  "status": "completed",
  "data": {
    "transcript": [
      {
        "text": "Hello world",
        "start": 1.5,
        "end": 3.2
      }
    ]
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.videodb.io/llms.txt

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

Retrieve the timestamped transcription for a video. Supports multiple segmentation types and time ranges.
import videodb

conn = videodb.connect(api_key="your_api_key")
coll = conn.get_collection()
video = coll.get_videos()[0]

# Get full transcript with word-level timestamps
transcript = video.get_transcript()

for segment in transcript:
    print(f"{segment['start']:.2f}s - {segment['text']}")

# Get plain text transcript
text = video.get_transcript_text()
print(f"Full text: {text}")

# Segment by sentence instead of word
transcript = video.get_transcript(segmenter="sentence")

# Fixed-duration segments (e.g., 5-second chunks)
transcript = video.get_transcript(segmenter="time", length=5)

# Get transcript for a specific time range
transcript = video.get_transcript(start=10, end=60)

Parameters

ParameterTypeDefaultDescription
segmenterstr"word"How to split the transcript: "word", "sentence", or "time"
lengthint1Duration in seconds per segment when segmenter is "time"
startfloatStart time in seconds (must be >= 0)
endfloatEnd time in seconds (must be >= start)
forceboolfalseForce re-fetch from server, bypassing cache
  • Returns list of dicts with start (float), end (float), and text (str) for each segment
  • Invalid segmenter values raise a ValueError
  • Negative start/end or start > end raise a ValueError
  • Generates transcript automatically if not already created

Authorizations

x-access-token
string
header
required

API key for authentication (sk-xxx format)

Path Parameters

video_id
string
required
Pattern: ^m-
Example:

"m-12345"

Query Parameters

engine
string
default:default
Example:

"default"

start
number
default:0
Example:

10.5

end
number
default:-1
Example:

60

segmenter
string
default:word
Example:

"word"

length
integer
default:1
Example:

1

Response

200 - application/json

Transcription data

success
boolean
Example:

true

status
enum<string>
Available options:
completed,
processing,
failed
Example:

"completed"

data
object