اضغط الصورة دون فقدان وضوح يُلاحَظ
ضغط الصورة يقلّل حجم ملفها بالميغابايت مع الحفاظ على وضوح مقارب للأصل، عبر تقليل بيانات غير ملحوظة بصريًا بدل تصغير الأبعاد. مفيد لصورة كبيرة يرفضها نموذج إلكتروني بسبب حدود الحجم، أو بريد إلكتروني بطيء الإرسال بسبب مرفقات ثقيلة.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
كيف يقل الحجم دون أن تفقد الصورة وضوحها
تحتوي كثير من الصور بيانات لونية زائدة لا يلاحظها العين البشرية أصلًا، خصوصًا في الصور الملتقطة بكاميرات الهواتف الحديثة عالية الدقة. تُزال هذه البيانات الزائدة انتقائيًا مع الحفاظ على تفاصيل الصورة المهمة، فينخفض حجم الملف بنسبة كبيرة — أحيانًا أكثر من النصف — دون فرق واضح بالعين المجردة عند العرض العادي، حتى على شاشة كبيرة عالية الدقة أو عند تكبير الصورة قليلًا للتفحص.
اختيار مستوى الضغط المناسب
يمكن اختيار درجة الضغط حسب الاستخدام: ضغط خفيف يحافظ على أعلى جودة ممكنة مع تقليل بسيط للحجم، أو ضغط أقوى يعطي أصغر حجم ملف ممكن على حساب جزء من الدقة الدقيقة. صورة موجهة للطباعة تحتاج ضغطًا خفيفًا، بينما صورة موجهة للرفع في نموذج إلكتروني بحد صارم للحجم تستفيد من ضغط أقوى يصل بها إلى الحد المطلوب مباشرة دون محاولات متكررة.
حل مباشر لحدود الرفع في البوابات الحكومية
كثير من الخدمات الإلكترونية، ومنها أبشر وغيرها من البوابات، تفرض حدًا أقصى لحجم المرفقات — ميغابايت واحد أحيانًا. صورة ملتقطة بهاتف حديث قد تتجاوز هذا الحد بسهولة، فيصطدم المستخدم برسالة رفض دون فهم السبب الحقيقي. ضغط الصورة إلى الحد المطلوب دون تغيير أبعادها الظاهرة يحل هذه المشكلة مباشرة دون الحاجة إلى تصغير الصورة نفسها أو إعادة تصويرها من جديد.
الفرق بين الضغط وتغيير الحجم
تغيير الحجم يعدّل أبعاد الصورة بالبكسل، بينما الضغط يقلّل وزن الملف بالميغابايت دون تغيير أبعاده بالضرورة. غالبًا يُجمَع الاثنان معًا لتحقيق أفضل نتيجة: تصغير الأبعاد أولًا ثم ضغط الملف الناتج، وهو ما يعطي أخف حجم ممكن دون التضحية بوضوح الصورة عند العرض العادي على أي جهاز أو شاشة، وهي الطريقة الأمثل لمن يريد أصغر حجم ممكن دون التنازل عن الوضوح كليًا.
حالات الاستخدام
رفع صورة لموقع أبشر
يحتاج محمد الحربي رفع صورة إثبات إلى نموذج إلكتروني يشترط حد أقصى ميغابايت واحد. صورته الأصلية 6 ميغابايت؛ يضغطها إلى الحد المطلوب دون تغيير أبعادها الظاهرة، فيقبلها النموذج من أول محاولة.
إرسال صور فاتورة بالبريد الإلكتروني
ترسل نورة القحطاني عدة صور فواتير ملتقطة بالجوال إلى محاسب الشركة، لكن حجمها الكبير يبطّئ الإرسال. ضغطها يقلّل الحجم كثيرًا مع بقاء الأرقام والنصوص واضحة تمامًا.
تسريع صفحات متجر إلكتروني
يلاحظ خالد العتيبي أن صفحات متجره تُحمَّل ببطء بسبب صور منتجات ثقيلة. ضغط كل صورة منتج يقلّل حجم الصفحة الإجمالي، فتُحمَّل أسرع دون أن يلاحظ الزوار فرقًا في الجودة.
الأسئلة الشائعة
هل يقل وضوح الصورة بعد الضغط؟
ضغط بمستوى معتدل لا يُلاحَظ فرقه بالعين المجردة عادة، لأنه يستهدف بيانات لونية زائدة أصلًا. الفرق يصبح ملحوظًا فقط عند اختيار أعلى درجات الضغط لأصغر حجم ممكن.
إلى أي حجم يمكن ضغط صورتي بالضبط؟
يمكن تحديد حجم مستهدف تقريبي، كأقل من ميغابايت واحد، فتضبط الأداة درجة الضغط تلقائيًا للوصول إلى هذا الحد قدر الإمكان مع أعلى جودة ممكنة عنده.
هل الضغط يغيّر أبعاد الصورة بالبكسل؟
لا بالضرورة؛ الضغط يقلّل وزن الملف دون تغيير أبعاده الظاهرة، إلا إذا اخترت أيضًا تصغير الأبعاد معه للحصول على أصغر حجم ممكن.
كم تكلفة ضغط صورة واحدة؟
السعر $0.002 للطلب الواحد إضافة إلى $0.005 للصورة، بغض النظر عن حجمها الأصلي أو مستوى الضغط المختار.
هل تحتفظون بصورتي بعد ضغطها؟
لا. تُعالَج الصورة عبر اتصال مشفّر لإنتاج النسخة المضغوطة فقط، ثم لا تبقى محفوظة على خوادمنا بعد تسليم النتيجة.
هل الأداة مجانية؟
لا، السعر معلن ومحدد سلفًا: $0.002 للطلب و$0.005 للصورة، تدفعها مباشرة دون اشتراك شهري أو حد أدنى للاستخدام.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/image/compress \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/compress", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/compress",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/compress", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/compress", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"image": "https://ejemplo.com/imagen.jpg"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.compress",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |