Skip to main content
POST
/
video
/
{video_id}
/
transcription
Generate video transcription
curl --request POST \
  --url https://api.videodb.io/video/{video_id}/transcription/ \
  --header 'Content-Type: application/json' \
  --header 'x-access-token: <api-key>' \
  --data '
{
  "engine": "default",
  "force": false,
  "language_code": "en-US",
  "callback_url": "https://webhook.example.com/callback",
  "callback_data": {}
}
'
{
  "success": true,
  "status": "processing",
  "data": {
    "id": "job-123",
    "output_url": "https://api.videodb.io/async-response/job-123"
  }
}
Generate a complete transcription of the video’s audio content using automatic speech recognition.
import videodb

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

# Generate transcript
result = video.generate_transcript()

if isinstance(result, dict) and result.get('success'):
    print("Transcript generated successfully")
else:
    print("Transcript generation started or already exists")
  • Generates timestamped transcript with word-level timing information
  • Includes automatic speaker diarization when available
  • Returns success confirmation; retrieve actual transcript with get-transcription
  • Processing time depends on video duration
  • Transcript is cached after first generation (use force: true to regenerate)

Authorizations

x-access-token
string
header
required

API key for authentication (sk-xxx format)

Path Parameters

video_id
string
required
Example:

"m-12345"

Body

application/json
engine
string
default:default
Example:

"default"

force
boolean
Example:

false

language_code
string
Example:

"en-US"

callback_url
string
Example:

"https://webhook.example.com/callback"

callback_data
object

Response

200 - application/json

Transcription job started

success
boolean
Example:

true

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

"processing"

data
object