Capturas de pantalla
POST /v1/screenshots captura cualquier página web pública como imagen o PDF — sin plantilla requerida.
# Solicitud
curl https://api.mostlyrender.com/v1/screenshots \
-H "Authorization: Bearer mr_live_…" \
-H "Content-Type: application/json" \
-d '{
"url": "https://stripe.com",
"fullPage": true,
"output": "png"
}'
| Campo | Tipo | Notas |
|---|---|---|
url |
string | Requerido. Una URL pública http(s). |
width |
integer | Ancho de la ventana gráfica. Por defecto 1200 (16–2400). |
height |
integer | Alto de la ventana gráfica. Por defecto 630 (16–2400). |
fullPage |
boolean | Capturar la altura completa del desplazamiento. Por defecto false. |
scale |
number | Factor de escala del dispositivo (retina). Hasta 3. |
output |
string | png (por defecto), jpeg, webp, o pdf. |
paper |
string | Con output: "pdf", paginar en un documento de este tamaño de papel (A4, A3, A5, Letter, Legal, Tabloid, Ledger) con márgenes, en lugar de una captura de altura completa única. |
async |
boolean | Encolar y devolver 202. |
webhookUrl |
string | Devolución de llamada firmada al completarse (implica async). |
notifyEmail |
string | Enviar un correo electrónico a esta dirección cuando finalice el trabajo (implica async). |
# Respuesta
{
"id": "shot_abc123",
"url": "https://img.mostlyrender.com/mostlyrender/screenshots/shot_abc123.png",
"output": "png"
}
# Seguridad de URL
Las capturas de pantalla solo aceptan URLs http(s) públicas. Las solicitudes a rangos privados, loopback, link-local u hosts de metadatos en la nube se rechazan con 400 — y la protección se vuelve a verificar después de cualquier redirección, por lo que una URL pública no puede rebotar a una interna.
# SDK
shot = mr.screenshot("https://stripe.com", full_page=True)
print(shot["url"])
Las páginas grandes pueden ser lentas — para esas, usa async + webhooks.