Files
SnapOtter/apps/docs/ar/tools/image/ai-canvas-expand.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

4.1 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
توسيع لوحة الصورة بالرسم الخارجي بالذكاء الاصطناعي، مع مدّها في أي اتجاه وملء المناطق الجديدة لتطابق الأصل. 1b00db4ed40d human 554b854ef598

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

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

نقطة نهاية API

POST /api/v1/tools/image/ai-canvas-expand

المعالجة: غير متزامنة (تُرجع 202، استعلِم عن /api/v1/jobs/{jobId}/progress لمعرفة الحالة عبر SSE)

حزمة النموذج: object-eraser-colorize (1-2 غيغابايت)

المعاملات

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

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

مثال على الطلب

curl -X POST http://localhost:1349/api/v1/tools/image/ai-canvas-expand \
  -F "file=@photo.jpg" \
  -F 'settings={"extendTop":200,"extendBottom":200,"extendLeft":100,"extendRight":100,"tier":"balanced"}'

الاستجابة

الاستجابة الأولية (202 Accepted)

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

التقدّم (SSE على /api/v1/jobs/{jobId}/progress)

event: progress
data: {"phase":"processing","stage":"Expanding canvas...","percent":50}

النتيجة النهائية (عبر SSE)

{
  "phase": "complete",
  "percent": 100,
  "result": {
    "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "downloadUrl": "/api/v1/download/{jobId}/photo_extended.png",
    "previewUrl": "/api/v1/download/{jobId}/preview.webp",
    "originalSize": 300000,
    "processedSize": 520000
  }
}

ملاحظات

  • يتطلّب تثبيت حزمة النموذج object-eraser-colorize (1-2 غيغابايت).
  • يستخدم الرسم الخارجي المبني على LaMa لتوليد محتوى للمناطق المُوسّعة.
  • يوازن المعامل tier بين السرعة والجودة: fast يُنتج نتائج بسرعة مع احتمال ظهور آثار، بينما high يستغرق وقتًا أطول لكنه يُنتج ملئًا أنعم وأكثر تماسكًا.
  • قيم المدّ بالبكسل. ستكون أبعاد الصورة النهائية: العرض الأصلي + extendLeft + extendRight في الارتفاع الأصلي + extendTop + extendBottom.
  • لصيغ المخرجات غير القابلة للمعاينة في المتصفّح (HEIC، JXL، TIFF)، تُولَّد معاينة WebP إلى جانب المخرجات الرئيسية.
  • يدعم صيغ الإدخال HEIC/HEIF وRAW وTGA وPSD وEXR وHDR عبر الفكّ التلقائي.