تُرجمت هذه الصفحة آليًا. هل لاحظت خطأً؟ساعد في تحسينها.
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 "[email protected]" \
  -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 "[email protected]" \
  -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 بالكامل.