ساخت میم با هوش مصنوعی؛ آموزش کامل تولید میم فارسی با عکس و متن
در این راهنما یاد میگیرید با هوش مصنوعی میم فارسی بسازید؛ از ایدهپردازی و نوشتن متن طنز تا تولید تصویر، افزودن صحیح نوشته فارسی و پیادهسازی یک میمساز خودکار با API درواره.
ساخت میم با هوش مصنوعی فقط قرار دادن یک جمله خندهدار روی عکس نیست. یک میم موفق باید در چند ثانیه فهمیده شود، با تجربه مخاطب ارتباط برقرار کند، تضاد یا غافلگیری داشته باشد و از نظر تصویر و متن خوانا باشد.
هوش مصنوعی میتواند در تمام مراحل تولید میم کمک کند: پیدا کردن ایده، نوشتن جمله کوتاه، انتخاب ساختار طنز، تولید تصویر اختصاصی، ساخت چند نسخه برای شبکههای اجتماعی و حتی خودکارسازی کامل فرایند با API.
بااینحال، برای ساخت میم فارسی یک چالش مهم وجود دارد: مدلهای تولید تصویر ممکن است متن فارسی را اشتباه یا ناخوانا بسازند. بنابراین بهترین روش حرفهای این است که تصویر و متن را جداگانه تولید کنید و نوشته فارسی را در مرحله نهایی روی تصویر قرار دهید.
در این آموزش، ساخت میم فارسی را بهصورت مرحلهبهمرحله بررسی میکنیم و در پایان یک سیستم عملی برای تولید خودکار میم با API هوش مصنوعی درواره میسازیم.
میم چیست؟
میم (Meme) محتوایی کوتاه، قابلانتقال و معمولاً طنزآمیز است که یک موقعیت، احساس، رفتار یا تجربه مشترک را با ترکیب تصویر و متن بیان میکند.
میم میتواند در قالبهای مختلف منتشر شود:
- تصویر ثابت با متن
- تصویر چندبخشی
- اسکرینشات ساختگی
- گفتوگوی طنز
- کمیک کوتاه
- GIF متحرک
- ویدئوی کوتاه
- تصویر واکنشی یا Reaction
- مقایسه قبل و بعد
- نمودار یا اینفوگرافیک طنز
- میم مرتبط با یک برند یا محصول
قدرت اصلی میم در «شناخت سریع موقعیت» است. مخاطب نباید برای فهمیدن شوخی، چند پاراگراف توضیح بخواند.
هوش مصنوعی چگونه در ساخت میم کمک میکند؟
هوش مصنوعی میتواند چند وظیفه متفاوت را انجام دهد:
ایدهپردازی
میتوانید موضوع، مخاطب و لحن را مشخص کنید و از مدل بخواهید چند ایده کوتاه و قابلتصویر پیشنهاد دهد.
نوشتن متن میم
مدلهای متنی میتوانند ساختارهایی مانند «انتظار در برابر واقعیت»، «من وقتی که»، «قبل و بعد» یا گفتوگوی دوشخصیتی تولید کنند.
کوتاهسازی متن
اگر جمله طولانی باشد، هوش مصنوعی میتواند آن را بدون حذف نکته اصلی کوتاه و ضربه نهایی را برجسته کند.
تولید تصویر اختصاصی
بهجای استفاده از قالبهای تکراری، میتوانید برای هر میم یک تصویر جدید با شخصیت، محیط و ترکیببندی مشخص بسازید.
تولید چند نسخه
میتوانید برای یک ایده، نسخه رسمی، خودمانی، تخصصی یا مناسب شبکههای اجتماعی مختلف تولید کنید.
بررسی تناسب با مخاطب
مدل میتواند متن را براساس سطح تخصص، سن، شغل و لحن جامعه هدف بازنویسی کند.
خودکارسازی تولید محتوا
با استفاده از API میتوان سیستمی ساخت که موضوع را دریافت کند، متن میم را بنویسد، تصویر را تولید کند، متن فارسی را روی تصویر قرار دهد و فایل نهایی را تحویل دهد.
چرا میم فارسی به فرایند متفاوتی نیاز دارد؟
بخش مهمی از ابزارهای میمساز ابتدا برای متن انگلیسی طراحی شدهاند. هنگام ساخت میم فارسی ممکن است با مشکلات زیر مواجه شوید:
- حروف فارسی جدا از یکدیگر نمایش داده شوند.
- ترتیب راستبهچپ رعایت نشود.
- علائم نگارشی در محل اشتباه قرار بگیرند.
- کلمات انگلیسی و فارسی جابهجا شوند.
- فونت فارسی مناسب نباشد.
- اندازه نوشته برای موبایل کوچک باشد.
- مدل تولید تصویر، متن فارسی ساختگی تولید کند.
- نوشته روی بخش شلوغ تصویر قرار بگیرد.
بهترین فرایند برای ساخت میم فارسی این است:
- ایده با مدل متنی تولید شود.
- متن نهایی جداگانه نوشته و ویرایش شود.
- تصویر بدون نوشته تولید شود.
- متن فارسی با ابزار طراحی یا کد روی تصویر قرار بگیرد.
- خروجی روی صفحه موبایل بررسی شود.
کاربرد میم برای کسبوکارها و تولیدکنندگان محتوا
میم فقط یک محتوای سرگرمکننده نیست. اگر درست استفاده شود، میتواند در بازاریابی محتوایی نیز مؤثر باشد.
شبکههای اجتماعی
میمها بهدلیل کوتاه و قابلاشتراک بودن، برای اینستاگرام، تلگرام، لینکدین و سایر شبکههای اجتماعی مناسباند.
بازاریابی برند
یک برند میتواند موقعیتهای روزمره مشتریان را با لحن طنز نمایش دهد و از این طریق ارتباط انسانیتری ایجاد کند.
آموزش
مفاهیم خشک یا پیچیده را میتوان با میم سادهتر و بهیادماندنیتر کرد.
ارتباطات داخلی سازمان
تیمها میتوانند برای بیان موقعیتهای مشترک کاری، فشار پروژه، جلسات یا فرایندهای روزمره از طنز ملایم استفاده کنند.
تولید محتوای تخصصی
میمهای برنامهنویسی، طراحی، مدیریت، بازاریابی و هوش مصنوعی میتوانند مخاطب تخصصی جذب کنند.
معرفی محصول
بهجای تبلیغ مستقیم، میتوان مسئلهای را که محصول حل میکند به شکل یک موقعیت طنز نمایش داد.
ویژگیهای یک میم موفق
یک میم خوب معمولاً این ویژگیها را دارد:
- در کمتر از چند ثانیه فهمیده میشود.
- متن آن کوتاه است.
- موضوع برای مخاطب آشناست.
- تصویر و متن یکدیگر را کامل میکنند.
- غافلگیری یا تضاد دارد.
- فونت روی موبایل خواناست.
- لحن آن با مخاطب هماهنگ است.
- برای فهمیدن آن به توضیح طولانی نیاز نیست.
- بدون دلیل از موضوعات حساس استفاده نمیکند.
- لوگو و تبلیغ در آن بیش از حد برجسته نیست.
ساختارهای پرکاربرد میم
برای ایدهپردازی سریع میتوانید از ساختارهای زیر استفاده کنید.
| ساختار | توضیح | نمونه موضوع |
|---|---|---|
| انتظار و واقعیت | تفاوت تصور اولیه و نتیجه واقعی | شروع یک پروژه جدید |
| قبل و بعد | نمایش تغییر وضعیت | قبل و بعد از ددلاین |
| من وقتی که | واکنش شخص به یک اتفاق | وقتی کد در اولین اجرا کار میکند |
| دیگران در برابر من | مقایسه رفتارها | نحوه برنامهریزی سفر |
| انتخاب دشوار | فرد میان دو گزینه قرار دارد | کیفیت بیشتر یا تحویل سریعتر |
| گفتوگوی دو نفره | تضاد میان دو دیدگاه | مشتری و طراح |
| مشکل و راهحل | نشان دادن یک مسئله آشنا | فراموش کردن رمز عبور |
| روند چندمرحلهای | وضعیت بهتدریج عجیبتر میشود | افزایش محدوده پروژه |
| واکنش | یک چهره یا شخصیت به خبر واکنش نشان میدهد | تغییر ناگهانی برنامه |
| POV | نمایش موقعیت از زاویه مخاطب | وقتی مدیر میگوید فقط یک تغییر کوچک است |
آموزش ساخت میم با هوش مصنوعی، مرحلهبهمرحله
مرحله اول: مخاطب را مشخص کنید
قبل از تولید ایده، مشخص کنید میم برای چه کسی ساخته میشود:
- کاربران عمومی
- دانشجویان
- برنامهنویسان
- مدیران
- صاحبان کسبوکار
- تولیدکنندگان محتوا
- طراحان
- فروشندگان
- مشتریان یک محصول
- اعضای یک تیم
شوخیای که برای برنامهنویسان قابلدرک است ممکن است برای مخاطب عمومی مفهوم نباشد.
نمونه تعریف مخاطب:
مخاطبان صفحه، برنامهنویسان فارسیزبان ۲۰ تا ۴۰ ساله هستند. لحن محتوا خودمانی اما محترمانه است. موضوع میم باید درباره باگ، ددلاین و تغییر درخواست مشتری باشد.
مرحله دوم: هدف میم را تعیین کنید
میم ممکن است یکی از این اهداف را داشته باشد:
- سرگرم کردن مخاطب
- افزایش تعامل
- آموزش یک نکته
- بیان یک تجربه مشترک
- معرفی غیرمستقیم محصول
- واکنش به یک اتفاق روز
- شروع گفتوگو
- هدایت مخاطب به مقاله یا سرویس
اگر هدف تبلیغاتی دارید، محصول را به زور وارد شوخی نکنید. ابتدا باید موقعیت برای مخاطب آشنا و قابلدرک باشد.
مرحله سوم: ایدههای اولیه را تولید کنید
پرامپت نمونه:
برای یک صفحه فارسی درباره برنامهنویسی، ۲۰ ایده میم کوتاه تولید کن.
مخاطب:
برنامهنویسان وب با سطح مبتدی تا حرفهای
موضوعها:
باگ، ددلاین، درخواست مشتری، دیپلوی، کد قدیمی و جلسات
لحن:
خودمانی، هوشمندانه و محترمانه
شرایط:
- هر ایده در یک جمله توضیح داده شود.
- شوخی در کمتر از ۵ ثانیه قابلفهم باشد.
- از موضوعات حساس یا توهینآمیز استفاده نشود.
- برای هر ایده، ساختار مناسب میم را نیز بنویس.
- ایدهها تکراری نباشند.
مرحله چهارم: بهترین ایده را به متن میم تبدیل کنید
بعد از انتخاب ایده، از مدل بخواهید چند نسخه کوتاه تولید کند:
ایده زیر را به ۱۰ متن کوتاه برای میم فارسی تبدیل کن:
ایده:
مشتری میگوید فقط یک تغییر کوچک دارد، اما تغییر او کل معماری پروژه را عوض میکند.
ساختار:
انتظار و واقعیت
محدودیتها:
- بخش اول حداکثر ۷ کلمه باشد.
- بخش دوم حداکثر ۹ کلمه باشد.
- لحن خودمانی و قابلفهم باشد.
- از توضیح اضافه استفاده نکن.
- ضربه طنز در بخش دوم قرار بگیرد.
- متن مناسب قرار گرفتن روی تصویر باشد.
نمونه خروجی:
بالا:
مشتری: فقط یه تغییر کوچیکه
پایین:
اون تغییر کوچیک: بازنویسی کل پروژه
نسخه کوتاهتر:
بالا:
فقط یه تغییر کوچیک داریم
پایین:
معماری پروژه: خداحافظ
مرحله پنجم: متن را انسانی ویرایش کنید
خروجی هوش مصنوعی را بدون بررسی منتشر نکنید. این موارد را اصلاح کنید:
- کلمات اضافی را حذف کنید.
- جمله را محاورهایتر یا رسمیتر کنید.
- شوخی را برای مخاطب ایرانی قابلفهم کنید.
- اصطلاحات نامأنوس را تغییر دهید.
- ضربه نهایی را به انتهای متن منتقل کنید.
- از توضیح دادن شوخی خودداری کنید.
- نگارش و فاصلهگذاری فارسی را بررسی کنید.
اگر متن را باید برای مخاطب توضیح دهید، احتمالاً هنوز برای یک میم مناسب نیست.
مرحله ششم: پرامپت تصویر را بسازید
تصویر باید مفهوم را تکمیل کند، نه اینکه دوباره همان متن را توضیح دهد.
نمونه پرامپت:
A humorous cinematic office scene, a young male software developer
sitting calmly at his desk while an enormous chaotic wall of code,
diagrams and error messages rises behind him, exaggerated visual contrast,
expressive but realistic reaction, modern technology office,
clean composition, subject in the lower center,
large empty space at the top and bottom for Persian meme captions,
square 1:1 format, no text, no letters, no logo, no watermark
نکات مهم:
- حتماً عبارت
no textرا اضافه کنید. - محل خالی برای نوشته را مشخص کنید.
- نسبت تصویر را متناسب با شبکه اجتماعی انتخاب کنید.
- تعداد شخصیتها را محدود نگه دارید.
- واکنش و حالت چهره را توصیف کنید.
- از درخواست جزئیات نامرتبط خودداری کنید.
مرحله هفتم: متن فارسی را اضافه کنید
پس از تولید تصویر، متن را در نرمافزاری مانند Canva، Adobe Express، Photoshop یا Figma اضافه کنید.
Adobe Express امکان شروع از قالب آماده یا طراحی میم از ابتدا، افزودن متن، تصویر و عناصر گرافیکی را فراهم میکند. Adobe Express Meme Maker
Imgflip نیز قالبهای متعدد، بارگذاری تصویر شخصی، درج متن قابلتغییر و ساخت میم متحرک را ارائه میکند. Imgflip Meme Generator
برای خروجی فارسی حرفهای، حتماً جهت راستبهچپ، فونت و شکست خطوط را دستی بررسی کنید.
اندازه مناسب میم برای شبکههای اجتماعی
| کاربرد | نسبت تصویر | اندازه پیشنهادی |
|---|---|---|
| پست مربعی | 1:1 | 1080×1080 |
| پست عمودی | 4:5 | 1080×1350 |
| استوری و ریلز | 9:16 | 1080×1920 |
| پست افقی | 1.91:1 | 1200×628 |
| تلگرام و پیامرسانها | 1:1 یا 4:5 | 1080×1080 یا 1080×1350 |
| لینکدین مربعی | 1:1 | 1200×1200 |
| تصویر وبلاگ | 16:9 | 1600×900 |
برای بیشتر شبکههای اجتماعی، قالب 4:5 فضای بیشتری از صفحه موبایل را اشغال میکند. بااینحال، انتخاب نسبت تصویر باید با محل انتشار نهایی هماهنگ باشد.
پرامپتهای آماده ساخت میم فارسی
پرامپت ایدهپردازی عمومی
نقش تو یک نویسنده حرفهای میم فارسی است.
برای موضوع زیر ۱۵ ایده میم تولید کن:
[موضوع]
مخاطب:
[توضیح مخاطب]
لحن:
خودمانی، هوشمندانه، کوتاه و محترمانه
برای هر ایده این موارد را بنویس:
1. موقعیت
2. ساختار میم
3. متن بالا
4. متن پایین
5. پیشنهاد تصویر
محدودیتها:
- هر بخش متن حداکثر ۱۰ کلمه باشد.
- ایده در چند ثانیه قابلفهم باشد.
- از شوخی توهینآمیز یا موضوع حساس استفاده نشود.
- متنها شبیه یکدیگر نباشند.
- از توضیح دادن شوخی خودداری کن.
پرامپت ساخت میم برای برنامهنویسان
۱۰ میم فارسی برای برنامهنویسان تولید کن.
موضوعها:
باگ در محیط Production، کد Legacy، ددلاین،
Pull Request، تغییر نیازمندی و جلسه غیرضروری
لحن:
طنز تخصصی اما قابلفهم
برای هر میم:
- متن بالا حداکثر ۶ کلمه
- متن پایین حداکثر ۸ کلمه
- یک توضیح تصویری کوتاه
- ساختار میم
- میزان تخصصی بودن از ۱ تا ۵
از تکرار شوخیهای کلیشهای خودداری کن.
پرامپت میم اداری
برای کارمندان شرکتها ۱۲ ایده میم فارسی بنویس.
موضوع:
جلسات طولانی، ایمیلهای غیرضروری، گزارش آخر وقت،
کار فوری و تغییر اولویتها
لحن:
محترمانه، قابلانتشار در صفحه سازمانی و بدون تمسخر اشخاص
ساختار خروجی:
عنوان ایده، متن اول، متن دوم، پیشنهاد تصویر
متن هر بخش حداکثر ۹ کلمه باشد.
پرامپت میم دانشجویی
۱۵ ایده میم فارسی درباره زندگی دانشجویی تولید کن.
موضوعها:
امتحان، پروژه گروهی، ارائه، شب امتحان و برنامهریزی درسی
مخاطب:
دانشجویان فارسیزبان
شرایط:
- شوخیها روزمره و قابلدرک باشند.
- از توهین به استاد یا دانشگاه استفاده نشود.
- متنها کوتاه باشند.
- برای هر ایده یک تصویر پیشنهادی بنویس.
پرامپت میم برند
برای یک برند در حوزه [حوزه فعالیت]، ۱۰ ایده میم تولید کن.
محصول:
[توضیح محصول]
مسئله مخاطب:
[مسئله اصلی]
هدف:
بیان مسئله مخاطب و معرفی بسیار غیرمستقیم راهحل
لحن برند:
[رسمی، دوستانه، تخصصی یا جوان]
محدودیتها:
- نام محصول در متن اصلی میم تکرار نشود.
- تبلیغ مستقیم نباشد.
- شوخی متوجه مشکل باشد، نه خود مشتری.
- هر متن حداکثر ۱۰ کلمه باشد.
- برای هر ایده یک CTA کوتاه جداگانه پیشنهاد بده.
پرامپت ارزیابی کیفیت میم
میم زیر را مانند یک ویراستار حرفهای ارزیابی کن:
مخاطب:
[مخاطب]
متن بالا:
[متن]
متن پایین:
[متن]
تصویر:
[توضیح تصویر]
از ۱ تا ۱۰ به این معیارها امتیاز بده:
- سرعت فهم
- کوتاهی متن
- تناسب با مخاطب
- غافلگیری
- ارتباط متن و تصویر
- قابلیت اشتراکگذاری
- مناسب بودن برای برند
سپس سه نسخه بهتر و کوتاهتر پیشنهاد بده.
چگونه متن طنز بهتری تولید کنیم؟
برای دریافت خروجی بهتر، فقط نگویید «یک متن خندهدار بنویس». مدل باید موقعیت و تضاد را بداند.
فرمول ساده:
موقعیت آشنا + انتظار مخاطب + نتیجه غیرمنتظره
مثال:
موقعیت:
برنامهنویس کد را روی سیستم خودش آزمایش کرده است.
انتظار:
تصور میکند پروژه آماده انتشار است.
نتیجه:
در محیط اصلی هیچچیز کار نمیکند.
متن میم:
بالا:
روی سیستم من که کار میکنه
پایین:
سرور اصلی: من سیستم تو نیستم
تکنیک بزرگنمایی
یک مشکل کوچک را بهصورت اغراقآمیز نمایش دهید:
یک تغییر کوچک در CSS
در تصویر: مرکز کنترل فضایی در حال فروپاشی
تکنیک تضاد
دو وضعیت کاملاً متفاوت کنار هم قرار میگیرند:
قبل از شروع پروژه:
این هفته زود تمومش میکنیم
دو ماه بعد:
فقط اسم پروژه همونه
تکنیک تشخیص تجربه مشترک
مخاطب باید احساس کند «این دقیقاً برای من اتفاق افتاده است»:
وقتی جلسه برای هماهنگی جلسه بعدی برگزار میشود
تکنیک شخصیتبخشی
به یک مفهوم غیرانسانی شخصیت بدهید:
ددلاین در حال نزدیک شدن
من در حال تغییر رنگ دکمهها
نوشتن متن روی میم فارسی
فونت مناسب انتخاب کنید
فونت باید در اندازه کوچک موبایل نیز خوانا باشد. معمولاً فونتهای ضخیم و ساده برای میم مناسبترند.
ویژگیهای مناسب:
- وزن Bold یا ExtraBold
- فرم ساده
- خوانایی در ابعاد کوچک
- پشتیبانی کامل از فارسی
- فاصله مناسب حروف
- تفاوت واضح با پسزمینه
کنتراست ایجاد کنید
متن سفید روی تصویر روشن قابلخواندن نیست. راهحلهای رایج عبارتاند از:
- خط دور مشکی
- سایه ملایم
- نوار نیمهشفاف
- گرادیان تیره
- کادر سفید یا مشکی
- قرار دادن متن بیرون از تصویر
تعداد خطوط را محدود کنید
بهتر است هر بخش متن بین یک تا سه خط باشد. اگر متن از این مقدار بیشتر شد:
- آن را کوتاه کنید.
- بخشی را به کپشن منتقل کنید.
- اندازه کادر را افزایش دهید.
- از قالب چنداسلایدی استفاده کنید.
شکست خط را دستی کنترل کنید
شکست نامناسب خط میتواند معنی جمله را خراب کند.
نامناسب:
وقتی مشتری میگه فقط
یک تغییر کوچیک داریم
مناسبتر:
وقتی مشتری میگه:
فقط یه تغییر کوچیکه
ساخت میم فارسی با API درواره
درواره زیرساخت API هوش مصنوعی است، نه یک ویرایشگر آماده میم. با استفاده از API درواره میتوانید مدلهای متنی و تصویری را در یک فرایند نرمافزاری به کار بگیرید.
یک سیستم میمساز میتواند مراحل زیر را انجام دهد:
- دریافت موضوع و مخاطب
- تولید چند ایده با مدل متنی
- انتخاب یا امتیازدهی ایدهها
- ساخت متن بالا و پایین
- تولید پرامپت تصویری
- تولید تصویر بدون نوشته
- افزودن متن فارسی به تصویر
- ذخیره خروجی
- ارائه نسخه مناسب شبکه اجتماعی
برای مشاهده مدلها، قابلیتها و قیمتهای بهروز به صفحه مدلهای درواره مراجعه کنید.
تولید متن میم با API
ابتدا کلید API را از پنل درواره دریافت و در متغیر محیطی ذخیره کنید.
DARVAREH_API_KEY=YOUR_API_KEY
DARVAREH_TEXT_MODEL=YOUR_TEXT_MODEL_ID
DARVAREH_IMAGE_MODEL=YOUR_IMAGE_MODEL_ID
شناسههای YOUR_TEXT_MODEL_ID و YOUR_IMAGE_MODEL_ID باید با Model ID مدلهای انتخابشده در درواره جایگزین شوند.
نصب کتابخانهها:
pip install openai python-dotenv pillow requests arabic-reshaper python-bidi
نمونه تولید ایده و متن:
import json
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
api_key = os.getenv("DARVAREH_API_KEY")
text_model = os.getenv("DARVAREH_TEXT_MODEL")
if not api_key:
raise RuntimeError("DARVAREH_API_KEY is not configured")
if not text_model:
raise RuntimeError("DARVAREH_TEXT_MODEL is not configured")
client = OpenAI(
api_key=api_key,
base_url="https://api.darvareh.ir/v1",
)
prompt = """
برای برنامهنویسان فارسیزبان یک میم کوتاه تولید کن.
موضوع:
مشتری میگوید فقط یک تغییر کوچک در پروژه دارد.
لحن:
خودمانی، محترمانه و قابلفهم
خروجی را فقط بهصورت JSON معتبر با این ساختار برگردان:
{
"top_text": "متن بالای تصویر",
"bottom_text": "متن پایین تصویر",
"image_prompt": "English prompt for generating the meme image",
"caption": "کپشن کوتاه فارسی"
}
محدودیتها:
- متن بالا حداکثر ۷ کلمه باشد.
- متن پایین حداکثر ۹ کلمه باشد.
- پرامپت تصویر انگلیسی و بدون درخواست درج متن باشد.
- تصویر فضای خالی برای متن بالا و پایین داشته باشد.
- از شوخی توهینآمیز استفاده نشود.
""".strip()
response = client.chat.completions.create(
model=text_model,
messages=[
{
"role": "system",
"content": "تو نویسنده حرفهای میم فارسی هستی.",
},
{
"role": "user",
"content": prompt,
},
],
temperature=0.8,
)
raw_content = response.choices[0].message.content
meme_data = json.loads(raw_content)
print(json.dumps(meme_data, ensure_ascii=False, indent=2))
برای استفاده عملیاتی، احتمال نامعتبر بودن JSON را نیز مدیریت کنید. اگر مدل انتخابی از Structured Output پشتیبانی میکند، بهتر است ساختار خروجی را با JSON Schema محدود کنید.
تولید تصویر میم با API
import base64
import os
from pathlib import Path
import requests
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(
api_key=os.environ["DARVAREH_API_KEY"],
base_url="https://api.darvareh.ir/v1",
)
image_model = os.environ["DARVAREH_IMAGE_MODEL"]
image_prompt = """
A humorous cinematic office scene, a young male software developer
sitting calmly at a desk while a gigantic chaotic software architecture
diagram collapses behind him, expressive realistic reaction,
modern technology office, clean square composition,
large empty dark areas at the top and bottom for Persian captions,
high visual clarity, no text, no letters, no logo, no watermark
""".strip()
result = client.images.generate(
model=image_model,
prompt=image_prompt,
size="1024x1024",
n=1,
)
item = result.data[0]
output_path = Path("meme-background.png")
if getattr(item, "b64_json", None):
output_path.write_bytes(
base64.b64decode(item.b64_json)
)
elif getattr(item, "url", None):
response = requests.get(item.url, timeout=60)
response.raise_for_status()
output_path.write_bytes(response.content)
else:
raise RuntimeError("The API did not return image data")
print("Saved:", output_path)
اندازهها و پارامترهای پشتیبانیشده ممکن است میان مدلهای تصویری متفاوت باشند. قبل از پیادهسازی نهایی، مشخصات مدل انتخابشده را بررسی کنید.

