Files
SnapOtter/apps/docs/ar/api/ai.md
T
SnapOtterandGitHub 991c981529 fix: make OCR portable and reliable across AMD64 and ARM64 (#519)
* fix: make OCR portable and reliable

* fix: harden OCR installation portability

* fix: pin OCR partials across downloads

* fix: make OCR execution reliably asynchronous

* fix: harden OCR portability and docs routes

* fix: preserve decoder and docs safeguards
2026-07-15 03:34:24 +08:00

36 KiB

description, i18n_output_hash, i18n_source_hash, i18n_provenance
description i18n_output_hash i18n_source_hash i18n_provenance
مرجع محرك الذكاء الاصطناعي مع جميع أدوات التعلم الآلي المحلية. إزالة الخلفية، وتحسين الدقة، وقراءة النصوص (OCR)، واكتشاف الوجوه، وترميم الصور، والمزيد. 778d92965216 aa9a56cdddc7 human

مرجع محرك الذكاء الاصطناعي

تقوم حزمة @snapotter/ai بتنسيق الأدوات الأصلية وأوقات تشغيل Python لعمليات ML المحلية. تستخدم معظم أدوات ML Python sidecar المستمر لبدء التشغيل الدافئ السريع. OCR منفصل عمدا: يستدعي fast ثنائي Tesseract الأصلي، بينما يستخدم balanced وbest JSONL dispatcher المستمر المخصص والمثبت على جيل RapidOCR النشط غير القابل للتغيير ضمن /data/ai/v3. يحمل كل طلب generation lease. أثناء الترقية، يقوم SnapOtter بتشغيل smoke test على المرشح قبل التنشيط، ويتحول تلقائيًا إلى dispatcher الجديد، ثم يستنزف الجيل القديم قبل garbage collection.

يتم اكتشاف NVIDIA CUDA تلقائيًا ويتم استخدامه في أوقات التشغيل التي تدعمه. يستخدم OCR CPU على كل مضيف، بما في ذلك الأنظمة التي تحتوي على وحدات معالجة الرسومات NVIDIA، مع تجنب CUDA واقتران برنامج التشغيل لهذه الأداة.

تسريع وحدة معالجة الرسومات المدمجة من Intel/AMD عبر VA-API أو Quick Sync أو OpenCL غير مدعوم لاستدلال الذكاء الاصطناعي حاليًا. تعيين /dev/dri داخل حاوية لا يسرّع أدوات Python الجانبية هذه ما لم تتوفر وحدة معالجة رسومات NVIDIA قادرة على تشغيل CUDA.

19 أداة ذكاء اصطناعي تعمل عبر Python الجانبية موزّعة على أربع طرائق (صورة، وصوت، وفيديو، ومستند)، بالإضافة إلى أداتين ذواتَي قدرات ذكاء اصطناعي اختيارية. تعمل جميع النماذج محليًا، ولا حاجة للإنترنت بعد التنزيل الأولي للنموذج.

::: info توافق OCR الكوري يدعم Fast OCR اللغات auto وen وde وes وfr وzh وja، لكنه لا يدعم الكورية (ko). تتطلب الكورية حزمة OCR الدقيقة ومستوى balanced أو best. تعمل الحزمة على حاويات Linux amd64 وarm64 الرسمية، بما في ذلك مضيفات NVIDIA حيث يبقى OCR على CPU. تُرجع الأنظمة غير المدعومة خطأ توافق صريحاً ولا تعود بصمت إلى fast. كما يُرفض طلب Korean مع fast أو الاسم القديم tesseract قبل وضعه في قائمة الانتظار، مع FEATURE_INCOMPATIBLE والسبب fast-korean-unsupported. :::

البنية المعمارية

Node.js Tool Route
      |
      v
 @snapotter/ai bridge.ts
      | (stdin/stdout JSON + stderr progress events)
      v
 +-- Native Tesseract + Ghostscript (fast image/PDF OCR)
 |
 +-- Isolated OCR runtime (persistent JSONL dispatcher)
 |     `-- RapidOCR + ONNX Runtime CPU + pinned PP-OCR models
 |
 `-- Python dispatcher (persistent process, "ai" profile)
      |
      |-- remove_bg.py        (rembg / BiRefNet)
      |-- upscale.py          (RealESRGAN)
      |-- inpaint.py          (LaMa ONNX)
      |-- outpaint.py         (LaMa canvas expansion)
      |-- detect_faces.py     (MediaPipe)
      |-- face_landmarks.py   (MediaPipe landmarks)
      |-- enhance_faces.py    (GFPGAN / CodeFormer)
      |-- colorize.py         (DDColor)
      |-- noise_removal.py    (SCUNet / tiered denoising)
      |-- red_eye_removal.py  (landmark + color analysis)
      |-- restore.py          (scratch repair + enhancement + denoising)
      |-- transcribe.py       (faster-whisper speech-to-text)
      +-- install_feature.py  (on-demand bundle installer)

يستبدل ملف تعريف موزّع "docs" منفصل قائمةَ السماح الخاصة بالذكاء الاصطناعي بنصوص معالجة المستندات (doc_pagecount، doc_health، doc_flatten، doc_redact، doc_text، doc_to_word، doc_metadata، doc_html_pdf) ويتجاوز عمليات استيراد التعلم الآلي الثقيلة.

المهل الزمنية: 300 ثانية افتراضيًا؛ وتحصل قراءة النصوص (OCR) وإزالة الخلفية بـ BiRefNet على 600 ثانية.

حزم الميزات

تُحزَّم نماذج الذكاء الاصطناعي حسب حزمة التبعيات المشتركة، وليس أرشيفًا واحدًا لكل أداة. يمكن لحزمة الميزات أن تُفعّل عدة أدوات عندما تستخدم العائلة نفسها من النماذج، أو حزم Python (wheels)، أو المكتبات الأصلية. يبقي هذا صورة Docker الخاصة بالإصدار أصغر ويتجنب تخزين نسخ مكررة من نماذج تنعيم الخلفية، واكتشاف الوجوه، وقراءة النصوص، والترميم، والكلام نفسها.

تشحن صورة Docker التطبيقَ إضافةً إلى وقت التشغيل المشترك. تُنزَّل أرشيفات النماذج الكبيرة عند الطلب إلى وحدة التخزين الدائمة /data/ai، ثم تُعاد استخدامها من قِبل كل أداة تحتاجها. إذا كانت الحزمة مثبّتة بالفعل لأن أداة أخرى احتاجتها، فإن تفعيل أداة جديدة معتمدة عليها لا يُعيد تنزيل تلك الحزمة.

تتطلب معظم أدوات الذكاء الاصطناعي حزمة ميزات واحدة أو أكثر قبل أن تتمكن من التشغيل. تقوم واجهة المستخدم الإدارية بتثبيت تلك عن طريق الأداة من خلال POST /api/v1/admin/tools/:toolId/features/install، الذي يحل قائمة الحزم الكاملة، ويتخطى الحزم المثبتة بالفعل، ويضع التنزيلات المفقودة فقط في قائمة الانتظار. على سبيل المثال، تمكين صورة جواز السفر في قائمة انتظار المثيلات الجديدة background-removal وface-detection؛ تمكينه بعد تثبيت بالفعل قوائم الانتظار إزالة الخلفية فقط face-detection. OCR هو الاستثناء لأن fast لا يحتاج إلى حزمة؛ قم بتثبيت وقت التشغيل الدقيق الاختياري من خلال واجهة المستخدم أو POST /api/v1/admin/features/ocr/install.

الحزمة الحجم مجموعة التبعيات المشتركة الأدوات التي تستخدمها
background-removal 4-5 GB تنعيم الخلفية rembg / BiRefNet remove-background, passport-photo, transparency-fixer, background-replace, blur-background
face-detection 200-300 MB اكتشاف الوجوه والمعالم في MediaPipe blur-faces, red-eye-removal, smart-crop
object-eraser-colorize 1-2 GB الرسم الداخلي/الخارجي بـ LaMa و DDColor erase-object, colorize, ai-canvas-expand
upscale-enhance 5-6 GB RealESRGAN و GFPGAN / CodeFormer وإزالة التشويش upscale, enhance-faces, noise-removal
photo-restoration 4-5 GB مسار إصلاح الخدوش والترميم restore-photo
ocr ~208-234 MiB تنزيل / ~409-488 MiB مثبتة اختياري RapidOCR 3.9.1، ONNX Runtime 1.20.1، ونماذج PP-OCR المثبتة ocr وocr-pdf (balanced وbest فقط)
transcription ~600 MB نماذج تحويل الكلام إلى نص faster-whisper transcribe-audio, auto-subtitles

أدوات ذات تبعيات عبر عدة حزم:

الأداة الحزم المطلوبة السبب
passport-photo background-removal، face-detection يزيل الخلفية، ثم يستخدم معالم الوجه لتأطير القص وفق قواعد صور جواز السفر والهوية.
enhance-faces upscale-enhance، face-detection يكتشف الوجوه قبل تشغيل تحسين GFPGAN أو CodeFormer على مناطق الوجه المحددة.

تتوفر الأداة فقط عند تثبيت جميع الحزم المطلوبة، باستثناء OCR: تظل طبقة fast المضمنة متاحة بدون حزمة OCR الاختيارية. عمليات التثبيت الجزئية صالحة ويتم التعامل معها بشكل متزايد: تتم إعادة استخدام الحزم المثبتة، وتظهر الحزم المفقودة كتنزيلات، ويتم تشغيل عمليات التثبيت الموضوعة في قائمة الانتظار واحدًا تلو الآخر حتى لا يتم تعديل بيئة Python المشتركة بشكل متزامن.

التثبيت الدقيق لوقت تشغيل OCR

تعد حزمة OCR الدقيقة بمثابة وقت تشغيل خاص بالمنصة لحاوية Linux amd64 أو Linux arm64 الرسمية. يستخدم الإصدار amd64 Python 3.12؛ يستخدم الإصدار arm64 Python 3.11. يعمل كلا الإصدارين على تشغيل RapidOCR من خلال ONNX Runtime's CPUExecutionProvider، لذا فإن نفس الحزمة تعمل على وحدة المعالجة المركزية (CPU) فقط ومضيفي NVIDIA Docker. يتطلب وقت التشغيل الدقيق ما لا يقل عن 4 GiB من الذاكرة الفعالة: الحد الأقصى للحاوية التي تم تكوينها cgroup، خلاف ذلك الذاكرة المضيفة. يتم رفض النظام الموجود أسفل الحد الأدنى من التوافق الموقع قبل التنزيل. لا ينطبق هذا المتطلب على Fast OCR المدمج. تم رفض إصدارات Bare-metal لأنه لا يمكن استنتاج libc و Python ABI بشكل آمن؛ يظل OCR السريع متاحًا عندما يوفر المضيف Tesseract و Ghostscript.

يكون المنتج الاختياري حوالي 208-234 MiB مضغوطًا و409-488 MiB مستخرجًا، اعتمادًا على البنية. يربط الفهرس الموقع عدد البايتات المضغوطة والمستخرجة بدقة والذي يفرضه المثبت. يضيف Tesseract المدمج حوالي 25 MiB إلى الصورة الرسمية ولا يحتاج إلى ملفات في /data/ai.

يجلب التثبيت عبر الإنترنت فهرس الإصدار الموقع والمحتوى المحدد الذي يتناوله النظام الأساسي الحالي. يتحقق SnapOtter من توقيع فهرس Ed25519، وحجم القطعة الأثرية، وملخص SHA-256، وملخصات النموذج، والمسارات، وأوضاع الملفات، و smoke test المرحلي قبل تنشيط الجيل الجديد ذريًا. يؤدي التثبيت الفاشل إلى ترك الجيل السليم السابق نشطًا.

للتثبيت الهوائي، قم بتحميل كل من ocr-runtime-index.json الخاص بالإصدار وأرشيف وقت تشغيل OCR المطابق إلى POST /api/v1/admin/features/import باستخدام حقول متعددة الأجزاء تسمى index وarchive. يطبق الاستيراد دون اتصال نفس عمليات التحقق من التوقيع والتجزئة والاستخراج والتوافق واختبار الدخان مثل التثبيت عبر الإنترنت؛ يتم رفض الأرشيف الذي لا يحتوي على الفهرس الموقع الموثوق به.


إزالة الخلفية

مسار الأداة: remove-background
النموذج: rembg مع BiRefNet (الافتراضي) أو متغيرات U2-Net

المعامل النوع الافتراضي الوصف
model نص - متغير النموذج (تجاوز اختياري)
backgroundType نص "transparent" أحد: transparent، color، gradient، blur، image
backgroundColor نص - لون سداسي عشري لخلفية موحّدة
gradientColor1 نص - لون التدرّج الأول
gradientColor2 نص - لون التدرّج الثاني
gradientAngle رقم - زاوية التدرّج بالدرجات
blurEnabled منطقي - تفعيل تأثير طمس الخلفية
blurIntensity رقم (0-100) - شدة الطمس
shadowEnabled منطقي - تفعيل الظل المُسقَط على الموضوع
shadowOpacity رقم (0-100) - تعتيم الظل
outputFormat نص - تنسيق الإخراج: png أو webp أو avif
edgeRefine عدد صحيح (0-3) - مستوى تنقيح الحواف
decontaminate منطقي - إزالة تسرّب الألوان من الحواف

استبدال الخلفية

مسار الأداة: background-replace
النموذج: rembg / BiRefNet (مشترك مع remove-background)

يزيل الخلفية ويستبدلها بلون موحّد أو تدرّج لوني.

المعامل النوع الافتراضي الوصف
backgroundType "color" | "gradient" "color" وضع الخلفية
color نص "#ffffff" لون الخلفية السداسي العشري (عندما يكون backgroundType هو color)
gradientColor1 نص - لون التدرّج السداسي العشري الأول
gradientColor2 نص - لون التدرّج السداسي العشري الثاني
gradientAngle عدد صحيح (0-360) 180 زاوية التدرّج بالدرجات
feather عدد صحيح (0-20) 0 نصف قطر تنعيم الحواف
format "png" | "webp" "png" تنسيق الإخراج

طمس الخلفية

مسار الأداة: blur-background
النموذج: rembg / BiRefNet (مشترك مع remove-background)

يطمس الخلفية مع إبقاء الموضوع حادًا.

المعامل النوع الافتراضي الوصف
intensity عدد صحيح (1-100) 50 شدة الطمس
feather عدد صحيح (0-20) 0 نصف قطر تنعيم الحواف
format "png" | "webp" "png" تنسيق الإخراج

تحسين دقة الصورة

مسار الأداة: upscale
النموذج: RealESRGAN (مع الرجوع إلى Lanczos عند عدم التوفر)

المعامل النوع الافتراضي الوصف
scale رقم 2 عامل تحسين الدقة
model نص "auto" متغير النموذج
faceEnhance منطقي false تطبيق مرور تحسين الوجه بـ GFPGAN
denoise رقم 0 قوة إزالة التشويش
format نص "auto" تجاوز تنسيق الإخراج
quality رقم 95 جودة الإخراج (1-100)

قراءة النصوص (OCR) / استخراج النص

مسار الأداة: ocr
النماذج: Tesseract (fast)؛ RapidOCR مع نماذج PP-OCRv6 الصغيرة (balanced)؛ الطرازات المتوسطة PP-OCRv6 مع تسجيل متغير مُعاير (best)

المعامل النوع الافتراضي الوصف
quality "fast" | "balanced" | "best" متحرك عند حذف quality وengine، يختار SnapOtter أعلى مستوى متاح بالترتيب: best ثم balanced ثم fast. لا تختار اللغة الكورية fast أبداً؛ بل تستخدم best ثم balanced، أو تُرجع خطأ تثبيت أو توافق لوقت التشغيل الدقيق.
language نص "auto" اللغة: auto، en، de، fr، es، zh، ja، ko
enhance منطقية تعتمد على الطبقة تحسين التباين المحلي. سريع يطبقه مباشرة؛ تحافظ الطبقات الدقيقة على المتغير فقط عندما يؤدي تسجيل المعايرة إلى تحسين OCR. الإعدادات الافتراضية للأفضل
engine خيط - الاسم المستعار للتوافق مهمل. تعيين tesseract إلى fast وقيمة paddleocr القديمة إلى balanced؛ لا يتم تحميل PaddlePaddle

إرجاع النص المستخرج بالإضافة إلى بيانات تعريف المصدر: المحرك، والجودة المطلوبة والفعلية، والجهاز، والموفر، وحالة التدهور، والتحذيرات، وإصدارات وقت التشغيل/الطراز الدقيقة عند الاقتضاء. طلبات الجودة الصريحة لا تعود أبدًا إلى مستوى آخر. في حالة عدم توفر balanced أو best، تقوم API بإرجاع FEATURE_NOT_INSTALLED أو FEATURE_INCOMPATIBLE بدلاً من تشغيل fast بصمت.

قراءة نصوص PDF

مسار الأداة: ocr-pdf
النماذج: نظام الطبقات نفسه المستخدم في قراءة نصوص الصور

يستخرج النص من مستندات PDF الممسوحة ضوئيًا باستخدام قراءة النصوص المدعومة بالذكاء الاصطناعي، صفحة بصفحة.

المعامل النوع الافتراضي الوصف
quality "fast" | "balanced" | "best" متحرك عند حذف quality وengine، يختار SnapOtter أعلى مستوى متاح بالترتيب: best ثم balanced ثم fast. لا تختار اللغة الكورية fast أبداً؛ بل تستخدم best ثم balanced، أو تُرجع خطأ تثبيت أو توافق لوقت التشغيل الدقيق.
language نص "auto" اللغة: auto، en، de، fr، es، zh، ja، ko
pages نص "all" تحديد الصفحات: "all"، "1-3"، "1,3,5"
enhance منطقية تعتمد على الطبقة تحسين التباين المحلي. سريع يطبقه مباشرة؛ تحافظ الطبقات الدقيقة على المتغير فقط عندما يؤدي تسجيل المعايرة إلى تحسين OCR. الإعدادات الافتراضية للأفضل
engine خيط - الاسم المستعار للتوافق مهمل. تعيين tesseract إلى fast وقيمة paddleocr القديمة إلى balanced؛ لا يتم تحميل PaddlePaddle

تنطبق نفس قاعدة عدم الرجوع إلى الإصدار السابق على PDF OCR. يتم تنقيط صفحات PDF قبل التعرف عليها، ويمكن لطلب واحد تحديد 50 صفحة على الأكثر.

طمس الوجوه / المعلومات الشخصية

مسار الأداة: blur-faces
النموذج: اكتشاف الوجوه بـ MediaPipe

المعامل النوع الافتراضي الوصف
blurRadius رقم (1-100) 30 نصف قطر طمس غاوس
sensitivity رقم (0-1) 0.5 عتبة ثقة الاكتشاف

تحسين الوجه

مسار الأداة: enhance-faces
النماذج: GFPGAN، CodeFormer

المعامل النوع الافتراضي الوصف
model "auto" | "gfpgan" | "codeformer" "auto" نموذج التحسين
strength رقم (0-1) 0.8 قوة التحسين
sensitivity رقم (0-1) 0.5 عتبة اكتشاف الوجه
onlyCenterFace منطقي false تحسين الوجه الأكثر مركزية فقط

التلوين بالذكاء الاصطناعي

مسار الأداة: colorize
النموذج: DDColor (مع الرجوع إلى OpenCV DNN)

يحوّل الصور بالأبيض والأسود أو ذات التدرّج الرمادي إلى ألوان كاملة.

المعامل النوع الافتراضي الوصف
intensity رقم (0-1) 1.0 قوة تشبّع الألوان
model "auto" | "ddcolor" | "opencv" "auto" متغير النموذج

إزالة التشويش

مسار الأداة: noise-removal
النموذج: SCUNet (مسار إزالة تشويش متدرّج)

المعامل النوع الافتراضي الوصف
tier "quick" | "balanced" | "quality" | "maximum" "balanced" طبقة المعالجة
strength رقم (0-100) 50 قوة إزالة التشويش
detailPreservation رقم (0-100) 50 مقدار التفاصيل المراد الحفاظ عليها؛ القيمة الأعلى تُبقي نسيجًا أكثر
colorNoise رقم (0-100) 30 قوة تقليل تشويش الألوان
format نص "original" تنسيق الإخراج: original، png، jpeg، webp، avif، jxl
quality رقم (1-100) 90 جودة ترميز الإخراج

إزالة العين الحمراء

مسار الأداة: red-eye-removal

يكتشف معالم الوجه، ويحدد مناطق العينين، ويصحح فرط تشبّع القناة الحمراء.

المعامل النوع الافتراضي الوصف
sensitivity رقم (0-100) 50 عتبة اكتشاف البكسل الأحمر
strength رقم (0-100) 70 قوة التصحيح
format نص - تجاوز تنسيق الإخراج (اختياري)
quality رقم (1-100) 90 جودة الإخراج

ترميم الصور

مسار الأداة: restore-photo

مسار متعدد الخطوات للصور القديمة أو التالفة: اكتشاف الخدوش/التمزقات وإصلاحها، وتحسين الوجه، وإزالة التشويش، والتلوين الاختياري.

المعامل النوع الافتراضي الوصف
scratchRemoval منطقي true اكتشاف الخدوش والتمزقات وإصلاحها
faceEnhancement منطقي true تطبيق مرور تحسين الوجه
fidelity رقم (0-1) 0.7 قوة تحسين الوجه (الأعلى = أكثر تحفظًا)
denoise منطقي true تطبيق مرور إزالة التشويش
denoiseStrength رقم (0-100) 25 قوة إزالة التشويش
colorize منطقي false التلوين بعد الترميم
colorizeStrength رقم (0-100) 85 شدة التلوين

صورة جواز السفر

مسار الأداة: passport-photo
النماذج: معالم الوجه بـ MediaPipe + إزالة الخلفية بـ BiRefNet

سير عمل من مرحلتين: التحليل (اكتشاف الوجه + إزالة الخلفية) ثم التوليد (القص، وتغيير الحجم، والتبليط). يدعم أكثر من 37 دولة عبر 6 مناطق.

المرحلة 1: التحليل

POST /api/v1/tools/image/passport-photo/analyze

يقبل ملف صورة (متعدد الأجزاء). يُرجِع بيانات معالم الوجه، ومعاينة بترميز base64، وأبعاد الصورة.

المرحلة 2: التوليد

POST /api/v1/tools/image/passport-photo/generate

يقبل جسم JSON يحتوي على نتائج المرحلة 1 إضافةً إلى إعدادات التوليد:

المعامل النوع الافتراضي الوصف
jobId نص (مطلوب) معرّف المهمة من المرحلة 1
filename نص (مطلوب) اسم الملف الأصلي من المرحلة 1
countryCode نص (مطلوب) رمز الدولة ISO (مثل US، GB، IN)
documentType نص "passport" نوع المستند
bgColor نص "#FFFFFF" لون الخلفية السداسي العشري
printLayout نص "none" تخطيط الطباعة: none، 4x6، a4، letter
maxFileSizeKb رقم 0 الحد الأقصى لحجم الملف بالكيلوبايت (0 = بلا حد)
dpi رقم (72-1200) 300 دقة الإخراج DPI
customWidthMm رقم - عرض مخصص بالمليمتر (يتجاوز مواصفات الدولة)
customHeightMm رقم - ارتفاع مخصص بالمليمتر (يتجاوز مواصفات الدولة)
zoom رقم (0.5-3) 1 عامل التكبير
adjustX رقم 0 تعديل الموضع الأفقي
adjustY رقم 0 تعديل الموضع الرأسي
landmarks كائن (مطلوب) المعالم من المرحلة 1
imageWidth رقم (مطلوب) عرض الصورة من المرحلة 1
imageHeight رقم (مطلوب) ارتفاع الصورة من المرحلة 1

محو الأجسام (الرسم الداخلي)

مسار الأداة: erase-object
النموذج: LaMa عبر ONNX Runtime

يُرسَل القناع كـجزء ملف ثانٍ (اسم الحقل mask)، وليس بترميز base64. تشير البكسلات البيضاء في القناع إلى المناطق المراد محوها. يُرسَل الإعدادان format وquality كحقول نموذج علوية المستوى.

المعامل النوع الافتراضي الوصف
file ملف (مطلوب) الصورة المصدر (متعددة الأجزاء)
mask ملف (مطلوب) صورة القناع (متعددة الأجزاء، اسم الحقل mask، الأبيض = محو)
format نص "auto" تنسيق الإخراج: auto، png، jpg، jpeg، webp، tiff، gif، avif، heic، heif، jxl
quality عدد صحيح (1-100) 95 جودة الإخراج

مُسرَّع بـ CUDA عند توفر وحدة معالجة رسومات NVIDIA.

توسيع اللوحة بالذكاء الاصطناعي

مسار الأداة: ai-canvas-expand
النموذج: الرسم الخارجي القائم على LaMa

يوسّع لوحة الصورة في أي اتجاه ويملأ المناطق الجديدة بمحتوى مولّد بالذكاء الاصطناعي يطابق الصورة الموجودة.

المعامل النوع الافتراضي الوصف
extendTop عدد صحيح 0 البكسلات المراد تمديدها في الأعلى
extendRight عدد صحيح 0 البكسلات المراد تمديدها على اليمين
extendBottom عدد صحيح 0 البكسلات المراد تمديدها في الأسفل
extendLeft عدد صحيح 0 البكسلات المراد تمديدها على اليسار
tier "fast" | "balanced" | "high" "balanced" طبقة الجودة
format نص "auto" تنسيق الإخراج: auto، png، jpg، jpeg، webp، tiff، gif، avif، heic، heif، jxl
quality عدد صحيح (1-100) 95 جودة الإخراج

يجب أن يكون اتجاه تمديد واحد على الأقل أكبر من 0.

القص الذكي

مسار الأداة: smart-crop
النموذج: اكتشاف الوجوه بـ MediaPipe (وضع الوجه فقط)

المعامل النوع الافتراضي الوصف
mode نص "subject" استراتيجية القص: subject، face، trim
strategy "attention" | "entropy" "attention" استراتيجية وضع الموضوع
width عدد صحيح - عرض الإخراج
height عدد صحيح - ارتفاع الإخراج
padding عدد صحيح (0-50) 0 نسبة الحشو حول الموضوع
facePreset نص "head-shoulders" التأطير المُعَدّ مسبقًا عند mode=face
sensitivity رقم (0-1) 0.5 عتبة اكتشاف الوجه
threshold عدد صحيح (0-255) 30 عتبة اكتشاف الخلفية (وضع التشذيب)
padToSquare منطقي false حشو النتيجة المُشذَّبة إلى مربع
padColor نص "#ffffff" لون الخلفية للحشو المربّع
targetSize عدد صحيح - الحجم المستهدف للإخراج المحشو (بالبكسل)
quality عدد صحيح (1-100) - جودة الإخراج

تُقبَل القيم القديمة mode وهي attention وcontent وتُعيَّن إلى subject وtrim على التوالي.

الإعدادات المسبقة للوجه:

الإعداد المسبق الأفضل لِـ
closeup لقطات الرأس
head-shoulders صور الملف الشخصي
upper-body LinkedIn / رسمي
half-body الجزء العلوي الكامل من الجسم

نسخ الصوت

مسار الأداة: transcribe-audio
النموذج: faster-whisper

يحوّل الكلام إلى نص. يدعم تنسيقات إخراج النص العادي و SRT و VTT.

المعامل النوع الافتراضي الوصف
language نص "auto" اللغة: auto، en، de، fr، es، zh، ja، ko، id، th، vi
outputFormat "txt" | "srt" | "vtt" "txt" تنسيق الإخراج

الترجمات التلقائية

مسار الأداة: auto-subtitles
النموذج: faster-whisper (يستخرج الصوت من الفيديو، ثم ينسخه)

يولّد ملفات ترجمة من مسار الصوت في الفيديو.

المعامل النوع الافتراضي الوصف
language نص "auto" اللغة: auto، en، de، fr، es، zh، ja، ko، id، th، vi
format "srt" | "vtt" "srt" تنسيق ملف الترجمة للإخراج

مُصلِح شفافية PNG

مسار الأداة: transparency-fixer
النموذج: تنعيم BiRefNet عالي الدقة (بدقة 2048x2048)

يصلح ملفات PNG "الشفافة الزائفة" حيث أُزيلت الخلفية لكنها تركت وراءها هُدبًا، أو هالات، أو عيوبًا شبه شفافة. يستخدم نموذج التنعيم عالي الدقة من BiRefNet لإنتاج قناة ألفا نظيفة، ثم يطبّق معالجة إزالة هُدب قابلة للتهيئة لإزالة تلوث الألوان على طول الحواف.

سلسلة الرجوع عند نفاد الذاكرة (OOM): إذا تجاوز تنعيم BiRefNet عالي الدقة الذاكرة المتاحة، ترجع الأداة تلقائيًا إلى birefnet-general، ثم إلى u2net.

المعامل النوع الافتراضي الوصف
defringe رقم (0-100) 30 قوة إزالة هُدب الحواف لإزالة تلوث الألوان
outputFormat "png" | "webp" "png" تنسيق صورة الإخراج
removeWatermark منطقي false تطبيق معالجة مسبقة لإزالة العلامة المائية (مرشّح وسيط)
curl -X POST http://localhost:1349/api/v1/tools/image/transparency-fixer \
  -H "Authorization: Bearer <token>" \
  -F "file=@fake-transparent.png" \
  -F 'settings={"defringe":30,"outputFormat":"png"}'

أدوات ذات قدرات ذكاء اصطناعي اختيارية

الأدوات التالية ليست أدوات Python جانبية لكنها تستخدم ميزات الذكاء الاصطناعي عند تفعيل خيارات معينة.

تحسين الصورة

مسار الأداة: image-enhancement
المحرك: قائم على التحليل (المدرج التكراري والإحصاءات في Sharp)

يحلّل الصورة ويطبّق تصحيحات تلقائية للتعريض، والتباين، وتوازن الأبيض، والتشبّع، والحدة، والتشويش. يدعم أوضاعًا خاصة بالمشهد.

المعامل النوع الافتراضي الوصف
mode "auto" | "portrait" | "landscape" | "low-light" | "food" | "document" "auto" وضع المشهد لضبط التصحيحات
intensity رقم (0-100) 50 قوة التصحيح الإجمالية
corrections.exposure منطقي true تطبيق تصحيح التعريض
corrections.contrast منطقي true تطبيق تصحيح التباين
corrections.whiteBalance منطقي true تطبيق تصحيح توازن الأبيض
corrections.saturation منطقي true تطبيق تصحيح التشبّع
corrections.sharpness منطقي true تطبيق تصحيح الحدة
corrections.denoise منطقي true تطبيق إزالة التشويش
deepEnhance منطقي false تفعيل إزالة التشويش بالذكاء الاصطناعي عبر SCUNet (يتطلب حزمة upscale-enhance)

تتوفر نقطة نهاية تحليل إضافية عند POST /api/v1/tools/image/image-enhancement/analyze تُرجِع التصحيحات المكتشفة دون تطبيقها.

تغيير الحجم المدرك للمحتوى (نحت الأطراف)

مسار الأداة: content-aware-resize
المحرك: ثنائي caire بلغة Go (ليس Python، لا فائدة من وحدة معالجة الرسومات)

يغيّر حجم الصور بذكاء عن طريق إزالة الأطراف منخفضة الطاقة، مع الحفاظ على المحتوى المهم.

المعامل النوع الافتراضي الوصف
width رقم - العرض المستهدف
height رقم - الارتفاع المستهدف
protectFaces منطقي false حماية مناطق الوجه المكتشفة (يتطلب حزمة face-detection)
blurRadius رقم (0-20) 4 طمس مسبق لحساب الطاقة
sobelThreshold رقم (1-20) 2 عتبة حساسية الحواف
square منطقي false فرض إخراج مربّع