Docs
क्या कहाँ चलता है, और आगे क्या आ रहा है।
swapfile.io कैसे काम करता है
कन्वर्टर और मेटाडेटा क्लीनर पूरी तरह आपके ब्राउज़र में File API और canvas का इस्तेमाल करके चलते हैं। आपकी फ़ाइल आपके डिवाइस की memory में पढ़ी जाती है, वहीं प्रोसेस होती है और वहीं से डाउनलोड होती है। जिन फ़ॉर्मैट को ब्राउज़र decode नहीं कर सकता (जैसे Safari के बाहर HEIC), उनके लिए एक server-side pipeline आ रही है; वे jobs एक घंटे के अंदर storage से डिलीट कर दिए जाएँगे।
डेटा फ़्लो
API
एक REST API के साथ अपने कोड से फ़ाइलें कन्वर्ट करें। यह साइट जैसा ही server pipeline चलाती है: आप एक upload register करते हैं, bytes भेजते हैं, एक conversion job शुरू करते हैं, फिर रिज़ल्ट डाउनलोड करते हैं — सब एक API key से authenticated।
अपने अकाउंट में एक API key बनाएँ
Authentication
हर रिक्वेस्ट आपकी key को Authorization header (Bearer), या एक X-API-Key header में ले जाती है। इसे पासवर्ड की तरह समझें — यह आपके अकाउंट का conversion quota खर्च करती है।
curl https://api.swapfile.io/v1/jobs/{id} \
-H "Authorization: Bearer sf_live_..."एक फ़ाइल कन्वर्ट करना
# 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://…"}
Endpoints
/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.Operations
इनमें से एक को operation के रूप में पास करें। स्वीकार किए जाने वाले inputs में JPEG, PNG, WebP, GIF, BMP, HEIC, AVIF और TIFF शामिल हैं।
convert:jpeg→ JPEG · params: quality (1–100)convert:png→ PNG (lossless)convert:webp→ WebP · params: quality (1–100)Limits
- 100 MB max upload
- 30 conversions / day (free)
- 60 requests / minute per key
- Files auto-deleted within 1 hour
Errors
विफलताएँ एक stable code फ़ील्ड के साथ RFC 9457 problem+json लौटाती हैं — उदाहरण के लिए unauthorized, unsupported_format, file_too_large, quota_exceeded या rate_limited।
खुद जाँचें
अपने ब्राउज़र के developer tools खोलें, network टैब देखें और एक फ़ाइल कन्वर्ट करें। आपको कोई रिक्वेस्ट आपकी फ़ाइल ले जाती नहीं दिखेगी।