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).
Example — public page
Section titled “Example — public page”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"] } }] }'Example — authenticated page (cookies)
Section titled “Example — authenticated page (cookies)”{ "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 }}Config
Section titled “Config”| Field | Type | Default | Description |
|---|---|---|---|
url | string | — | Page URL (HTTPS) |
viewport | object | 1920×1080 | width, height, deviceScaleFactor |
fps | int | 5 | Capture rate (1–10 full page, up to 60 for element capture) |
captureElement | string | — | CSS selector for element-level capture |
captureAudio | bool | false | Capture page audio when available |
cookies | array | — | Browser cookies for authenticated pages |
authenticate | object | — | HTTP Basic auth (username, password) |
setExtraHTTPHeaders | map | — | Extra request headers |
gotoOptions | object | — | waitUntil, timeout, referer |
waitForSelector | object | — | Wait for CSS selector before capture |
waitForTimeout | int | — | Extra delay after load (ms) |
bestAttempt | bool | true | Continue if optional waits time out |
startTimeoutMs | int | 30000 | Fail if no first frame within this window |
Pricing
Section titled “Pricing”Tiered by resolution and fps (15fps steps) while frames are produced. Source pricing.