Files
SnapOtter/apps/docs/th/tools/image/edit-metadata.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

6.4 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
แก้ไขฟิลด์เมทาดาทา EXIF, IPTC, GPS และ XMP ในภาพโดยไม่ต้องเข้ารหัสพิกเซลใหม่ a37746db11c3 human 44bdc9fac5c5

Edit Metadata

แก้ไขฟิลด์เมทาดาทาของภาพรวมถึง EXIF, IPTC, พิกัด GPS, วันที่ และคีย์เวิร์ด ใช้ ExifTool เบื้องหลัง ดังนั้นเมทาดาทาจึงถูกเขียนแบบในตำแหน่งเดิมโดยไม่ต้องเข้ารหัสพิกเซลใหม่ รักษาคุณภาพภาพเต็มรูปแบบเอาไว้

API Endpoints

Edit Metadata

POST /api/v1/tools/image/edit-metadata

เขียนฟิลด์เมทาดาทาลงในภาพและส่งคืนไฟล์ที่แก้ไขแล้ว

Inspect Metadata

POST /api/v1/tools/image/edit-metadata/inspect

ส่งคืนเมทาดาทาทั้งหมดจากภาพผ่าน ExifTool เป็น JSON ไม่แก้ไขภาพ

Parameters (Edit)

Parameter Type Required Default Description
title string No - ชื่อภาพ (XMP/EXIF)
author string No - ชื่อผู้สร้าง
artist string No - ชื่อศิลปิน (แท็ก EXIF Artist)
copyright string No - ประกาศลิขสิทธิ์
imageDescription string No - คำอธิบายภาพ (EXIF)
software string No - แท็กซอฟต์แวร์
dateTime string No - ค่า EXIF DateTime
dateTimeOriginal string No - ค่า EXIF DateTimeOriginal
setAllDates string No - ตั้งค่าฟิลด์วันที่ทั้งหมดพร้อมกัน
dateShift string No - เลื่อนวันที่ทั้งหมดด้วยออฟเซ็ต (รูปแบบ: +HH:MM หรือ -HH:MM)
clearGps boolean No false ลบข้อมูล GPS ทั้งหมด
gpsLatitude number No - ตั้งค่าละติจูด GPS (-90 ถึง 90)
gpsLongitude number No - ตั้งค่าลองจิจูด GPS (-180 ถึง 180)
gpsAltitude number No - ตั้งค่าความสูง GPS เป็นเมตร
keywords string[] No - คีย์เวิร์ด/แท็กที่จะเพิ่มหรือตั้งค่า
keywordsMode string No "add" วิธีจัดการคีย์เวิร์ด: add (ต่อท้าย) หรือ set (แทนที่)
fieldsToRemove string[] No [] รายชื่อฟิลด์เมทาดาทาเฉพาะที่จะลบ
iptcTitle string No - IPTC Object Name
iptcHeadline string No - IPTC Headline
iptcCity string No - IPTC City
iptcState string No - IPTC Province/State
iptcCountry string No - IPTC Country

Example Request

ตั้งค่าผู้สร้างและลิขสิทธิ์:

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"}'

ตั้งค่าพิกัด 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}'

ลบ 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={"clearGps": true, "keywords": ["landscape", "sunset"], "keywordsMode": "add"}'

ตรวจสอบเมทาดาทา:

curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata/inspect \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg"

Example Response (Edit)

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
  "originalSize": 2450000,
  "processedSize": 2452000
}

Notes

  • เครื่องมือนี้ต้องติดตั้ง ExifTool บนเซิร์ฟเวอร์ ซึ่งรวมอยู่ในอิมเมจ Docker
  • เมทาดาทาถูกเขียนแบบในตำแหน่งเดิม จึงไม่มีการเข้ารหัสพิกเซลใหม่ ขนาดไฟล์เปลี่ยนแปลงน้อยมาก (เพียงไบต์ของเมทาดาทา)
  • พารามิเตอร์ dateShift เลื่อนฟิลด์วันที่ทั้งหมดด้วยออฟเซ็ตที่ระบุ มีประโยชน์สำหรับการแก้ไขข้อผิดพลาดเรื่องเขตเวลา (เช่น +02:00 หรือ -05:30)
  • หากไม่มีการร้องขอการเปลี่ยนแปลง (ละเว้นหรือปล่อยว่างพารามิเตอร์ทั้งหมด) ไฟล์ต้นฉบับจะถูกส่งคืนโดยไม่เปลี่ยนแปลง
  • รูปแบบที่รองรับ: JPEG, PNG, WebP, AVIF, TIFF, GIF, HEIC/HEIF
  • สำหรับรูปแบบที่ไม่สามารถแสดงตัวอย่างในเบราว์เซอร์ได้ (HEIF, TIFF) การตอบสนองจะรวมฟิลด์ previewUrl พร้อมตัวอย่าง WebP