التوثيق

ما الذي يعمل وأين، وما القادم.

كيف يعمل swapfile.io

يعمل المحوّل ومنظّف البيانات الوصفية بالكامل في متصفحك باستخدام File API وcanvas. يُقرأ ملفك في ذاكرة جهازك، ويُعالَج هناك، ويُنزَّل من هناك. أما الصيغ التي لا يستطيع المتصفح فكّ ترميزها (مثل HEIC خارج Safari)، فخط معالجة عبر الخادم قادم؛ وستُحذف تلك المهام من التخزين خلال ساعة واحدة.

تدفّق البيانات

الأدوات المحليةالملف ← متصفحك ← مجلد التنزيلات
أدوات الخادم (قريبًا)الملف ← رفع موقّع مسبقًا ← عامل المعالجة ← رابط التنزيل ← حذف تلقائي ≤ ساعة

API

حوّل الملفات من شيفرتك الخاصة عبر واجهة REST API. تشغّل خط الخادم نفسه المستخدم في الموقع: تسجّل عملية رفع، وترسل البايتات، وتبدأ مهمة تحويل، ثم تنزّل الناتج — كل ذلك موثّق بمفتاح API.

أنشئ مفتاح API في حسابك

المصادقة

يحمل كل طلب مفتاحك في ترويسة Authorization (Bearer)، أو ترويسة X-API-Key. تعامل معه كأنه كلمة مرور — فهو يستهلك حصة التحويل الخاصة بحسابك.

https://api.swapfile.ioLive
curl https://api.swapfile.io/v1/jobs/{id} \
    -H "Authorization: Bearer sf_live_..."

تحويل ملف

heic → jpeg
# 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://…"}

نقاط النهاية

POST/v1/uploadsRegister an upload; returns a presigned PUT URL.
PUT{upload_url}Send the raw file bytes (max 100 MB).
POST/v1/jobsStart a conversion job for an uploaded file.
GET/v1/jobs/{id}Job status; includes download_url once done.
DELETE/v1/jobs/{id}Delete the file and job immediately.

العمليات

مرّر إحدى هذه القيم كعملية. تشمل المدخلات المقبولة 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)

الحدود

  • 100 MB max upload
  • 30 conversions / day (free)
  • 60 requests / minute per key
  • Files auto-deleted within 1 hour

الأخطاء

تُرجِع الإخفاقات استجابة RFC 9457 بصيغة problem+json مع حقل code ثابت — مثل unauthorized أو unsupported_format أو file_too_large أو quota_exceeded أو rate_limited.

تحقّق بنفسك

افتح أدوات المطوّرين في متصفحك، وراقب علامة تبويب الشبكة، وحوّل ملفًا. لن ترى أي طلب يحمل ملفك.