Capturas de pantalla
POST /v1/screenshots captura cualquier página web pública como una imagen o PDF — no se requiere plantilla.
# 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"
}'
| Field | Type | Notes |
|---|---|---|
url |
string | Requerido. Una URL http(s) pública. |
width |
integer | Ancho de ventana gráfica. Predeterminado 1200 (16–2400). |
height |
integer | Alto de ventana gráfica. Predeterminado 630 (16–2400). |
fullPage |
boolean | Captura toda la altura de desplazamiento. Predeterminado false. |
scale |
number | Factor de escala del dispositivo (retina). Hasta 3. |
output |
string | png (predeterminado), jpeg, webp, o pdf. |
async |
boolean | Encolar y devolver 202. |
webhookUrl |
string | Devolución de llamada firmada al finalizar (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 de nube se rechazan con 400 — y el guard vuelve a verificar después de cualquier redirección, por lo que una URL pública no puede redirigirse a una interna.
# SDK
shot = mr.screenshot("https://stripe.com", full_page=True)
print(shot["url"])
Las páginas grandes pueden ser lentas — para esos casos, use async + webhooks.