Skip to content

Transcribe Video

POST
/api/agents/youtube/transcribe

Submit a YouTube URL for transcription — returns immediately with a job id.

The transcription pipeline runs in a background task: captions fetched first, then Whisper fallback if unavailable. If auto_analyze is true (either from the request or from config default), LLM analysis runs after transcription completes.

Args: request: URL plus optional per-request overrides (auto_analyze, preferred_language).

Returns: The newly-created job record with status="queued" (will progress through “downloading” → “transcribing” → “analyzing” → “complete”).

Raises: HTTPException(400): The URL is not a recognizable YouTube video URL, no project is active (the route needs to tag the job with a project), or start_transcription rejected the request (e.g., duration limit exceeded, invalid config).

YouTubeTranscribeRequest

POST /youtube/transcribe request body.

object
url
required
Url

YouTube video URL

string format: uri
>= 1 characters <= 2083 characters
autoAnalyze
Any of:
boolean
preferredLanguage
Any of:
string

Successful Response

YouTubeJobResponse

Transcription job status.

object
jobId
required
Jobid

Unique job identifier

string
videoId
required
Videoid

YouTube video ID

string
url
required
Url

Original YouTube URL

string
title
required
Title

Video title

string
channel
required
Channel

Channel name

string
durationSeconds
required
Durationseconds

Video duration in seconds

integer
status
required
Status

Current job status

string
Allowed values: queued downloading transcribing analyzing complete error
progressPercent
required
Progresspercent

Progress percentage

integer
<= 100
errorMessage
Any of:
string
captionSource
Any of:
string
Allowed values: manual auto whisper
createdAt
required
Createdat

ISO timestamp of job creation

string

Validation Error

HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object