هل ملف الصورة سليم أم تالف؟
تفحص هذه الأداة ملف صورة قبل رفعه إلى أي مكان: هل الامتداد المذكور يطابق محتواه فعلًا، هل الملف تالف، وما أبعاده وعمقه اللوني. الفحص يجري بالكامل داخل المتصفح، بلا حدود استخدام وبلا مقابل، فتعرف حالة الملف قبل أن يتسبب في مشكلة لاحقة في نظامك.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
ما الذي تفحصه الأداة بالضبط
تقرأ الأداة محتوى الملف بايتًا بايتًا، وتُبيّن هل يطابق فعلًا الامتداد المذكور له — فملف PNG محفوظ بامتداد JPG خاطئ يظهر فورًا، وكذلك ملف JPG مقطوع لا يُفتح كاملًا. إلى جانب ذلك، تُرجع الأداة الأبعاد والعمق اللوني، وإن وُجدت قناة شفافية. النتيجة إجابة واضحة بالصلاحية من عدمها، مرفقة بالتفاصيل التقنية للملف، دون الحاجة لفتح الصورة في برنامج تحرير فقط للتأكد من سلامتها يدويًا.
متى يستحق الفحص وقته
من يستقبل صورًا من عملاء أو مستخدمين — عبر نموذج رفع أو سوق إلكتروني — يريد معرفة سلامة الملف قبل معالجته لا بعده. الملف التالف أو المسمّى خطأً يظهر عادة في مرحلة متأخرة من المعالجة، حيث يصعب تتبع السبب. الفحص عند الرفع مباشرة يوقف هذه الحالات في بدايتها قبل أن تتحول إلى مشكلة في مرحلة لاحقة من العملية، ويوفّر على فريق الدعم وقتًا كان سيُصرف لاحقًا في تتبّع سبب فشل غامض داخل خط المعالجة.
مجاني في المتصفح، اختياري عبر API
الاستخدام العادي يكفيه هذه الصفحة: الملف يُفحص محليًا ولا يغادر جهازك، بلا حد وبلا تكلفة. من يريد دمج الفحص داخل مسار رفع خاص به، قبل وصول الملف إلى خادمه مثلًا، يستدعي الوظيفة نفسها عبر الـAPI بسعر $0.002 للطلب، لأن المعالجة حينها تجري على الخادم لا داخل متصفح المستخدم النهائي. هذا الخيار يفيد بالتحديد أنظمة الرفع الآلية التي تستقبل ملفات من مصادر خارجية دون مرور مستخدم بمتصفح على الإطلاق.
حالات الاستخدام
نموذج رفع صور منتجات
تستقبل شركة الخليج الرقمية صور منتجات من موزّعين عبر نموذج إلكتروني. فحص الملف عند الرفع يمنع أن يظهر ملف تالف لاحقًا داخل الكتالوج.
سوق إلكتروني بعدد كبير من البائعين
يفحص سوق إلكتروني إقليمي كل صورة تُرفع قبل نشرها. أي ملف بامتداد خاطئ أو محتوى تالف يُرفض فورًا بدل أن يعطّل عملية الاستيراد لاحقًا.
أرشيف مسحوبات قديمة
يمسح أرشيف حكومي في أبوظبي وثائق قديمة، ويفحص كل ملف قبل حفظه للكشف المبكر عن مسحات تالفة وإعادة مسحها من جديد.
الأسئلة الشائعة
هل يغادر ملفي المتصفح؟
لا، عند الاستخدام من هذه الصفحة يبقى الملف على جهازك؛ الفحص يجري محليًا داخل المتصفح.
هل تكتشف الأداة امتدادًا خاطئًا للملف؟
نعم. الفحص يقرأ محتوى الملف الفعلي لا الامتداد فقط — ملف PNG محفوظ باسم jpg. يُكتشف على هذا الأساس.
ما تكلفة الفحص؟
لا شيء داخل المتصفح. للاستخدام عبر API من جهة الخادم: $0.002 لكل طلب، وهذا مهم فقط عند دمج الفحص آليًا في نظامك.
هل يتطلب استخدام الأداة إنشاء حساب؟
لا، لا توجد حسابات حاليًا — الأداة داخل المتصفح تعمل دون تسجيل دخول.
ما امتدادات الصور التي تتعرف عليها الأداة؟
JPG وPNG وWebP وGIF وعدد من الامتدادات الشائعة الأخرى.
هل هناك حد لحجم الملف؟
حتى 15 ميجابايت و12 ميجابكسل للملف الواحد، وهو حد يغطي صور أي كاميرا حديثة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/image/validate \
-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/validate", {
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/validate",
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/validate", 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/validate", 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.validate",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |