This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

HTML в зображення

Захоплюйте URL вебсторінки або сирий вміст HTML як зображення-знімок. Підтримує емуляцію пристроїв (десктоп, планшет, мобільний), захоплення повної сторінки та кілька форматів виводу.

API Endpoint

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

Приймає тіло JSON (не multipart). Завантаження файлу не потрібне.

Параметри

ПараметрТипОбовʼязковийЗа замовчуваннямОпис
urlstringУмовно-URL для захоплення (має бути дійсним URL)
htmlstringУмовно-Сирий вміст HTML для рендерингу (від 1 до 5 000 000 символів)
formatstringНі"png"Формат виводу: jpg, png, webp
qualitynumberНі90Якість виводу для форматів із втратами (від 1 до 100)
fullPagebooleanНіfalseЗахопити всю прокручувану сторінку, а не лише область перегляду
devicePresetstringНі"desktop"Емуляція пристрою: desktop, tablet, mobile, custom
viewportWidthnumberНі1280Власна ширина області перегляду в пікселях (від 320 до 3840, використовується, коли devicePreset — custom)
viewportHeightnumberНі720Власна висота області перегляду в пікселях (від 320 до 2160, використовується, коли devicePreset — custom)

Потрібно вказати або url, або html, але не обидва.

Пресети пристроїв

ПресетШиринаВисотаМобільний UA
desktop1280720Ні
tablet7681024Ні
mobile375812Так
custom(задано користувачем)(задано користувачем)Ні

Приклад запиту

Захоплення вебсторінки:

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

Рендеринг вмісту 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"}'

Приклад відповіді

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

Примітки

  • Вимагає встановленого на сервері Chromium. Повертає HTTP 503, якщо сервіс браузера недоступний.
  • URL перевіряються на атаки SSRF (приватні/внутрішні мережеві адреси блокуються).
  • Цей кінцевий пункт обмежено до 120 запитів на годину.
  • originalSize завжди дорівнює 0, оскільки цей інструмент генерує зображення з URL/HTML.
  • Імʼя вихідного файлу — screenshot.<format>.
  • Якщо сторінка завантажується надто довго, запит повертає HTTP 504 (тайм-аут шлюзу).
  • Якщо сервіс браузера неодноразово падає, він тимчасово вимикається та повертає HTTP 503 з кодом BROWSER_CRASHED.