افزودن صحیح متن فارسی با Python
کتابخانه Pillow بهتنهایی ممکن است متن فارسی را در تمام محیطها به شکل صحیح نمایش ندهد. برای اتصال حروف و مدیریت راستبهچپ میتوان از arabic-reshaper و python-bidi استفاده کرد.
from pathlib import Path
import arabic_reshaper
from bidi.algorithm import get_display
from PIL import Image, ImageDraw, ImageFont
IMAGE_PATH = Path("meme-background.png")
OUTPUT_PATH = Path("persian-meme.png")
FONT_PATH = Path("Vazirmatn-Bold.ttf")
TOP_TEXT = "مشتری: فقط یه تغییر کوچیکه"
BOTTOM_TEXT = "اون تغییر کوچیک: بازنویسی کل پروژه"
CANVAS_SIZE = (1080, 1080)
FONT_SIZE = 58
SIDE_MARGIN = 80
TOP_Y = 55
BOTTOM_MARGIN = 65
def shape_persian(text: str) -> str:
reshaped = arabic_reshaper.reshape(text)
return get_display(reshaped)
def fit_font(
draw: ImageDraw.ImageDraw,
text: str,
font_path: Path,
initial_size: int,
max_width: int,
) -> ImageFont.FreeTypeFont:
size = initial_size
while size >= 24:
font = ImageFont.truetype(str(font_path), size)
bbox = draw.textbbox((0, 0), text, font=font, stroke_width=3)
width = bbox[2] - bbox[0]
if width <= max_width:
return font
size -= 2
return ImageFont.truetype(str(font_path), 24)
def draw_centered_text(
draw: ImageDraw.ImageDraw,
text: str,
y: int,
font: ImageFont.FreeTypeFont,
canvas_width: int,
) -> None:
bbox = draw.textbbox(
(0, 0),
text,
font=font,
stroke_width=4,
)
text_width = bbox[2] - bbox[0]
x = (canvas_width - text_width) // 2
draw.text(
(x, y),
text,
font=font,
fill="white",
stroke_width=4,
stroke_fill="black",
)
with Image.open(IMAGE_PATH) as source:
image = source.convert("RGB")
image = image.resize(CANVAS_SIZE, Image.Resampling.LANCZOS)
draw = ImageDraw.Draw(image)
top_display = shape_persian(TOP_TEXT)
bottom_display = shape_persian(BOTTOM_TEXT)
max_text_width = CANVAS_SIZE[0] - (2 * SIDE_MARGIN)
top_font = fit_font(
draw,
top_display,
FONT_PATH,
FONT_SIZE,
max_text_width,
)
bottom_font = fit_font(
draw,
bottom_display,
FONT_PATH,
FONT_SIZE,
max_text_width,
)
draw_centered_text(
draw,
top_display,
TOP_Y,
top_font,
CANVAS_SIZE[0],
)
bottom_bbox = draw.textbbox(
(0, 0),
bottom_display,
font=bottom_font,
stroke_width=4,
)
bottom_height = bottom_bbox[3] - bottom_bbox[1]
bottom_y = CANVAS_SIZE[1] - bottom_height - BOTTOM_MARGIN
draw_centered_text(
draw,
bottom_display,
bottom_y,
bottom_font,
CANVAS_SIZE[0],
)
image.save(
OUTPUT_PATH,
format="PNG",
optimize=True,
)
print("Meme created:", OUTPUT_PATH)
فایل فونت باید از نظر مجوز استفاده بررسی و در مسیر پروژه قرار داده شود. همچنین قبل از انتشار، حروف فارسی و ترکیب کلمات انگلیسی را روی خروجی نهایی کنترل کنید.
ساخت نوار تیره برای خوانایی متن
اگر تصویر شلوغ است، میتوانید پشت نوشته یک نوار نیمهشفاف قرار دهید:
from PIL import Image, ImageDraw
overlay = Image.new(
"RGBA",
image.size,
(0, 0, 0, 0),
)
overlay_draw = ImageDraw.Draw(overlay)
overlay_draw.rectangle(
(0, 0, image.width, 175),
fill=(0, 0, 0, 145),
)
overlay_draw.rectangle(
(0, image.height - 190, image.width, image.height),
fill=(0, 0, 0, 145),
)
image = Image.alpha_composite(
image.convert("RGBA"),
overlay,
)
بعد از ساخت Overlay، متن را روی نسخه جدید رسم کنید.
تولید چند میم در یک درخواست
برای کاهش زمان ایدهپردازی میتوانید از مدل بخواهید چند گزینه ساختاریافته تولید کند:
{
"memes": [
{
"id": 1,
"top_text": "متن بالا",
"bottom_text": "متن پایین",
"image_prompt": "English image prompt",
"score": 8
}
]
}
سپس فقط گزینههای دارای امتیاز بالاتر را به مرحله تولید تصویر بفرستید. این کار باعث میشود برای ایدههای ضعیف هزینه تولید تصویر پرداخت نکنید.
فرایند پیشنهادی:
- تولید ۲۰ ایده متنی
- حذف موارد تکراری
- امتیازدهی خودکار
- انتخاب سه ایده برتر
- بازبینی انسانی
- تولید تصویر برای یک یا دو ایده
- ساخت چند نسخه متن
- انتشار بهترین خروجی
طراحی معماری یک میمساز آنلاین
برای ساخت سرویس قابلاستفاده، اجزای زیر مفید هستند:
فرم ورودی
کاربر موضوع، مخاطب، لحن، سبک تصویر و شبکه اجتماعی را انتخاب میکند.
مدل متنی
مدل ایده، متن بالا، متن پایین، کپشن و پرامپت تصویر را تولید میکند.
مدل تصویری
تصویر را بدون متن و با فضای مناسب برای نوشته میسازد.
موتور ترکیب تصویر
متن فارسی، لوگو، نوار رنگی و قالب برند را به تصویر اضافه میکند.
فضای ذخیرهسازی
تصاویر اصلی، نسخه نهایی و پیشنمایشها را نگهداری میکند.
صف پردازش
درخواستهای تولید تصویر را مدیریت و وضعیت آنها را ثبت میکند.
کنترل مصرف
تعداد تولیدها، وضوح، مدلهای قابلانتخاب و سهمیه هر کاربر را محدود میکند.
بازبینی خروجی
پیش از انتشار خودکار، متن و تصویر از نظر کیفیت و تناسب با سیاست محتوایی بررسی میشوند.
ساخت میم هماهنگ با هویت برند
اگر میم برای یک کسبوکار ساخته میشود، قالب ثابت باعث افزایش تشخیص برند خواهد شد.
موارد ثابت میتوانند شامل این عناصر باشند:
- فونت
- رنگ اصلی
- محل لوگو
- حاشیه تصویر
- سبک تصویرسازی
- میزان رسمی بودن زبان
- اندازه متن
- قالب کپشن
- محل CTA
- نسبت تصویر
لوگو نباید به اندازهای بزرگ باشد که میم به یک بنر تبلیغاتی تبدیل شود. برند میتواند در گوشهای از تصویر یا داخل کپشن معرفی شود.
ساخت میم متحرک و ویدئویی
فرایند میم ویدئویی کمی متفاوت است:
- ایده باید قابلنمایش در چند ثانیه باشد.
- ضربه طنز در انتهای ویدئو قرار میگیرد.
- متن باید زمان کافی برای خواندن داشته باشد.
- زیرنویس باید با کنتراست مناسب نمایش داده شود.
- ویدئو معمولاً بدون صدا نیز باید قابلفهم باشد.
- حرکتها نباید آنقدر زیاد باشند که متن دیده نشود.
Adobe Express ابزار مستقلی برای ساخت Meme Video نیز دارد و امکان ترکیب ویدئو، متن و عناصر گرافیکی را فراهم میکند. Adobe Express Meme Video Maker
اشتباهات رایج در ساخت میم با هوش مصنوعی
متن بیش از حد طولانی
میم جای توضیح مفصل نیست. توضیحات را به کپشن منتقل کنید.
درخواست درج متن فارسی از مدل تصویر
تصویر را بدون متن تولید و نوشته را جداگانه اضافه کنید.
ناآشنا بودن موضوع برای مخاطب
شوخی تخصصی باید برای جامعه هدف قابلفهم باشد.
توضیح دادن ضربه طنز
اگر پس از جمله اصلی، شوخی را توضیح دهید، تأثیر آن کاهش پیدا میکند.
استفاده از تصویر نامرتبط
تصویر فقط نباید زیبا باشد؛ باید به فهم موقعیت کمک کند.
تقلید کامل از محتوای دیگران
میتوانید از ساختارهای رایج الهام بگیرید، اما متن، تصویر و موقعیت اختصاصی خود را بسازید.
تبلیغ بیش از حد
لوگوی بزرگ، معرفی مستقیم محصول و CTA طولانی، میم را به بنر تبدیل میکند.
نادیده گرفتن نگارش فارسی
نیمفاصله، علائم، شکست خطوط و ترکیب فارسی و انگلیسی باید بررسی شوند.
انتشار بدون کنترل چهره و دست
تصاویر تولیدشده ممکن است دارای جزئیات غیرطبیعی باشند. خروجی را در بزرگنمایی بررسی کنید.
استفاده از شوخی توهینآمیز
تمسخر اشخاص، گروهها، ویژگیهای فردی یا مسائل حساس میتواند به اعتبار برند آسیب بزند. طنز را روی موقعیت متمرکز کنید، نه هویت افراد.
چکلیست نهایی انتشار میم
پیش از انتشار بررسی کنید:
- میم در کمتر از چند ثانیه قابلفهم است.
- متن بالا و پایین کوتاه است.
- ضربه اصلی در انتها قرار دارد.
- تصویر با متن ارتباط مستقیم دارد.
- نوشته روی موبایل خواناست.
- جهت راستبهچپ صحیح است.
- حروف فارسی بهدرستی متصلاند.
- شکست خطوط طبیعی است.
- کنتراست متن کافی است.
- لوگو بیش از حد بزرگ نیست.
- تصویر دارای متن ساختگی یا واترمارک نیست.
- جزئیات تصویر غیرطبیعی نیستند.
- شوخی با مخاطب و لحن برند هماهنگ است.
- موضوع توهینآمیز یا حساس نیست.
- اندازه خروجی با شبکه اجتماعی هماهنگ است.
- قبل از انتشار، یک نفر دیگر نیز آن را دیده است.
سوالات متداول
بهترین هوش مصنوعی برای ساخت میم چیست؟
برای ایده و متن میتوانید از مدلهای متنی استفاده کنید و برای تصویر از مدل تولید تصویر کمک بگیرید. در پروژههای نرمافزاری، API درواره امکان اتصال مدلهای متنی و تصویری به یک فرایند یکپارچه را فراهم میکند.
آیا هوش مصنوعی میتواند میم فارسی بسازد؟
بله، مدلهای متنی میتوانند ایده و متن فارسی تولید کنند. برای جلوگیری از خراب شدن حروف، بهتر است متن فارسی را جداگانه روی تصویر قرار دهید.
چگونه متن فارسی را درست روی عکس قرار دهیم؟
در ابزارهای گرافیکی از فونت فارسی و چیدمان راستبهچپ استفاده کنید. در Python نیز میتوانید Pillow را همراه با arabic-reshaper و python-bidi به کار ببرید.
آیا میتوان از عکس شخصی برای ساخت میم استفاده کرد؟
بله، اما قبل از انتشار تصویر افراد دیگر باید رضایت و حریم خصوصی آنها را در نظر بگیرید. همچنین بهتر است تصاویر شخصی حساس را در سرویسهای آنلاین ناشناس بارگذاری نکنید.
چگونه میم اینستاگرامی بسازیم؟
برای پست مربعی از 1080×1080 و برای پست عمودی از 1080×1350 استفاده کنید. متن باید در صفحه موبایل خوانا و از لبههای تصویر فاصله داشته باشد.
آیا میتوان میم را خودکار تولید کرد؟
بله. میتوانید با یک مدل متنی، ایده و کپشن را بسازید؛ با مدل تصویری، تصویر بدون نوشته تولید کنید و در سرور متن فارسی را روی آن قرار دهید.
آیا درواره یک میمساز آنلاین آماده است؟
درواره زیرساخت API هوش مصنوعی است. توسعهدهندگان میتوانند با استفاده از آن، میمساز اختصاصی خود را برای وبسایت، اپلیکیشن یا ربات ایجاد کنند.
قیمت تولید میم با API چقدر است؟
هزینه به مدل متنی، مدل تصویری، تعداد درخواستها، اندازه تصویر و تنظیمات تولید بستگی دارد. برای مشاهده قیمتهای بهروز، صفحه مدلهای درواره را بررسی کنید.
جمعبندی
ساخت میم با هوش مصنوعی زمانی بهترین نتیجه را میدهد که ایده، متن و تصویر بهصورت سه مرحله مستقل مدیریت شوند. ابتدا باید یک تجربه آشنا برای مخاطب پیدا کنید، سپس آن را به متنی کوتاه و دارای غافلگیری تبدیل کنید و در نهایت تصویری بسازید که فضای کافی برای نوشته فارسی داشته باشد.
برای استفاده شخصی میتوانید از ابزارهایی مانند Adobe Express، Canva یا Imgflip کمک بگیرید. اگر قصد دارید یک میمساز خودکار، سامانه تولید محتوای شبکه اجتماعی یا ابزار سازمانی بسازید، میتوانید مدلهای متنی و تصویری را از طریق API درواره به برنامه خود متصل کنید.
برای شروع، در درواره ثبتنام کنید، مدلهای مناسب را از صفحه مدلها انتخاب کنید و اولین فرایند تولید خودکار میم فارسی را بسازید.
مقالات مرتبط
- آموزش کامل پرامپتنویسی
- بهترین ابزارهای ساخت عکس با هوش مصنوعی
- آموزش API تولید تصویر درواره
- نوشتن متن فارسی روی عکس با هوش مصنوعی
- تولید محتوا برای اینستاگرام با هوش مصنوعی
- ویرایش عکس با هوش مصنوعی
- ساخت کمیک با هوش مصنوعی
برای مطالعه شرایط استفاده و محدودیتهای مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.