تُرجمت هذه الصفحة آليًا. هل لاحظت خطأً؟ساعد في تحسينها.
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 تلقائيًا قبل المعالجة.