Skip to content
Console

web_capture

Capture any HTTPS page — dashboards, scoreboards, lower thirds — as a video source. Supports cookie auth, HTTP basic auth, and waiting for DOM readiness (similar to Cloudflare Browser Rendering).

Terminal window
curl -X POST "https://api.avflow.dev/v1/jobs" \
-H "Authorization: Bearer ${AVFLOW_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "overlay-capture",
"sources": [{
"name": "board_src",
"type": "web_capture",
"config": {
"url": "https://app.example.com/scoreboard",
"viewport": { "width": 1920, "height": 1080 },
"fps": 5,
"waitForSelector": { "selector": "#ready", "timeout": 10000 }
}
}],
"nodes": [],
"sinks": [{
"name": "preview",
"type": "rtmp_push",
"inputs": ["board_src"],
"config": { "urls": ["rtmp://live.example.com/app/key"] }
}]
}'
{
"name": "dash_src",
"type": "web_capture",
"config": {
"url": "https://app.example.com/dashboard",
"cookies": [
{
"name": "session",
"value": "<session-value>",
"domain": "app.example.com",
"path": "/"
}
],
"viewport": { "width": 1280, "height": 720 },
"fps": 5
}
}
FieldTypeDefaultDescription
urlstringPage URL (HTTPS)
viewportobject1920×1080width, height, deviceScaleFactor
fpsint5Capture rate (1–10 full page, up to 60 for element capture)
captureElementstringCSS selector for element-level capture
captureAudioboolfalseCapture page audio when available
cookiesarrayBrowser cookies for authenticated pages
authenticateobjectHTTP Basic auth (username, password)
setExtraHTTPHeadersmapExtra request headers
gotoOptionsobjectwaitUntil, timeout, referer
waitForSelectorobjectWait for CSS selector before capture
waitForTimeoutintExtra delay after load (ms)
bestAttemptbooltrueContinue if optional waits time out
startTimeoutMsint30000Fail if no first frame within this window

Tiered by resolution and fps (15fps steps) while frames are produced. Source pricing.