Ta strona została przetłumaczona maszynowo. Zauważyłeś błąd?Pomóż ją ulepszyć.
Skip to content

HTML na obraz ​

Przechwyć adres URL strony internetowej lub surową zawartość HTML jako obraz zrzutu ekranu. Obsługuje emulację urządzeń (komputer stacjonarny, tablet, telefon), przechwytywanie całej strony i wiele formatów wyjściowych.

Punkt końcowy API ​

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

Przyjmuje treść JSON (nie multipart). Nie jest wymagane przesyłanie pliku.

Parametry ​

ParametrTypWymaganyDomyślnieOpis
urlstringWarunkowo-Adres URL do przechwycenia (musi być prawidłowym adresem URL)
htmlstringWarunkowo-Surowa zawartość HTML do wyrenderowania (1 do 5 000 000 znaków)
formatstringNie"png"Format wyjściowy: jpg, png, webp
qualitynumberNie90Jakość wyjściowa dla formatów stratnych (1 do 100)
fullPagebooleanNiefalsePrzechwyć całą przewijalną stronę, a nie tylko widoczny obszar
devicePresetstringNie"desktop"Emulacja urządzenia: desktop, tablet, mobile, custom
viewportWidthnumberNie1280Niestandardowa szerokość widoku w pikselach (320 do 3840, używana gdy devicePreset to custom)
viewportHeightnumberNie720Niestandardowa wysokość widoku w pikselach (320 do 2160, używana gdy devicePreset to custom)

Należy podać albo url, albo html, ale nie oba naraz.

Presety urządzeń ​

PresetSzerokośćWysokośćMobilny UA
desktop1280720Nie
tablet7681024Nie
mobile375812Tak
custom(określone przez użytkownika)(określone przez użytkownika)Nie

Przykładowe żądanie ​

Przechwyć stronę internetową:

bash
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"}'

Wyrenderuj zawartość HTML:

bash
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"}'

Przykładowa odpowiedź ​

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

Uwagi ​

  • Wymaga zainstalowania Chromium na serwerze. Zwraca HTTP 503, jeśli usługa przeglądarki jest niedostępna.
  • Adresy URL są walidowane pod kątem ataków SSRF (adresy sieci prywatnej/wewnętrznej są blokowane).
  • Ten punkt końcowy jest ograniczony do 120 żądań na godzinę.
  • originalSize zawsze wynosi 0, ponieważ to narzędzie generuje obrazy z adresów URL/HTML.
  • Nazwa pliku wyjściowego to screenshot.<format>.
  • Jeśli wczytanie strony trwa zbyt długo, żądanie zwraca HTTP 504 (przekroczenie limitu czasu bramy).
  • Jeśli usługa przeglądarki wielokrotnie ulega awarii, jest tymczasowo wyłączana i zwraca HTTP 503 z kodem BROWSER_CRASHED.