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.
3.8 KiB
3.8 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| 개인정보 보호와 파일 크기 축소를 위해 이미지에서 EXIF, GPS, ICC, XMP 메타데이터를 제거합니다. | 07f61cdb2c26 | human | e5894cf9c431 |
이미지 메타데이터 제거
이미지에서 EXIF, GPS, ICC 색상 프로파일, XMP 메타데이터를 제거합니다. 개인정보 보호(GPS 좌표, 카메라 정보 제거)와 파일 크기 축소에 유용합니다.
API Endpoints
Strip Metadata
POST /api/v1/tools/image/strip-metadata
이미지를 처리하고 선택된 메타데이터가 제거된 정리된 버전을 반환합니다.
Inspect Metadata
POST /api/v1/tools/image/strip-metadata/inspect
이미지를 수정하지 않고 파싱된 메타데이터를 JSON으로 반환합니다. 제거 전에 어떤 메타데이터가 존재하는지 미리 보는 데 유용합니다.
Parameters (Strip)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| stripExif | boolean | No | false |
EXIF 데이터 제거(카메라 설정, 날짜 등) |
| stripGps | boolean | No | false |
GPS/위치 데이터만 제거 |
| stripIcc | boolean | No | false |
ICC 색상 프로파일 제거 |
| stripXmp | boolean | No | false |
XMP 메타데이터 제거(Adobe, IPTC) |
| stripAll | boolean | No | true |
모든 메타데이터를 한 번에 제거 |
stripAll가 true이면 개별 플래그를 재정의하고 모든 것을 제거합니다.
Example Request
모든 메타데이터 제거:
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"stripAll": true}'
GPS 데이터만 제거(카메라 정보와 색상 프로파일 유지):
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"stripAll": false, "stripGps": true}'
수정 없이 메타데이터 검사:
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata/inspect \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg"
Example Response (Strip)
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 2380000
}
Example Response (Inspect)
{
"filename": "photo.jpg",
"fileSize": 2450000,
"exif": {
"Make": "Canon",
"Model": "EOS R5",
"DateTimeOriginal": "2024:03:15 14:30:00",
"ExposureTime": "1/250",
"FNumber": 2.8,
"ISO": 400
},
"gps": {
"GPSLatitudeRef": "N",
"GPSLatitude": [37, 46, 30],
"_latitude": 37.775,
"_longitude": -122.4183
},
"icc": {
"Profile Size": "3144 bytes",
"Color Space": "RGB",
"Description": "sRGB IEC61966-2.1"
},
"xmp": {
"CreatorTool": "Adobe Photoshop 25.0"
}
}
Notes
- 이미지는 제거 후 원본 형식으로 다시 인코딩됩니다. JPEG는 품질 90의 mozjpeg를, PNG는 압축 레벨 9를, WebP는 품질 85를 사용합니다.
- ICC 프로파일을 제거하면 이미지가 sRGB가 아닌 프로파일로 태그되어 있었을 경우 미묘한 색상 변화가 생길 수 있습니다. 색상 정확도가 중요하다면
stripIcc: false을 사용하세요. - inspect 엔드포인트는 편의를 위해 GPS 좌표를 십진수 위도/경도 값(밑줄이 접두사로 붙음)으로 파싱합니다.
- 지원 입력 형식: JPEG, PNG, WebP, AVIF, TIFF, GIF.