একই চরিত্রকে নিয়ে কয়েকটি ছবি বানানো শুরু করলে প্রথম দিকে সব ঠিকঠাকই মনে হতে পারে। সমস্যা বোঝা যায় ছবিগুলো পাশাপাশি রাখার পর। একটিতে মুখ একটু বেশি গোল, আরেকটিতে চোখের আকার বদলে গেছে। কোথাও চুল ছোট, কোথাও বয়সও কয়েক বছর বেশি মনে হচ্ছে। গল্পে পোশাক পাল্টানোর কথা ছিল, কিন্তু তার সঙ্গে মুখও পাল্টে গেছে।
কমিক, ধারাবাহিক গল্প বা ব্র্যান্ডের কোনো কাল্পনিক চরিত্রের ক্ষেত্রে এই ছোট ছোট বদলই পরে বড় সমস্যা হয়। AI character consistency বলতে মূলত এমন একটি কাজের পদ্ধতি বোঝায়, যেখানে চরিত্রটির পরিচয় যতটা সম্ভব স্থির রেখে পরিবেশ, ভঙ্গি, পোশাক বা অভিব্যক্তি বদলানো যায়।
এখানে শুধু prompt বড় করলেই লাভ নেই। বরং আগে থেকেই ঠিক করতে হয়—চরিত্রটির কোন বৈশিষ্ট্য বদলাবে না, কোন ছবিটি মূল reference হিসেবে থাকবে, আর কোন অংশ scene অনুযায়ী বদলানো হবে।
চরিত্রটির ‘স্থায়ী’ অংশ আগে ঠিক করুন
একই মুখ পেলেই যে একই চরিত্র পাওয়া গেল, তা নয়। ধরা যাক চরিত্রটির বয়স ২৪ বছর। ডিম্বাকৃতি মুখ, বাদামি চোখ, কাঁধ পর্যন্ত ঢেউখেলানো কালো চুল, ডান ভ্রুর ওপরে ছোট একটি দাগ এবং গোল কালো ফ্রেমের চশমা আছে।
এই বৈশিষ্ট্যগুলো গল্পে যদি তার পরিচয়ের অংশ হয়, তাহলে এগুলো বারবার বদলে গেলে সমস্যা হবে। কিন্তু সে হাসছে কি না, কোন দিকে তাকিয়ে আছে, বসে আছে নাকি দৌড়াচ্ছে, ঘরের ভেতরে নাকি রাস্তায়—এসব পরিবর্তন স্বাভাবিক।
কাজ শুরুর আগে তাই দুই-তিন লাইনের একটি character note লিখে রাখা বেশ কার্যকর:
২৪ বছর বয়সী কাল্পনিক নারী। ডিম্বাকৃতি মুখ, বাদামি চোখ, কাঁধ পর্যন্ত ঢেউখেলানো কালো চুল, ডান ভ্রুর ওপরে ছোট দাগ, গোল কালো ফ্রেমের চশমা। এটি খুব সাধারণ একটি নোট, কিন্তু পরে prompt লিখতে গিয়ে কাজে দেয়। প্রতিবার একই চরিত্রকে নতুনভাবে বর্ণনা করার প্রয়োজন পড়ে না।
একটি জায়গায় “young woman”, অন্য জায়গায় “girl”, পরে “female protagonist”—মানুষের কাছে শব্দগুলো কাছাকাছি মনে হলেও image model একইভাবে নাও নিতে পারে। তাই মূল পরিচয়ের ভাষা যতটা সম্ভব স্থির রাখা ভালো।
দীর্ঘ গল্প হলে আরেকটু এগিয়ে একটি character sheet রাখা যায়। সামনে থেকে মুখ, পাশের view এবং তিন-চতুর্থাংশ angle-এর কয়েকটি পরিষ্কার reference থাকলে পরে কোনো ছবিতে মুখ বা গড়ন সরে গেছে কি না বোঝা সহজ হয়।
আরও পড়ুন: AI দিয়ে Content Idea খোঁজা: একই ধরনের Topic এড়িয়ে নতুন Angle বের করার পদ্ধতি
Midjourney-তে প্রথম ভুলটি হয় version নিয়ে
Midjourney-এর পুরোনো character consistency tutorial-এ –cref প্রায়ই দেখা যায়।
Syntax:
–cref IMAGE_URL
এটি V6 ও Niji 6-এর Character Reference পদ্ধতি। ফলে কোনো পুরোনো tutorial দেখে parameter কপি করার আগে সেটি কোন version-এর জন্য লেখা, তা দেখা দরকার। V6-এ –cw বা Character Weight দিয়ে reference-এর কতটা বৈশিষ্ট্য ধরে রাখার চেষ্টা করা হবে, তা নিয়ন্ত্রণ করা যায়।
–cw 100 দিলে মুখের পাশাপাশি চুল ও পোশাকের detail-ও বেশি অনুসরণ করার চেষ্টা হয়। –cw 0 দিলে জোর মূলত মুখে থাকে। এর একটি সাধারণ ব্যবহার আছে। ধরুন, একই চরিত্রকে নতুন পোশাকে দরকার। মুখের মিল রাখতে চান, কিন্তু আগের পোশাক নয়। তখন Character Weight কমিয়ে নতুন পোশাকটি prompt-এ স্পষ্টভাবে লেখা যেতে পারে।
তবে এখানেই একটি সীমা আছে। Character Reference কোনো photocopy ব্যবস্থা নয়। ছোট logo, freckles, গয়না বা পোশাকের সূক্ষ্ম নকশা প্রতিটি ছবিতে হুবহু থাকবে—এমন নিশ্চয়তা নেই। বাস্তব মানুষের ছবি reference দিলেও একই কথা প্রযোজ্য। কাছাকাছি likeness পাওয়া আর ব্যক্তিটিকে হুবহু পুনরুৎপাদন করা এক বিষয় নয়।
V7-এ –cref বদলে যায়

