Files
SnapOtter/apps/docs/fr/tools/image/html-to-image.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

3.6 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Capturez des pages web ou des extraits HTML en images haute qualité avec émulation d'appareil. 1e49d070ea2e human 8eea95f108ae

HTML vers image

Capturez l'URL d'une page web ou un contenu HTML brut sous forme d'image de capture d'écran. Prend en charge l'émulation d'appareil (ordinateur, tablette, mobile), la capture de page entière et plusieurs formats de sortie.

Point de terminaison de l'API

POST /api/v1/tools/image/html-to-image

Accepte un corps JSON (pas de multipart). Aucun téléversement de fichier n'est nécessaire.

Paramètres

Paramètre Type Requis Par défaut Description
url string Conditionnel - URL à capturer (doit être une URL valide)
html string Conditionnel - Contenu HTML brut à rendre (1 à 5 000 000 caractères)
format string Non "png" Format de sortie : jpg, png, webp
quality number Non 90 Qualité de sortie pour les formats avec perte (1 à 100)
fullPage boolean Non false Capturer la page entière défilable, pas seulement la fenêtre d'affichage
devicePreset string Non "desktop" Émulation d'appareil : desktop, tablet, mobile, custom
viewportWidth number Non 1280 Largeur personnalisée de la fenêtre d'affichage en pixels (320 à 3840, utilisée quand devicePreset vaut custom)
viewportHeight number Non 720 Hauteur personnalisée de la fenêtre d'affichage en pixels (320 à 2160, utilisée quand devicePreset vaut custom)

Soit url, soit html doit être fourni, mais pas les deux.

Préréglages d'appareil

Préréglage Largeur Hauteur UA mobile
desktop 1280 720 Non
tablet 768 1024 Non
mobile 375 812 Oui
custom (défini par l'utilisateur) (défini par l'utilisateur) Non

Exemple de requête

Capturer une page web :

curl -X POST http://localhost:1349/api/v1/tools/image/html-to-image \
  -H "Authorization: Bearer si_your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "format": "png", "fullPage": true, "devicePreset": "desktop"}'

Rendre un contenu HTML :

curl -X POST http://localhost:1349/api/v1/tools/image/html-to-image \
  -H "Authorization: Bearer si_your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"html": "<div style=\"padding: 20px; background: #f0f0f0;\"><h1>Hello</h1></div>", "format": "png"}'

Exemple de réponse

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/screenshot.png",
  "originalSize": 0,
  "processedSize": 145000
}

Notes

  • Nécessite que Chromium soit installé sur le serveur. Renvoie HTTP 503 si le service de navigateur n'est pas disponible.
  • Les URL sont validées contre les attaques SSRF (les adresses de réseau privé/interne sont bloquées).
  • Ce point de terminaison est limité à 120 requêtes par heure.
  • originalSize vaut toujours 0 puisque cet outil génère des images à partir d'URL/HTML.
  • Le nom du fichier de sortie est screenshot.<format>.
  • Si la page met trop de temps à charger, la requête renvoie HTTP 504 (délai d'attente de la passerelle dépassé).
  • Si le service de navigateur plante à répétition, il est temporairement désactivé et renvoie HTTP 503 avec le code BROWSER_CRASHED.