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"
  }
}
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
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