Skip to main content
POST
/
video
/
{video_id}
/
workflow
Execute video workflow
curl --request POST \
  --url https://api.videodb.io/video/{video_id}/workflow/ \
  --header 'Content-Type: application/json' \
  --header 'x-access-token: <api-key>' \
  --data '
{
  "workflow_type": "transcribe",
  "config": {
    "language": "en",
    "model": "gpt-4"
  }
}
'
{
  "success": true,
  "status": "processing",
  "data": {
    "id": "job-123",
    "output_url": "https://api.videodb.io/async-response/job-123"
  }
}

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.

Apply complex video processing workflows such as adding subtitles, overlays, or other transformations.
import videodb
from videodb import SubtitleStyle

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

# Add subtitles to video
subtitle_style = SubtitleStyle(
    background_color="#000000",
    text_color="#FFFFFF"
)
stream_url = video.add_subtitle(subtitle_style)

print(f"Video with subtitles: {stream_url}")
  • Supports multiple workflow types (subtitles currently implemented)
  • Workflows modify video stream without changing original
  • Subtitle style customization includes colors, positioning, and fonts
  • Returns new stream URL with applied workflow
  • Original video remains unchanged

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"

Body

application/json
workflow_type
enum<string>
required
Available options:
transcribe,
index,
analyze
Example:

"transcribe"

config
object

Response

200 - application/json

Workflow started

success
boolean
Example:

true

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

"processing"

data
object