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.
109 lines
4.8 KiB
Markdown
109 lines
4.8 KiB
Markdown
---
|
|
description: "Chỉnh sửa các trường metadata EXIF, IPTC, GPS và XMP trong ảnh mà không mã hóa lại pixel."
|
|
i18n_source_hash: 9271d3d8f278
|
|
i18n_provenance: human
|
|
i18n_output_hash: 2a197547d5bd
|
|
---
|
|
|
|
# Chỉnh sửa siêu dữ liệu ảnh {#edit-metadata}
|
|
|
|
Chỉnh sửa các trường metadata của ảnh bao gồm EXIF, IPTC, tọa độ GPS, ngày tháng và từ khóa. Sử dụng ExifTool bên dưới, nên metadata được ghi tại chỗ mà không mã hóa lại pixel, giữ nguyên chất lượng ảnh đầy đủ.
|
|
|
|
## API Endpoints {#api-endpoints}
|
|
|
|
### Chỉnh sửa metadata {#edit-metadata-1}
|
|
|
|
`POST /api/v1/tools/image/edit-metadata`
|
|
|
|
Ghi các trường metadata vào ảnh và trả về tệp đã sửa đổi.
|
|
|
|
### Kiểm tra metadata {#inspect-metadata}
|
|
|
|
`POST /api/v1/tools/image/edit-metadata/inspect`
|
|
|
|
Trả về toàn bộ metadata từ ảnh qua ExifTool dưới dạng JSON. Không sửa đổi ảnh.
|
|
|
|
## Tham số (Chỉnh sửa) {#parameters-edit}
|
|
|
|
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|
|
|-----------|------|----------|---------|-------------|
|
|
| title | string | Không | - | Tiêu đề ảnh (XMP/EXIF) |
|
|
| author | string | Không | - | Tên tác giả |
|
|
| artist | string | Không | - | Tên nghệ sĩ (thẻ EXIF Artist) |
|
|
| copyright | string | Không | - | Thông báo bản quyền |
|
|
| imageDescription | string | Không | - | Mô tả ảnh (EXIF) |
|
|
| software | string | Không | - | Thẻ phần mềm |
|
|
| dateTime | string | Không | - | Giá trị EXIF DateTime |
|
|
| dateTimeOriginal | string | Không | - | Giá trị EXIF DateTimeOriginal |
|
|
| setAllDates | string | Không | - | Đặt tất cả các trường ngày cùng lúc |
|
|
| dateShift | string | Không | - | Dịch tất cả các ngày theo độ lệch (định dạng: `+HH:MM` hoặc `-HH:MM`) |
|
|
| clearGps | boolean | Không | `false` | Xóa toàn bộ dữ liệu GPS |
|
|
| gpsLatitude | number | Không | - | Đặt vĩ độ GPS (-90 đến 90) |
|
|
| gpsLongitude | number | Không | - | Đặt kinh độ GPS (-180 đến 180) |
|
|
| gpsAltitude | number | Không | - | Đặt độ cao GPS tính bằng mét |
|
|
| keywords | string[] | Không | - | Từ khóa/thẻ cần thêm hoặc đặt |
|
|
| keywordsMode | string | Không | `"add"` | Cách xử lý từ khóa: `add` (thêm vào) hoặc `set` (thay thế) |
|
|
| fieldsToRemove | string[] | Không | `[]` | Danh sách tên các trường metadata cụ thể cần xóa |
|
|
| iptcTitle | string | Không | - | IPTC Object Name |
|
|
| iptcHeadline | string | Không | - | IPTC Headline |
|
|
| iptcCity | string | Không | - | IPTC City |
|
|
| iptcState | string | Không | - | IPTC Province/State |
|
|
| iptcCountry | string | Không | - | IPTC Country |
|
|
|
|
## Ví dụ yêu cầu {#example-request}
|
|
|
|
Đặt tác giả và bản quyền:
|
|
|
|
```bash
|
|
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"}'
|
|
```
|
|
|
|
Đặt tọa độ GPS:
|
|
|
|
```bash
|
|
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}'
|
|
```
|
|
|
|
Xóa GPS và thêm từ khóa:
|
|
|
|
```bash
|
|
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"}'
|
|
```
|
|
|
|
Kiểm tra metadata:
|
|
|
|
```bash
|
|
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata/inspect \
|
|
-H "Authorization: Bearer si_your-api-key" \
|
|
-F "file=@photo.jpg"
|
|
```
|
|
|
|
## Ví dụ phản hồi (Chỉnh sửa) {#example-response-edit}
|
|
|
|
```json
|
|
{
|
|
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
|
|
"originalSize": 2450000,
|
|
"processedSize": 2452000
|
|
}
|
|
```
|
|
|
|
## Ghi chú {#notes}
|
|
|
|
- Công cụ này yêu cầu cài đặt ExifTool trên máy chủ. Nó đã được bao gồm trong image Docker.
|
|
- Metadata được ghi tại chỗ, nên không có việc mã hóa lại pixel. Thay đổi kích thước tệp là tối thiểu (chỉ các byte metadata).
|
|
- Tham số `dateShift` dịch tất cả các trường ngày theo độ lệch chỉ định, hữu ích để sửa lỗi múi giờ (ví dụ `+02:00` hoặc `-05:30`).
|
|
- Nếu không yêu cầu thay đổi nào (tất cả tham số bị bỏ hoặc để trống), tệp gốc được trả về không thay đổi.
|
|
- Định dạng được hỗ trợ: JPEG, PNG, WebP, AVIF, TIFF, GIF, HEIC/HEIF.
|
|
- Với các định dạng không xem trước được trên trình duyệt (HEIF, TIFF), phản hồi bao gồm một trường `previewUrl` với bản xem trước WebP.
|