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

HTML to Image

웹페이지 URL 또는 원시 HTML 콘텐츠를 스크린샷 이미지로 캡처합니다. 기기 에뮬레이션(데스크톱, 태블릿, 모바일), 전체 페이지 캡처, 여러 출력 형식을 지원합니다.

API 엔드포인트

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회 요청으로 속도 제한됩니다.
  • 이 도구는 URL/HTML에서 이미지를 생성하므로 originalSize은 항상 0입니다.
  • 출력 파일 이름은 screenshot.<format>입니다.
  • 페이지 로드가 너무 오래 걸리면 요청은 HTTP 504(게이트웨이 시간 초과)를 반환합니다.
  • 브라우저 서비스가 반복적으로 충돌하면 일시적으로 비활성화되고 코드 BROWSER_CRASHED과 함께 HTTP 503을 반환합니다.