mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
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.
3.3 KiB
3.3 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Fånga webbsidor eller HTML-utdrag som högkvalitativa bilder med enhetsemulering. | 1e49d070ea2e | human | 7d70f0fd4d48 |
HTML till bild
Fånga en webbsides-URL eller rått HTML-innehåll som en skärmbild. Stöder enhetsemulering (skrivbord, surfplatta, mobil), helsidefångst och flera utdataformat.
API-slutpunkt
POST /api/v1/tools/image/html-to-image
Tar emot en JSON-kropp (inte multipart). Ingen filuppladdning behövs.
Parametrar
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|---|---|---|---|---|
| url | string | Villkorlig | - | URL att fånga (måste vara en giltig URL) |
| html | string | Villkorlig | - | Rått HTML-innehåll att rendera (1 till 5 000 000 tecken) |
| format | string | Nej | "png" |
Utdataformat: jpg, png, webp |
| quality | number | Nej | 90 |
Utdatakvalitet för förlustbehäftade format (1 till 100) |
| fullPage | boolean | Nej | false |
Fånga hela den rullbara sidan, inte bara vyn |
| devicePreset | string | Nej | "desktop" |
Enhetsemulering: desktop, tablet, mobile, custom |
| viewportWidth | number | Nej | 1280 |
Anpassad vybredd i pixlar (320 till 3840, används när devicePreset är custom) |
| viewportHeight | number | Nej | 720 |
Anpassad vyhöjd i pixlar (320 till 2160, används när devicePreset är custom) |
Antingen url eller html måste anges, men inte båda.
Enhetsförinställningar
| Förinställning | Bredd | Höjd | Mobil UA |
|---|---|---|---|
desktop |
1280 | 720 | Nej |
tablet |
768 | 1024 | Nej |
mobile |
375 | 812 | Ja |
custom |
(användarangiven) | (användarangiven) | Nej |
Exempelbegäran
Fånga en webbsida:
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"}'
Rendera HTML-innehåll:
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"}'
Exempelsvar
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/screenshot.png",
"originalSize": 0,
"processedSize": 145000
}
Anmärkningar
- Kräver att Chromium är installerat på servern. Returnerar HTTP 503 om webbläsartjänsten inte är tillgänglig.
- URL:er valideras mot SSRF-attacker (privata/interna nätverksadresser blockeras).
- Denna slutpunkt är hastighetsbegränsad till 120 begäranden per timme.
originalSizeär alltid 0 eftersom detta verktyg genererar bilder från URL:er/HTML.- Utdatafilnamnet är
screenshot.<format>. - Om sidan tar för lång tid att ladda returnerar begäran HTTP 504 (gateway-timeout).
- Om webbläsartjänsten kraschar upprepade gånger inaktiveras den tillfälligt och returnerar HTTP 503 med koden
BROWSER_CRASHED.