تُرجمت هذه الصفحة آليًا. هل لاحظت خطأً؟ساعد في تحسينها.
Skip to content

ضغط الصورة

قلّل حجم ملف الصورة بتحديد مستوى جودة أو حجم ملف مستهدف بالكيلوبايت. تستخدم الأداة بحثًا ثنائيًا تكراريًا للوصول إلى أحجام الأهداف بدقة.

API Endpoint

POST /api/v1/tools/image/compress

يقبل بيانات نموذج multipart تحتوي على ملف صورة وحقل JSON باسم settings.

Parameters

ParameterTypeRequiredDefaultDescription
modestringNo"quality"وضع الضغط: quality أو targetSize
qualitynumberNo80مستوى الجودة (1-100). يُستخدَم عندما يكون الوضع quality.
targetSizeKbnumberNo-حجم الملف المستهدف بالكيلوبايت. يُستخدَم عندما يكون الوضع targetSize.

Example Request

الضغط إلى جودة 60:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"mode": "quality", "quality": 60}'

الضغط إلى حجم مستهدف قدره 200 كيلوبايت:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"mode": "targetSize", "targetSizeKb": 200}'

Example Response

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

Notes

  • في وضع quality، تنتج القيم الأقل ملفات أصغر بمزيد من عيوب الضغط. القيمة 80 افتراضية جيدة للاستخدام على الويب.
  • في وضع targetSize، ينفّذ المحرّك ضغطًا تكراريًا للاقتراب من الهدف قدر الإمكان دون تجاوزه.
  • صيغة الإخراج تطابق صيغة الإدخال. يُطبَّق الضغط على الترميز الأصلي للصيغة (مثل جودة JPEG لملفات JPEG، وجودة WebP لملفات WebP).
  • إذا كانت الجودة الافتراضية (80) مقبولة، يمكنك حذف المُعامِل quality بالكامل.