Tài liệu
Cái gì chạy ở đâu, và điều gì sắp tới.
swapfile.io hoạt động thế nào
Trình chuyển đổi và trình dọn siêu dữ liệu chạy hoàn toàn trong trình duyệt của bạn bằng File API và canvas. Tệp của bạn được đọc vào bộ nhớ trên thiết bị, xử lý ở đó và tải xuống từ đó. Với các định dạng mà trình duyệt không thể giải mã (như HEIC ngoài Safari), một quy trình phía máy chủ đang được phát triển; những tác vụ đó sẽ bị xóa khỏi bộ lưu trữ trong vòng một giờ.
Luồng dữ liệu
API
Chuyển đổi tệp từ mã của riêng bạn với một REST API. Nó chạy cùng quy trình máy chủ như trang web: bạn đăng ký một lần tải lên, gửi các byte, khởi động một tác vụ chuyển đổi, rồi tải xuống kết quả — tất cả được xác thực bằng một khóa API.
Tạo một khóa API trong tài khoản của bạn
Xác thực
Mọi yêu cầu mang khóa của bạn trong header Authorization (Bearer), hoặc một header X-API-Key. Hãy coi nó như mật khẩu — nó tiêu tốn hạn mức chuyển đổi của tài khoản bạn.
curl https://api.swapfile.io/v1/jobs/{id} \
-H "Authorization: Bearer sf_live_..."Chuyển đổi một tệp
# 1 · register the upload → presigned URL curl -X POST https://api.swapfile.io/v1/uploads \ -H "Authorization: Bearer sf_live_..." \ -H "Content-Type: application/json" \ -d '{"size": 48213}' → {"file_id":"9f2c…","upload_url":"https://…"} # 2 · send the raw bytes to that URL curl -X PUT --upload-file photo.heic "$UPLOAD_URL" # 3 · start the conversion curl -X POST https://api.swapfile.io/v1/jobs \ -H "Authorization: Bearer sf_live_..." \ -H "Content-Type: application/json" \ -d '{"file_id":"9f2c…","operation":"convert:jpeg","params":{"quality":"82"}}' → 202 {"id":"7ab1…","status":"queued"} # 4 · poll until done, then download curl https://api.swapfile.io/v1/jobs/7ab1… \ -H "Authorization: Bearer sf_live_..." → {"status":"done","download_url":"https://…"}
Các endpoint
/v1/uploadsRegister an upload; returns a presigned PUT URL.{upload_url}Send the raw file bytes (max 100 MB)./v1/jobsStart a conversion job for an uploaded file./v1/jobs/{id}Job status; includes download_url once done./v1/jobs/{id}Delete the file and job immediately.Các thao tác
Truyền một trong các giá trị này làm thao tác. Đầu vào được chấp nhận gồm JPEG, PNG, WebP, GIF, BMP, HEIC, AVIF và TIFF.
convert:jpeg→ JPEG · params: quality (1–100)convert:png→ PNG (lossless)convert:webp→ WebP · params: quality (1–100)Giới hạn
- 100 MB max upload
- 30 conversions / day (free)
- 60 requests / minute per key
- Files auto-deleted within 1 hour
Lỗi
Thất bại trả về problem+json theo RFC 9457 với một trường code ổn định — ví dụ unauthorized, unsupported_format, file_too_large, quota_exceeded hoặc rate_limited.
Tự kiểm chứng
Mở công cụ phát triển của trình duyệt, theo dõi tab network và chuyển đổi một tệp. Bạn sẽ không thấy yêu cầu nào mang theo tệp của bạn.