Midjourney V7-এ Character Reference-এর জায়গায় এসেছে Omni Reference।
Discord-এ syntax:
–oref IMAGE_URL
Omni Reference শুধু মানুষের জন্য নয়। Object, vehicle বা non-human creature-ও reference হতে পারে। Reference-এর প্রভাব বাড়ানো বা কমানোর জন্য –ow রয়েছে। কিন্তু এখানে আরেকটি ছোট ঝামেলা আছে। Midjourney-এর নতুন default model ব্যবহার করলেই যে Omni Reference সেখানেই চলবে, তা নয়। এটি V7-নির্ভর feature। Omni Reference দিলে generation V7-এ চলে।
এই ধরনের version mismatch-এর কারণেই এক-দুই বছর আগের prompt tutorial অনেক সময় সরাসরি কাজে লাগে না। Omni Reference ব্যবহার করলে GPU time-ও বাড়তে পারে এবং কিছু mode-এর সঙ্গে এর সীমাবদ্ধতা আছে। কয়েকটি ছবি বানালে বিষয়টি হয়তো খুব বড় নয়, কিন্তু বড় batch তৈরি করলে হিসাবের মধ্যে রাখতে হবে।
Seed রাখবেন, কিন্তু এটিকে পরিচয়পত্র ভাববেন না
Seed নিয়ে সবচেয়ে সহজ ভুলটি হলো—একই Seed মানেই একই চরিত্র।
তা নয়।
Seed generation শুরুর random noise-এর একটি starting point দেয়। একই ধরনের setup রেখে ছোট কোনো পরিবর্তন পরীক্ষা করতে এটি কাজে লাগে। ধরা যাক একই scene রেখে শুধু background বদলালেন। Seed একই থাকলে দুই ফল তুলনা করা সহজ হতে পারে। কিন্তু prompt, model কিংবা অন্য parameter বদলে গেলে একই Seed থেকেও মুখ পাল্টে যেতে পারে।
তাই কোনো ভালো image পেলে Seed লিখে রাখা অবশ্যই কাজে দেয়, তবে তার সঙ্গে model version, reference image, prompt, aspect ratio এবং গুরুত্বপূর্ণ settings-ও রাখা উচিত। এখানে জটিল কোনো software লাগবে না। একটি spreadsheet-ই যথেষ্ট। কারণ কিছুদিন পরে সমস্যাটা সাধারণত “Seed কত ছিল?” নয়। বরং “এই ছবিটা ঠিক কোন setup-এ বানানো হয়েছিল?”—সেটিই মনে থাকে না।
কয়েকটি ছবির জন্য যা যথেষ্ট, দীর্ঘ কমিকে তা নাও চলতে পারে
চার-পাঁচটি illustration-এর জন্য আলাদা training করা বেশির ভাগ ক্ষেত্রেই অপ্রয়োজনীয়। কিন্তু একই চরিত্রকে যদি বহু scene, pose, পোশাক ও পরিবেশে বারবার ফিরিয়ে আনতে হয়, তখন reference-এর সীমা ধরা পড়ে। Stable Diffusion ecosystem-এ LoRA এখানে কাজে আসে।
LoRA বা Low-Rank Adaptation পুরো base model আবার train না করে তুলনামূলক কম সংখ্যক parameter train করে ছোট একটি adapter তৈরি করতে পারে। DreamBooth-এর সঙ্গে LoRA ব্যবহার করে নির্দিষ্ট subject শেখানোর ব্যবস্থাও রয়েছে। তবে এই অংশটি reference image যোগ করার মতো সহজ নয়।
Training image নির্বাচন খারাপ হলে ফলও খারাপ হতে পারে। একই মুখের প্রায় একই angle-এর ছবি বারবার দিলে model সেই pose বা background-এর সঙ্গেই চরিত্রটিকে বেশি জুড়ে ফেলতে পারে। আবার reference ছবিগুলোর মধ্যে চরিত্রটির চেহারা খুব বেশি বদলে গেলে পরিচয় দুর্বল হতে পারে।
Training বেশি করলেই যে ফল ভালো হবে, সেটিও ঠিক নয়। DreamBooth overfit করতে পারে। এই কারণেই LoRA-কে character consistency-এর “সহজ সমাধান” বলা ঠিক হবে না। এটি বেশি নিয়ন্ত্রণ দেয়, কিন্তু তার বিনিময়ে setup, training এবং পরীক্ষা—সবই বাড়ে। নিজের কম্পিউটারে training চালালে GPU ও পর্যাপ্ত memory-ও লাগতে পারে। কতটা লাগবে তা model, resolution এবং training settings-এর ওপর নির্ভর করে।
একটি Facebook campaign-এর পাঁচটি ছবির জন্য এই ঝামেলা নেওয়ার অর্থ হয়তো নেই। কিন্তু একই চরিত্র নিয়ে দীর্ঘ comic বা visual novel হলে হিসাব বদলে যায়।
মুখের সঙ্গে pose-ও যদি বারবার বদলায়
এখানে ControlNet-এর কাজ আসে।
ControlNet মূলত ছবির গঠন নিয়ন্ত্রণ করতে সাহায্য করে। Pose, depth map, Canny edge-এর মতো তথ্য ব্যবহার করে চরিত্রটি কোথায় থাকবে, কীভাবে দাঁড়াবে বা composition কেমন হবে—এসব নির্দেশ দেওয়া যায়।
এটি মুখ সংরক্ষণের tool নয়।
সহজভাবে মনে রাখলে:
- LoRA বা অন্য identity adapter → চরিত্রটি কে
- ControlNet → চরিত্রটি কীভাবে বা কোথায় থাকবে
দুটি সমস্যা একসঙ্গে মিশিয়ে ফেললে অনেক সময় দেখা যায় pose ঠিক হয়েছে, কিন্তু মুখ বদলে গেছে। আবার কখনো মুখ কাছাকাছি, কিন্তু শরীরের ভঙ্গি সম্পূর্ণ আলাদা। দীর্ঘ সিরিজে এই দুটো আলাদা করে নিয়ন্ত্রণ করাই বেশি ব্যবহারযোগ্য।
IP-Adapter-এ একটি গুরুত্বপূর্ণ সীমা আছে

