This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

مولّد الميمات

أنشئ ميمات باستخدام القوالب المدمجة أو الصور المخصصة. أضف نصًا بتنسيق الميم الكلاسيكي (نص عريض وذو حدود خارجية)، وإعدادات تخطيط متعددة، وخيارات خطوط.

نقطة نهاية الـ API

POST /api/v1/tools/image/meme-generator

يقبل أحد الأمرين:

  • بيانات نموذج متعدد الأجزاء (Multipart form data) مع ملف صورة وحقل JSON باسم settings (وضع الصورة المخصصة)
  • جسم JSON مع templateId (وضع القالب، لا حاجة لرفع ملف)

المعاملات

المعاملالنوعمطلوبالقيمة الافتراضيةالوصف
templateIdstringلا-معرّف قالب الميم المدمج. إذا تم توفيره، فلا حاجة لرفع صورة
textLayoutstringلا"top-bottom"تخطيط صندوق النص: top-bottom، top-only، bottom-only، center، side-by-side
textBoxesarrayلا[]مصفوفة من كائنات صناديق النص تحتوي على حقلي id و text
fontFamilystringلا"anton"الخط: anton، arial-black، comic-sans، montserrat، bebas-neue، permanent-marker، roboto
fontSizenumberلاتلقائيحجم الخط بالبكسل (8 إلى 200). يُحسب تلقائيًا إذا تم حذفه
textColorstringلا"#ffffff"لون تعبئة النص
strokeColorstringلا"#000000"لون حدود/إطار النص الخارجي
textAlignstringلا"center"محاذاة النص: left، center، right
allCapsbooleanلاtrueتحويل النص إلى أحرف كبيرة

صناديق النص

يجب أن يحتوي كل عنصر في مصفوفة textBoxes على:

الحقلالنوعالوصف
idstringمعرّف الصندوق المطابق للتخطيط (مثل "top"، "bottom"، "left"، "right"، "center")
textstringنص الميم المراد عرضه

معرّفات صناديق تخطيط النص

التخطيطمعرّفات الصناديق المتاحة
top-bottomtop، bottom
top-onlytop
bottom-onlybottom
centercenter
side-by-sideleft، right

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

صورة مخصصة مع نص علوي وسفلي:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/meme-generator \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"textLayout": "top-bottom", "textBoxes": [{"id": "top", "text": "When the code works"}, {"id": "bottom", "text": "On the first try"}], "fontFamily": "anton", "allCaps": true}'

باستخدام قالب مدمج (جسم JSON، بدون رفع ملف):

bash
curl -X POST http://localhost:1349/api/v1/tools/image/meme-generator \
  -H "Authorization: Bearer si_your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"templateId": "drake", "textBoxes": [{"id": "top", "text": "Manual testing"}, {"id": "bottom", "text": "Automated tests"}]}'

مثال على الاستجابة

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/meme-drake.png",
  "originalSize": 450000,
  "processedSize": 520000
}

ملاحظات

  • يجب توفير إما templateId أو ملف صورة مرفوع. عند توفير كليهما يُستخدم القالب.
  • تحدد القوالب مواضع صناديق النص الخاصة بها؛ ويُتجاهل المعامل textLayout عند استخدام القوالب.
  • يُعرض النص بصيغة SVG مع حدود خارجية لإضفاء مظهر الميم الكلاسيكي.
  • يُحسب حجم الخط تلقائيًا ليناسب صندوق النص إذا لم يُضبط صراحةً.
  • تُتجاوز صناديق النص الفارغة (لا يحدث أي عرض إذا كانت جميع الصناديق فارغة).
  • يتضمن اسم ملف الإخراج معرّف القالب عند استخدام القوالب (مثل meme-drake.png).
  • تُفكّ ترميزات مدخلات HEIC وRAW وPSD وSVG تلقائيًا قبل المعالجة.