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

HTML para Imagem

Capture uma URL de página web ou conteúdo HTML bruto como uma imagem de captura de tela. Suporta emulação de dispositivo (desktop, tablet, mobile), captura de página inteira e vários formatos de saída.

Endpoint da API

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

Aceita um corpo JSON (não multipart). Não é necessário envio de arquivo.

Parâmetros

ParâmetroTipoObrigatórioPadrãoDescrição
urlstringCondicional-URL a capturar (deve ser uma URL válida)
htmlstringCondicional-Conteúdo HTML bruto a renderizar (1 a 5.000.000 caracteres)
formatstringNão"png"Formato de saída: jpg, png, webp
qualitynumberNão90Qualidade de saída para formatos com perdas (1 a 100)
fullPagebooleanNãofalseCaptura a página inteira rolável, não apenas a viewport
devicePresetstringNão"desktop"Emulação de dispositivo: desktop, tablet, mobile, custom
viewportWidthnumberNão1280Largura personalizada da viewport em pixels (320 a 3840, usada quando devicePreset é custom)
viewportHeightnumberNão720Altura personalizada da viewport em pixels (320 a 2160, usada quando devicePreset é custom)

É preciso fornecer url ou html, mas não ambos.

Predefinições de Dispositivo

PredefiniçãoLarguraAlturaUA Mobile
desktop1280720Não
tablet7681024Não
mobile375812Sim
custom(especificado pelo usuário)(especificado pelo usuário)Não

Exemplo de Requisição

Capturar uma página web:

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

Renderizar conteúdo 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"}'

Exemplo de Resposta

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

Observações

  • Requer que o Chromium esteja instalado no servidor. Retorna HTTP 503 se o serviço de navegador não estiver disponível.
  • As URLs são validadas contra ataques SSRF (endereços de rede privados/internos são bloqueados).
  • Este endpoint tem limite de taxa de 120 requisições por hora.
  • originalSize é sempre 0, pois esta ferramenta gera imagens a partir de URLs/HTML.
  • O nome do arquivo de saída é screenshot.<format>.
  • Se a página demorar demais para carregar, a requisição retorna HTTP 504 (tempo limite de gateway).
  • Se o serviço de navegador travar repetidamente, ele é desativado temporariamente e retorna HTTP 503 com o código BROWSER_CRASHED.