oder scanne deine ganze Website →
Erleichtere dein Frontend.
Die kleinste Netzweberin, für das leichteste Netz.
Patu optimiert die statischen Assets einer Seite: Bilder, SVG, JavaScript, CSS und Schriften. Bilder werden auf einen wahrnehmungsbasierten Qualitätswert hin optimiert; alles andere wird verlustfrei konvertiert. Schicke ein Asset, bekomme etwas Kleineres zurück, das identisch dargestellt wird. Inline, oder gespeichert hinter einem CDN mit URL-Manifest und Subresource Integrity.
Was es tut
- Bilder in der Qualität, die du nach Augenmaß wählst. Es durchsucht die Encoder-Qualität, um einen ssimulacra2-Wert zu treffen, statt einen Q-Wert zu raten, und liefert AVIF und WebP mit einem JPEG/PNG-Fallback sowie den responsiven Breiten, die du anforderst.
- SVG, inklusive Pfade. Es bereinigt das SVG und schreibt dann Pfadgeometrie und -struktur mit silk um, was pfadlastige Zeichnungen um 67-88 % verkleinert, bei identischer Darstellung.
- JavaScript und CSS. Minifiziert mit esbuild (Leerzeichen und sichere Syntax, niemals Umbenennung der von deinem Code exportierten Namen), dann am Edge komprimiert.
- Schriften zu WOFF2. TTF/OTF/WOFF werden über woffify zu WOFF2, 57-70 % kleiner; optionales Glyph-Subsetting entfernt, was eine Seite nie nutzt.
- Subresource Integrity, eingebaut. Jede Antwort trägt einen
X-Patu-IntegritySHA-384-Token, sodass eine Seite ein Asset festlegen kann, das selbst ein kompromittiertes CDN nicht verändern kann. - Inline oder gespeichert, dedupliziert. Bekomme die Bytes zurück, oder lass Patu die Varianten behalten und dir ein vom Edge ausgeliefertes URL-Manifest geben. Identische Eingaben werden per Content-Hash dedupliziert, und Patu liefert nie mehr zurück, als es erhalten hat.
Schnellstart
Patu wird per API-Schlüssel authentifiziert. Schicke die rohen Bytes; deklariere Nicht-Bild-Assets mit Content-Type.
# Inline: get the optimised bytes back curl -X POST "https://patu.dev/v1/compress?formats=avif,webp,fallback&target=80" \ -H "X-Api-Key: $PATU_KEY" \ --data-binary @photo.jpg -o photo.avif # JS, CSS or a font (routed by Content-Type) curl -X POST "https://patu.dev/v1/compress" \ -H "X-Api-Key: $PATU_KEY" -H "Content-Type: font/ttf" \ --data-binary @Inter.ttf -o Inter.woff2 # Stored: persist the variants, get a JSON manifest of URLs curl -X POST "https://patu.dev/v1/compress?mode=stored&widths=480,1024" \ -H "X-Api-Key: $PATU_KEY" \ --data-binary @photo.jpg
Kein API-Schlüssel? Lege oben ein Bild, JS, CSS oder eine Schriftart ab, um den öffentlichen Demo-Endpunkt auszuprobieren. Alle Parameter, Antwortformate und die Asset-Endpunkte findest du auf der API-Seite.