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.
4.4 KiB
4.4 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Edit field metadata EXIF, IPTC, GPS, dan XMP dalam gambar tanpa mengenkode ulang piksel. | 9271d3d8f278 | human | 9e6badffd745 |
Sunting Metadata Gambar
Edit field metadata gambar termasuk EXIF, IPTC, koordinat GPS, tanggal, dan kata kunci. Menggunakan ExifTool di baliknya, sehingga metadata ditulis di tempat tanpa mengenkode ulang piksel, mempertahankan kualitas gambar penuh.
API Endpoint
Edit Metadata
POST /api/v1/tools/image/edit-metadata
Menulis field metadata ke gambar dan mengembalikan file yang dimodifikasi.
Inspeksi Metadata
POST /api/v1/tools/image/edit-metadata/inspect
Mengembalikan metadata lengkap dari gambar via ExifTool sebagai JSON. Tidak memodifikasi gambar.
Parameter (Edit)
| Parameter | Tipe | Wajib | Default | Deskripsi |
|---|---|---|---|---|
| title | string | Tidak | - | Judul gambar (XMP/EXIF) |
| author | string | Tidak | - | Nama penulis |
| artist | string | Tidak | - | Nama artis (tag EXIF Artist) |
| copyright | string | Tidak | - | Pemberitahuan hak cipta |
| imageDescription | string | Tidak | - | Deskripsi gambar (EXIF) |
| software | string | Tidak | - | Tag perangkat lunak |
| dateTime | string | Tidak | - | Nilai EXIF DateTime |
| dateTimeOriginal | string | Tidak | - | Nilai EXIF DateTimeOriginal |
| setAllDates | string | Tidak | - | Atur semua field tanggal sekaligus |
| dateShift | string | Tidak | - | Geser semua tanggal berdasarkan offset (format: +HH:MM atau -HH:MM) |
| clearGps | boolean | Tidak | false |
Hapus semua data GPS |
| gpsLatitude | number | Tidak | - | Atur lintang GPS (-90 hingga 90) |
| gpsLongitude | number | Tidak | - | Atur bujur GPS (-180 hingga 180) |
| gpsAltitude | number | Tidak | - | Atur ketinggian GPS dalam meter |
| keywords | string[] | Tidak | - | Kata kunci/tag yang ditambahkan atau diatur |
| keywordsMode | string | Tidak | "add" |
Cara menangani kata kunci: add (tambahkan) atau set (ganti) |
| fieldsToRemove | string[] | Tidak | [] |
Daftar nama field metadata spesifik yang dihapus |
| iptcTitle | string | Tidak | - | IPTC Object Name |
| iptcHeadline | string | Tidak | - | IPTC Headline |
| iptcCity | string | Tidak | - | IPTC City |
| iptcState | string | Tidak | - | IPTC Province/State |
| iptcCountry | string | Tidak | - | IPTC Country |
Contoh Permintaan
Atur penulis dan hak cipta:
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"author": "Jane Smith", "copyright": "2024 Jane Smith"}'
Atur koordinat GPS:
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"gpsLatitude": 48.8566, "gpsLongitude": 2.3522, "gpsAltitude": 35}'
Hapus GPS dan tambahkan kata kunci:
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"clearGps": true, "keywords": ["landscape", "sunset"], "keywordsMode": "add"}'
Inspeksi metadata:
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata/inspect \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg"
Contoh Respons (Edit)
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 2452000
}
Catatan
- Alat ini memerlukan ExifTool terpasang di server. Ini sudah disertakan dalam image Docker.
- Metadata ditulis di tempat, sehingga tidak terjadi enkode ulang piksel. Perubahan ukuran file minimal (hanya byte metadata).
- Parameter
dateShiftmenggeser semua field tanggal berdasarkan offset yang ditentukan, berguna untuk memperbaiki kesalahan zona waktu (mis.+02:00atau-05:30). - Jika tidak ada perubahan yang diminta (semua parameter dihilangkan atau kosong), file asli dikembalikan tanpa perubahan.
- Format yang didukung: JPEG, PNG, WebP, AVIF, TIFF, GIF, HEIC/HEIF.
- Untuk format yang tidak dapat dipratinjau di browser (HEIF, TIFF), respons menyertakan field
previewUrldengan pratinjau WebP.