مدل تصویری، موتور چیدمان نیست
خلاصهٔ کاملتر
نویسنده تو این مقاله از تجربهش تو ساخت پایپلاین تولید تصویر پشت KeepPost میگه. نسخهی اول ساده بود: عکس منبع، لوگو، متن و توضیح برند رو به مدل میداد و مدل تصویر نهایی رو میساخت. برای یه تصویر خوب جواب میداد، ولی وقتی قرار بود برای برندها، عکسها و کمپینهای مختلف بارها تکرار بشه، مشکلها پیدا شد. لوگو جابهجا میشد، محصول توی عکس عوض میشد و متنهای لازم از بین میرفت.
اولش سعی کرده اینا رو با پرامپت دقیقتر حل کنه، ولی میگه مشکل از کم بودن جزئیات نبود. داشت از یه مدل احتمالاتی (یعنی مدلی که هر بار ممکنه جواب متفاوتی بده) تصمیمهایی میخواست که اصلاً لازم نبود احتمالاتی باشن. برای همین تصمیمها رو دو دسته کرد. نسبت ابعاد خروجی، assetهای اجباری، جای لوگو، ناحیههای محافظتشده و متن اجباری با تنظیمات ثابت میشن. نورپردازی، ساخت پسزمینه، جاانداختن طبیعی اشیا و حالوهوای تصویر به قضاوت مدل سپرده میشه.
مثلاً جای لوگو دیگه چیزی نیست که پرامپت باید مدل رو قانع کنه یادش بمونه. یه constraint (قید ثابت) سادهست که از قاعدهی برند میاد:
{
"logo": {
"x": 0.065,
"y": 0.055,
"width": 0.22,
"alignment": "left"
}
}بعضی تصمیمها وسط این دو دستهان، مثل ترکیببندی (composition). مدل میتونه تشخیص بده سوژهی اصلی سمت راست عکسه و متن نباید روش بیفته، کاری که مختصات ثابت خوب از پسش برنمیاد. راه نویسنده اینه که مدل یه طرح ترکیببندی به شکل JSON (با فیلدهایی مثل subject_region و preferred_text_region) پیشنهاد بده و کد قبل از مرحلهی تولید اونو اعتبارسنجی کنه. یعنی مدل پیشنهاد میده و کد تصمیم میگیره قبولش کنه یا نه.
نویسنده عکس منبع رو هم یه مرز جدا میبینه. اگه رستوران عکس یه غذای مشخص رو بفرسته، تصویری که قشنگتره ولی خود غذا رو عوض کرده برای مشتری بیفایدهست. جملهای مثل «محصول رو تغییر نده» به نظر دقیق میاد، ولی باز دستوریه که مدل تفسیرش میکنه. همینطور حالوهوای برند (رنگ، تایپوگرافی، سبک عکاسی) رو از قاعدههایی مثل «لوگو اینجاست» جدا کرده. اینطوری اگه لوگو جای اشتباه بود، لازم نیست تفسیر مدل از راهنمای برند رو دیباگ کنه.
به گفتهی نویسنده، وقتی تولید تصویر خودکار میشه، دیگه کسی نیست که نتیجه رو نگاه کنه، پس یه لایهی اعتبارسنجی لازمه. «تموم شد» گفتن مدل یعنی قابلقبول بودن نتیجه نیست. هر وقت چیزی خراب میشه، بهجای بازنویسی پرامپت از خودش میپرسه «واقعاً مدل باید اینو تصمیم بگیره؟». این الگو بیرون از تصویر هم کار میکنه: RAG برای تبدیلی که کد قطعی بهتر انجامش میده به LLM نیاز نداره و قاعدههای کسبوکار نباید یواشکی توی پرامپت جا بگیرن.
نکات کلیدی:
- نسبت ابعاد، assetهای اجباری، جای لوگو، ناحیههای محافظتشده و متن اجباری با تنظیمات ثابت میشن، نه با پرامپت.
- نورپردازی، پسزمینه، جاانداختن اشیا و حالوهوای تصویر دست مدل میمونه.
- برای ترکیببندی، مدل طرح رو به شکل JSON پیشنهاد میده و کد اعتبارسنجیش میکنه.
- عکس منبع مشتری (غذا، محصول، مکان) دادهست و خود سوژه نباید تغییر کنه.
- تولید و پذیرش دو مسئلهی جدان و پایپلاین خودکار به لایهی اعتبارسنجی نیاز داره.




