mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Renames 18 ambiguous or hard-to-search tool names so image tools self-qualify like the other modalities ("Compress" becomes "Compress Image"), and cleans up a few awkward names. Propagated across search (constants.ts), display (en.ts + 20 locales), the OpenAPI base spec + 20 locale specs, and the docs tool-page headings in 21 languages. Removes the duplicate "Normalize Audio" summary shared by the video and audio endpoints. Tool ids and routes are unchanged, so no API paths or bookmarks break.
2.4 KiB
2.4 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Görüntü dosyası boyutunu kalite düzeyine göre veya hedef dosya boyutuna göre azaltın. | 342c5cf1f864 | human | abf4d9eb2451 |
Görüntü Sıkıştır
Bir kalite düzeyi veya kilobayt cinsinden hedef bir dosya boyutu belirterek görüntü dosyası boyutunu azaltın. Araç, boyut hedeflerine doğru bir şekilde ulaşmak için yinelemeli ikili arama kullanır.
API Uç Noktası
POST /api/v1/tools/image/compress
Bir görüntü dosyası ve bir JSON settings alanı ile çok parçalı form verilerini kabul eder.
Parametreler
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
| mode | string | Hayır | "quality" |
Sıkıştırma modu: quality veya targetSize |
| quality | number | Hayır | 80 |
Kalite düzeyi (1-100). Mod quality olduğunda kullanılır. |
| targetSizeKb | number | Hayır | - | Kilobayt cinsinden hedef dosya boyutu. Mod targetSize olduğunda kullanılır. |
Örnek İstek
Kalite 60'a sıkıştır:
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"mode": "quality", "quality": 60}'
200 KB hedef boyutuna sıkıştır:
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"mode": "targetSize", "targetSizeKb": 200}'
Örnek Yanıt
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 204800
}
Notlar
qualitymodunda, daha düşük değerler daha fazla sıkıştırma bozulmasıyla daha küçük dosyalar üretir. 80 değeri, web kullanımı için iyi bir varsayılandır.targetSizemodunda, motor hedefi aşmadan mümkün olduğunca yaklaşmak için yinelemeli sıkıştırma gerçekleştirir.- Çıktı biçimi giriş biçimiyle eşleşir. Sıkıştırma, biçimin yerel kodlamasına uygulanır (örn. JPEG dosyaları için JPEG kalitesi, WebP dosyaları için WebP kalitesi).
- Varsayılan kalite (80) kabul edilebilirse,
qualityparametresini tamamen atlayabilirsiniz.