Save and reuse configurations
Templates let you save screenshot configurations for reuse. Create templates for common scenarios like mobile screenshots, social media previews, or full-page archives. Streamline your workflow and ensure consistent results across multiple captures.
Templates are saved configurations that store all your screenshot options in one place. Instead of manually configuring viewport size, format, blocking options, and other parameters each time, you can load a template and instantly apply all your preferred settings.
Configure once, use many times. No need to remember complex settings.
Ensure identical settings across all your screenshots.
Switch between different configurations with one click.
Use the Playground to configure viewport, format, blocking, and all other options exactly how you want them.
Click the save icon in the Template Manager at the top of the sidebar. Give your template a descriptive name and optional description.
Select any template from the dropdown to instantly load all its settings. Modify as needed or use as-is.
Mark a template as default to automatically load it every time you open the Playground.
Playground Access
Access the Playground at /dashboard/playground to create and manage your templates with a visual interface.
Here are some useful templates to get you started:
1200x630 optimized for Open Graph and Twitter Cards
{
"viewport_width": 1200,
"viewport_height": 630,
"format": "jpeg",
"image_quality": 85,
"block_ads": true
}iPhone 15 Pro with dark mode
{
"device": "iphone-15-pro",
"dark_mode": true,
"block_cookie_banners": true
}Complete page capture with maximum quality
{
"viewport_width": 1920,
"viewport_height": 1080,
"format": "png",
"full_page": true,
"image_quality": 100,
"block_ads": true
}Fast, lightweight captures
{
"viewport_width": 1280,
"viewport_height": 720,
"format": "webp",
"image_quality": 75,
"delay": 0
}Create and manage templates programmatically to integrate them into your workflows.
curl -X POST https://www.snapshotai.dev/api/v1/templates \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "High Quality Desktop",
"description": "1920x1080 PNG with full page and ad blocking",
"configuration": {
"viewport_width": 1920,
"viewport_height": 1080,
"format": "png",
"image_quality": 95,
"full_page": true,
"block_ads": true,
"block_cookie_banners": true,
"delay": 2000
},
"is_default": false
}'// Load template configuration
const templateResponse = await fetch(
'https://www.snapshotai.dev/api/v1/templates/tpl_abc123xyz',
{
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
}
);
const template = await templateResponse.json();
// Use template configuration to capture screenshot
const screenshotResponse = await fetch(
'https://www.snapshotai.dev/api/v1/screenshots',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://example.com',
options: template.configuration
})
}
);
const screenshot = await screenshotResponse.json();// Use template for batch screenshots
const template = await fetch(
'https://www.snapshotai.dev/api/v1/templates/tpl_abc123xyz',
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
).then(r => r.json());
const urls = [
'https://site1.com',
'https://site2.com',
'https://site3.com'
];
const response = await fetch(
'https://www.snapshotai.dev/api/v1/screenshots/batch',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
urls,
options: template.configuration
})
}
);curl -X PUT https://www.snapshotai.dev/api/v1/templates/tpl_abc123xyz \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Template Name",
"is_default": true
}'Update template name, description, or configuration at any time via the Playground or API.
PUT /v1/templates/:idSet one template as default to automatically load its settings in the Playground.
is_default: trueCreate variations of existing templates by loading, modifying, and saving with a new name.
Load → Modify → Save AsRemove templates you no longer need from the Playground or via the API.
DELETE /v1/templates/:idBest Practices
POST /v1/templatesGET /v1/templatesGET /v1/templates/:idPUT /v1/templates/:idDELETE /v1/templates/:idRelated Resources