Reference image থেকে visual guidance নেওয়ার জন্য Stable Diffusion ecosystem-এ IP-Adapter-ও ব্যবহার করা যায়। Face-oriented variant আছে, তাই character work-এ এটি স্বাভাবিকভাবেই আগ্রহ তৈরি করে। কিন্তু FaceID variant-এর ক্ষেত্রে license না দেখে কাজে নামা ঠিক হবে না।
IP-Adapter FaceID models InsightFace-এর pretrained model ব্যবহার করে। সংশ্লিষ্ট model non-commercial research-এর জন্য হওয়ায় FaceID models-ও commercial use-এর জন্য প্রকাশিত নয়।
এই পার্থক্যটি বিশেষ করে client work-এর সময় গুরুত্বপূর্ণ। কোনো model Hugging Face থেকে download করা যাচ্ছে—এটুকু দেখে ধরে নেওয়া যাবে না যে সেটি বিজ্ঞাপন, paid campaign বা commercial product-এ ব্যবহার করা যাবে।
DALL·E 3-এর পুরোনো tutorial নিয়ে একটু সাবধান
OpenAI-এর image generation নিয়ে খুঁজলে এখনও DALL·E 3-কেন্দ্রিক অনেক লেখা পাওয়া যায়। নতুন API project-এর জন্য সেগুলোর বড় অংশ আর বর্তমান অবস্থার সঙ্গে মেলে না। OpenAI-এর developer documentation-এ DALL·E 3-কে deprecated এবং API থেকে removed হিসেবে দেখানো হয়েছে। বর্তমান image generation ও editing-এর জন্য GPT Image 2 তালিকাভুক্ত আছে।
GPT Image 2 image input নিতে পারে এবং existing image edit করা যায়। ফলে একটি reference image ধরে পরের scene তৈরি করা বা আগের image পরিবর্তনের কাজ করা সম্ভব। তবে Stable Diffusion-এর LoRA workflow-এর সঙ্গে এটিকে গুলিয়ে ফেললে ভুল হবে।
GPT Image 2-এর API model fine-tuning সমর্থন করে না। অর্থাৎ নিজের character নিয়ে আলাদা LoRA train করে সেই একই ধরনের workflow এখানে তৈরি করা যায় না। কয়েকটি reference-based image বানানোর জন্য এটি বড় বাধা নয়। শতাধিক scene নিয়ে production pipeline বানাতে গেলে অবশ্য পার্থক্যটি গুরুত্বপূর্ণ।
একটি নতুন সিরিজ শুরু করলে কী করবেন
এখানে সবচেয়ে কার্যকর পদ্ধতিটি বরং খুব সাধারণ। একটি ভালো master reference নিন। মুখ পরিষ্কার দেখা যায়, চরিত্রের স্থায়ী বৈশিষ্ট্য বোঝা যায়—এমন image।
তারপর character description লিখে রাখুন। প্রথম কয়েকটি scene একই model version-এ বানান। একবারে সব বদলানোর চেষ্টা করবেন না। পোশাক, camera angle, lighting, hairstyle, expression—সব একসঙ্গে পাল্টে দিলে কোন পরিবর্তনের পর মুখ সরে গেল তা বোঝা কঠিন হয়ে যায়।
দুই-তিনটি পরিবর্তনের পর ছবিগুলো পাশাপাশি রাখুন। আলাদা করে দেখলে যে সমস্যা বোঝা যায় না, পাশাপাশি রাখলে তা দ্রুত ধরা পড়ে। বিশেষ করে দেখুন:
- চোখের রং একই আছে কি না
- মুখ হঠাৎ বেশি চওড়া বা সরু হয়েছে কি না
- বয়স বদলে গেছে মনে হচ্ছে কি না
- hairline বা চুলের দৈর্ঘ্য সরে গেছে কি না
- চশমা, দাগ বা অন্য স্থায়ী বৈশিষ্ট্য হারিয়েছে কি না
- শরীরের অনুপাত অন্য frame-এর সঙ্গে মেলে কি না
কোনো একটি frame স্পষ্টভাবে আলাদা লাগলে তখনই সেটি নতুন করে বানানো বা edit করা ভালো। অনেকগুলো image তৈরি হয়ে যাওয়ার পর প্রথম দিকের continuity ঠিক করতে বসলে কাজ দ্রুত বেড়ে যায়। Reference দিয়েই যদি প্রয়োজন মেটে, সেখানেই থামুন। শুধু “আরও advanced” বলে LoRA যোগ করার দরকার নেই।
আর যদি দেখা যায় নতুন pose বা environment এলেই চরিত্রটি বদলে যাচ্ছে এবং সামনে আরও অনেক scene বানাতে হবে, তখন training-based পদ্ধতি বিবেচনা করা যায়। Pose-ই যদি মূল সমস্যা হয়, ControlNet দেখুন। এইভাবে সমস্যা ধরে tool বেছে নেওয়া, সব tool একসঙ্গে setup করার চেয়ে অনেক বেশি বাস্তবসম্মত।
বাস্তব মানুষের ছবি হলে নিয়ম একটু আলাদা
কাল্পনিক চরিত্রের ক্ষেত্রে কাজটি তুলনামূলক সরল। বাস্তব মানুষের ছবি reference হিসেবে নিলে consent, privacy এবং ব্যবহারের অধিকারও বিবেচনা করতে হয়।
Midjourney-এর নিয়ম অনুযায়ী upload করা ছবির প্রয়োজনীয় অধিকার ব্যবহারকারীর থাকতে হবে। Public বা private ব্যক্তির ছবি abusive বা offensiveভাবে manipulate করা এবং sexualized deepfake তৈরি করা নিষিদ্ধ।
Third-party LoRA, checkpoint বা FaceID model ব্যবহার করলেও license দেখা দরকার। অন্যের artwork, পরিচিত fictional character বা brand mascot ব্যবহার করলে copyright, trademark এবং platform terms-ও প্রযোজ্য হতে পারে।
এই অংশটি character consistency-এর কৌশল নয়; commercial কাজ শুরু করার আগের একটি আলাদা যাচাই।
কোথা থেকে শুরু করা সবচেয়ে সহজ
প্রথম কাজেই training setup বানানোর দরকার নেই। একটি পরিষ্কার reference, স্থির character description এবং একই model version নিয়ে পাঁচ-ছয়টি scene বানিয়ে দেখুন। যদি এতে কাজ চলে, সেটিই যথেষ্ট। যদি না চলে, কোথায় ভাঙছে সেটি দেখুন—মুখে, pose-এ, পোশাকে, নাকি style-এ।
তারপর প্রয়োজনমতো tool যোগ করুন। AI character consistency-এর কাজটি আসলে “কোন tool সেরা” দিয়ে শুরু হয় না। শুরু হয় একটি চরিত্রকে ঠিক কীভাবে একই রাখতে চান, সেটি পরিষ্কার করে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
AI character consistency কী?
AI character consistency বলতে একাধিক AI-generated ছবিতে একই চরিত্রের মুখ, বয়স, চুল, চোখ, স্থায়ী পোশাক বা পরিচায়ক বৈশিষ্ট্য যতটা সম্ভব ধারাবাহিক রাখাকে বোঝায়। গল্প, কমিক, বিজ্ঞাপন বা ব্র্যান্ডের চরিত্র নিয়ে কাজ করলে এই ধারাবাহিকতা বিশেষভাবে দরকার হয়।
একই Seed ব্যবহার করলে কি প্রতিবার একই চরিত্র পাওয়া যাবে?
না। Seed generation-এর প্রাথমিক random noise নিয়ন্ত্রণে সাহায্য করে, কিন্তু এটি character identity সংরক্ষণ করে না। Prompt, model version বা অন্য settings বদলালে একই Seed ব্যবহার করেও আলাদা মুখ বা বৈশিষ্ট্য পাওয়া যেতে পারে।
Midjourney-তে –cref এবং –oref-এর পার্থক্য কী?
–cref হলো Midjourney V6 ও Niji 6-এর Character Reference parameter। V7-এ এর পরিবর্তে Omni Reference বা –oref ব্যবহার করা হয়। তাই পুরোনো tutorial অনুসরণ করার আগে কোন Midjourney version ব্যবহার করছেন, তা পরীক্ষা করা জরুরি।
LoRA কি character consistency-এর জন্য প্রয়োজনীয়?
সব ক্ষেত্রে নয়। কয়েকটি illustration বা ছোট image series-এর জন্য reference-based workflow যথেষ্ট হতে পারে। একই চরিত্রকে অনেক scene, pose ও environment-এ দীর্ঘ সময় ব্যবহার করতে হলে subject-trained LoRA বেশি নিয়ন্ত্রণ দিতে পারে, তবে এতে training ও setup-এর বাড়তি কাজ থাকে।
ControlNet কি একই মুখ ধরে রাখতে পারে?
ControlNet-এর প্রধান কাজ character identity ধরে রাখা নয়। এটি pose, depth, edge এবং composition-এর মতো structural information নিয়ন্ত্রণে বেশি কার্যকর। একই চরিত্রের পরিচয়ের জন্য LoRA বা অন্য identity-focused পদ্ধতির সঙ্গে ControlNet ব্যবহার করা যেতে পারে।
GPT Image 2 দিয়ে কি একই চরিত্রের image series তৈরি করা যায়?
GPT Image 2 reference image input ও image editing সমর্থন করে, তাই একই চরিত্র ধরে নতুন scene তৈরি বা আগের image পরিবর্তনের workflow করা যায়। তবে এর API model fine-tuning সমর্থন করে না, ফলে Stable Diffusion-এর মতো নিজস্ব character LoRA train করার একই ব্যবস্থা নেই।

