ضغط الصورة حسب الجودة وتقدير تقليل الحجم
تقدّر أداة ضغط الصورة حسب الجودة مقدار الانخفاض المحتمل في حجم الملف عند تصديره بنسبة الجودة التي تختارونها.
شغّل الأداة مجانًا
اختاروا JPEG أو PNG أو WebP أو AVIF، ثم أدخلوا عدداً صحيحاً من 1 إلى 100. تعيد الحاسبة الحجم المقدّر نسبةً إلى تصدير بالصّيغة نفسها وبجودة 100، إلى جانب نسبة الانخفاض المقابلة. لا تحتاج الأداة إلى الصورة أو أبعادها أو عدد وحدات البايت الأصلي. لذلك فهي مناسبة للتخطيط والمقارنة السريعين، مع توضيح أن مستوى الثقة تقريبي لأن محتوى الصورة وإعدادات برنامج الترميز يسببان تفاوتاً فعلياً.
اقرؤوا النتيجة بوصفها تقديراً نسبياً
اختاروا صيغة التصدير التي تنوون استخدامها، وأدخلوا قيمة الجودة التي سترسلونها إلى برنامج الترميز. تستخدم النتيجة تصديراً بالجودة 100 في الصيغة نفسها بوصفه خط الأساس، ويُمثَّل بحجم نسبي قدره 100 بالمئة. فإذا عرضت الحاسبة حجماً نسبياً قدره 63 بالمئة وانخفاضاً مقدّراً قدره 37 بالمئة، فهذا يعني أن النموذج يتوقع أن يبلغ حجم التصدير ذي الجودة الأقل نحو 63 بالمئة من حجم النسخة ذات الجودة 100. ولا يعني ذلك أن الناتج سيشغل 63 بالمئة من وحدات البايت في ملفكم الحالي، لأن الملف الحالي قد يستخدم صيغة أو أبعاداً أو برنامج ترميز أو ملف بيانات وصفية أو إعداد جودة مختلفاً. يوضح حقل جودة خط الأساس شرط المقارنة هذا. لذلك تعيد الجودة 100 انخفاضاً مقدّراً يساوي صفراً. وتتبع القيم من 1 إلى 99 منحنى سلساً خاصاً بكل صيغة. استخدموا النسبة مؤشراً سريعاً للميزانية أو المقارنة، ولا تضربوها في حجم معروف عند الجودة 100 إلا إذا تطابقت جميع إعدادات التصدير الأخرى.
افهموا سبب اختلاف المنحنى بين صيغ الصور
لا تتحول عناصر التحكم في الجودة مباشرةً إلى نسب من وحدات البايت. تتخلص برامج ترميز JPEG وWebP وAVIF من المعلومات بطرق مختلفة، كما أن مقاييس الجودة الرقمية فيها ليست قابلة للتبادل. تمثل هذه الحاسبة الصيغ ذات الفقد بمنحنيات غير خطية منفصلة وحدود دنيا صغيرة خاصة بكل صيغة. يفترض النموذج انخفاضاً أكبر في AVIF وWebP كلما انخفضت الجودة، بينما يتبع JPEG منحنى أكثر اعتدالاً. أما PNG فيتصرف بطريقة مختلفة لأنه صيغة غير فاقدة في صورته القياسية، ولأن تطبيقات كثيرة تستخدم عنصراً شبيهاً بالجودة لاختيار جهد الضغط أو تقليل لوحة الألوان أو تطبيق تحسين خاص. لذلك يتسم نموذج PNG بالتحفظ عمداً، ويضع حداً أدنى أعلى بكثير حتى لا يوحي بأن خفض جودة PNG يماثل خفض جودة JPEG. هذه المنحنيات افتراضات تخطيط حتمية وليست قياسات لبرنامج ترميز محدد. تعيد المدخلات نفسها دائماً المخرجات نفسها، مما يجعل التقدير مناسباً للواجهات وجداول البيانات والاختبارات والتخطيط الأولي للسعة. للحصول على عدد نهائي من وحدات البايت، رمّزوا وحدات البكسل الفعلية بمكتبة الإنتاج ذاتها، ثم قيسوا الملف الناتج.
استخدموا التقديرات من دون وعود مبالغ فيها
يمثل تعقيد الصورة أكبر متغير غائب عن تقدير يعتمد على حقلين فقط. فقد تنتج عن شعار مسطح وصورة شخصية بخلفية ضبابية ومنظر طبيعي مليء بالتشويش أحجام ملفات مختلفة جداً، حتى عند تطابق الصيغة والجودة. كذلك تؤثر معاينة اللون الفرعية وشفافية ألفا والحركة وملفات تعريف الألوان والبيانات الوصفية وإصدارات برنامج الترميز وإعدادات السرعة والخيارات غير الفاقدة في النتيجة. تعاملوا مع الانخفاض المعاد بوصفه نقطة بداية لاختيار إعداد، لا ضماناً لحجم الرفع أو تكلفة نقل البيانات. يفيد التقدير عند مقارنة قيم جودة متعددة ضمن مسار تصدير متسق، أو تحديد قيمة أولية قبل دورة ترميز مقيسة، أو شرح الاتجاه والحجم المرجحين للتغيير. عندما تفرض خدمة حداً صارماً لعدد وحدات البايت، أجروا ترميزاً واحداً وافحصوا الحجم الفعلي، ثم اضبطوا الجودة ببحث محدود النطاق. كما أن رفض قيم الجودة الواقعة خارج النطاق من 1 إلى 100 يمنع الاستقراء خارج النموذج، حيث قد تبدو النسبة معقولة من دون أن يكون لها معنى مفيد.
حالات الاستخدام
خططوا لميزانية صور الويب
قدّروا الوفر النسبي الناتج عن إعداد جودة مقترح قبل إنشاء مجموعة كاملة من الصور المتجاوبة.
قارنوا إعدادات التصدير
افحصوا نسب جودة متعددة لصيغة واحدة، واختاروا نقطة بداية مناسبة لعمليات ترميز تجريبية مقيسة.
هيئوا برنامج ترميز آلياً
استخدموا التقدير لبدء بحث ضغط محدود قريب من الهدف المرجح بدلاً من البدء من دون أساس.
الأسئلة الشائعة
ما خط الأساس المستخدم لحجم الملف؟
خط الأساس هو تصدير للصورة نفسها وبالصيغة نفسها عند الجودة 100، ويُمثَّل بحجم نسبي قدره 100 بالمئة.
هل تتنبأ النتيجة بعدد دقيق من وحدات البايت؟
لا. إنها تقدير نسبي تقريبي لأن وحدات البكسل والأبعاد والبيانات الوصفية وإعدادات برنامج الترميز غير مقدمة.
لماذا يُعد انخفاض PNG أكثر تحفظاً؟
تكون PNG عادةً صيغة غير فاقدة، ولذلك يغير الإعداد الشبيه بالجودة غالباً جهد الضغط أو معالجة لوحة الألوان بدلاً من العمل مثل جودة JPEG الفاقدة.
ماذا يحدث إذا كانت الجودة صفراً أو تجاوزت 100؟
يفشل الطلب بخطأ إدخال غير صالح. يجب أن تكون الجودة عدداً صحيحاً من 1 إلى 100.
كم تبلغ تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/image/compress-quality \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"format":"jpeg","quality":75}'const res = await fetch("https://api.kit.forhosting.com/image/compress-quality", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"format": "jpeg",
"quality": 75
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/compress-quality",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"format": "jpeg",
"quality": 75
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/compress-quality", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"format":"jpeg","quality":75}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"format":"jpeg","quality":75}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/compress-quality", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"format": "jpeg",
"quality": 75
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.compress_quality",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 15 |
max_megapixels | 12 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |