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