take_screencast
Capture a screencast of a web page over time with adaptive frame rates. Outputs individual PNG frames or an animated WebP file, ideal for monitoring page changes or creating visual timelines.
Instructions
Capture a series of screenshots of a web page over time, producing a screencast. Uses adaptive frame rates: 100ms intervals for ≤5s, 200ms for 5-10s, 500ms for >10s. PNG format: individual frames. WebP format: animated WebP with 4-second pause at end for looping.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
directory | No | Save screencast to directory. Specify format with "format" parameter. | |
duration | No | Total duration of screencast in seconds | |
format | No | Output format when using directory: "png" for individual PNG files, "webp" for animated WebP (default) | webp |
height | No | Viewport height in pixels (max 1072) | |
jsEvaluate | No | JavaScript code to execute. String: single instruction after first screenshot. Array: takes screenshot before each instruction, then continues capturing until duration ends. | |
quality | No | WebP quality level (only applies when format is "webp"): low (50), medium (75), high (90) | medium |
url | Yes | HTTP/HTTPS URL to capture | |
waitUntil | No | Wait until event: load, domcontentloaded, networkidle0, networkidle2 | domcontentloaded |
width | No | Viewport width in pixels (max 1072) |
Input Schema (JSON Schema)
{
"properties": {
"directory": {
"description": "Save screencast to directory. Specify format with \"format\" parameter.",
"type": "string"
},
"duration": {
"default": 10,
"description": "Total duration of screencast in seconds",
"type": "number"
},
"format": {
"default": "webp",
"description": "Output format when using directory: \"png\" for individual PNG files, \"webp\" for animated WebP (default)",
"enum": [
"png",
"webp"
],
"type": "string"
},
"height": {
"default": 1072,
"description": "Viewport height in pixels (max 1072)",
"type": "number"
},
"jsEvaluate": {
"description": "JavaScript code to execute. String: single instruction after first screenshot. Array: takes screenshot before each instruction, then continues capturing until duration ends.",
"oneOf": [
{
"description": "Single JavaScript code to execute after the first screenshot",
"type": "string"
},
{
"description": "Array of JavaScript instructions - screenshot taken before each one",
"items": {
"type": "string"
},
"type": "array"
}
]
},
"quality": {
"default": "medium",
"description": "WebP quality level (only applies when format is \"webp\"): low (50), medium (75), high (90)",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"url": {
"description": "HTTP/HTTPS URL to capture",
"type": "string"
},
"waitUntil": {
"default": "domcontentloaded",
"description": "Wait until event: load, domcontentloaded, networkidle0, networkidle2",
"type": "string"
},
"width": {
"default": 1072,
"description": "Viewport width in pixels (max 1072)",
"type": "number"
}
},
"required": [
"url"
],
"type": "object"
}