Metadata ảnh & EXIF API

Đọc kích thước, định dạng, thông tin EXIF máy ảnh, thông số chụp và vị trí GPS của ảnh JPEG, PNG, WebP, HEIC, AVIF, GIF… – upload file hoặc qua URL.

GETPOSThttps://apibox.io.vn/v1/image-metadata

API metadata ảnh phân tích một file ảnh và trả về mọi thông tin hữu ích: định dạng và MIME type (nhận diện từ nội dung file, không dựa vào đuôi file), chiều rộng, chiều cao, số megapixel và tỉ lệ khung hình, dung lượng file và SHA-256, cùng các chi tiết như độ sâu màu, kiểu màu, interlace, JPEG progressive hay ảnh động (PNG, GIF, WebP).

Với JPEG, HEIC, AVIF, TIFF, PNG và WebP, API đọc EXIF, XMP và IPTC: hãng và model máy ảnh, ống kính, phần mềm, hướng ảnh, ngày chụp và thông số chụp (tốc độ màn trập, khẩu độ, ISO, tiêu cự, đèn flash, cân bằng trắng) cùng toạ độ GPS. Các trường has_exif, has_gps, has_xmp giúp bạn nhanh chóng quyết định có cần xoá metadata trước khi đăng ảnh hay không. Thêm raw=true để lấy toàn bộ cây EXIF.

Định dạng hỗ trợ: JPEG, PNG, GIF, WebP, AVIF, HEIC, TIFF, BMP, ICO và SVG. Gửi ảnh qua trường multipart file, body nhị phân thô, base64 qua file_base64, hoặc truyền url công khai để API tự tải. Dung lượng tối đa theo gói: Free 5 MB, Starter 20 MB, Pro 50 MB.

Tham số

TênVị tríKiểuBắt buộcMặc định
filebodyfilekhôngFile ảnh: trường multipart file, body nhị phân thô, hoặc base64 qua file_base64. Tối đa 5/20/50 MB (Free/Starter/Pro).
urlbody|querystringkhôngURL công khai của ảnh để API tự tải, thay cho upload.
rawbody|querybooleankhôngfalseTrả kèm toàn bộ cây EXIF/XMP/IPTC trong trường exif.

Ví dụ

curl -X POST "https://apibox.io.vn/v1/image-metadata" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/gps/DSCN0010.jpg"}'

Kết quả trả về

{
  "source": "https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/gps/DSCN0010.jpg",
  "file_name": "DSCN0010.jpg",
  "size_bytes": 161713,
  "sha256": "17307b1207eb6487d7908e9d154890b46e3d2e0192369cfd3f4c33d5a5af4035",
  "format": "jpeg",
  "mime_type": "image/jpeg",
  "width": 640,
  "height": 480,
  "megapixels": 0.31,
  "aspect_ratio": "4:3",
  "orientation": "Horizontal (normal)",
  "bit_depth": 8,
  "components": 3,
  "progressive": false,
  "camera": {
    "make": "NIKON",
    "model": "COOLPIX P6000",
    "lens": null,
    "software": "Nikon Transfer 1.1 W"
  },
  "capture": {
    "date_time": "2008-10-22T16:28:39.000Z",
    "exposure_time": 0.013333333333333334,
    "f_number": 5.9,
    "iso": 64,
    "focal_length": 24,
    "flash": "Flash did not fire, compulsory flash mode",
    "white_balance": "Auto"
  },
  "gps": {
    "latitude": 43.46744833333334,
    "longitude": 11.885126666663888,
    "altitude": null
  },
  "has_exif": true,
  "has_gps": true,
  "has_xmp": false
}

Ứng dụng

  • Kiểm tra kích thước, định dạng ảnh người dùng upload trước khi xử lý
  • Phát hiện và cảnh báo vị trí GPS trong ảnh trước khi công khai
  • Lấy ngày chụp, thông tin máy ảnh cho thư viện ảnh và hệ thống DAM
  • Kiểm tra ảnh từ xa qua URL mà không cần tự tải về

Hỏi đáp

Làm sao biết ảnh được chụp ở đâu?

Upload ảnh và xem trường gps: vĩ độ, kinh độ sẽ có nếu máy ảnh/điện thoại đã lưu vị trí. Nhiều ứng dụng và mạng xã hội xoá GPS khi tải lên, khi đó has_gps là false.

Có đọc metadata từ URL ảnh được không?

Được: /v1/image-metadata?url=https://example.com/anh.jpg (hoặc POST {"url": ...}). APIBox sẽ tải file về và file vẫn tính theo giới hạn dung lượng của gói.

Ảnh tôi upload có bị lưu lại không?

Không. File chỉ được xử lý trong bộ nhớ và bị huỷ sau khi trả kết quả; bạn chỉ nhận lại mã SHA-256 của nó.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →