Start a continuous monitoring job that checks for a condition
monitor_duration_seconds (default 600): per-job runtime limit in seconds.trigger_cooldown_seconds (default 0): minimum seconds between trigger alerts.max_triggers (default 1): number of trigger alerts before auto-stop.
1 keeps legacy first-match behavior.>1 allows repeated alerts, then stops.null means unlimited alerts until duration/cancel.POST /live-monitor selects response mode by request shape:
webhook_url present -> webhook modeAccept: text/event-stream and no webhook_url -> SSE modejob_id, status, created_at, job_type, stream_url, optional message).
Use GET /jobs/{job_id} to track runtime and terminal state.
type values:
job_startedwatch_triggeredjob_stoppederrorstartedprogresstriggered (non-terminal trigger event in multi-trigger mode)stoppederrorstopped and error as terminal events for that stream session.
Treat triggered as non-terminal.
running: active checks in progresscompleted: condition matched and job completedstopped: ended without failure (cancelled or auto-stop)failed: ended due to runtime/stream failurestats.reason include:
condition_triggeredmax_triggers_reachedmax_duration_reachedcancelledPOST /live-monitorBearer authentication header of the form Bearer <token>, where <token> is your auth token.
Request to start a live monitor job.
YouTube Live URL or RTSP stream to monitor
1 - 500Natural language condition to watch for
1 - 1000Webhook URL for notifications
1 - 2083Polling interval in seconds
5 <= x <= 300Input mode: 'frames' for single frame, 'clip' for video clip, 'hybrid' for frame+clip combined
frames, clip, hybrid Duration of video clip in seconds (used when input_mode is 'clip' or 'hybrid')
1 <= x <= 10Maximum monitoring duration in seconds
x >= 5Minimum time in seconds between trigger alerts
0 <= x <= 3600Maximum trigger alerts before auto-stop. Null means unlimited.
x >= 1Successful Response