
এই প্রকল্পটি যা করে
এই রিপোজিটরিটি Apple Silicon-এ TensorFold-এর জন্য MiniMax H3 ভিডিও মডেল প্যাকেজ করে। এটি TensorFold-এর H3 পরিবারকে MLX int8 Metal kernel এবং LightX2V Turbo adapter-এর সঙ্গে একত্র করে, যাতে সমন্বিত স্টেরিও অডিওসহ ভিডিও তৈরি করা যায়।
এই প্যাকটি text-to-video সমর্থন করে এবং 1.1 সংস্করণ থেকে সরবরাহ করা প্রথম ফ্রেম ব্যবহার করে image-to-video-ও সমর্থন করে। পরিমাপ করা 256 GB মেমরির Mac Studio M5 Ultra-তে Turbo adapter ব্যবহার করে 5 সেকেন্ডের 864x480 ক্লিপ তৈরি করতে প্রায় 50 সেকেন্ড লাগে। নথিভুক্ত benchmark শর্তে 768x448 ক্লিপ তৈরি করতে প্রায় 40 সেকেন্ড লাগে।
রিপোজিটরিটি server বা product নয়, বরং development render path। কোনো tensorfold generate কমান্ড নেই; অন্তর্ভুক্ত script-এর মাধ্যমে প্রতিটি render-এর জন্য মডেল লোড হয়।

প্রধান বৈশিষ্ট্য
- Text-to-video: একটি দৃশ্য বর্ণনা করে ভিডিও ও স্টেরিও অডিওসহ MP4 তৈরি করুন।
- Image-to-video: একটি প্রথম ফ্রেম দিন এবং এরপর কী ঘটে তা বর্ণনা করুন।
- Turbo generation: নথিভুক্ত দ্রুত পথে LightX2V adapter render-কে তিনটি forward-এ নামিয়ে আনে।
- MLX এবং int8 kernel: সামঞ্জস্যপূর্ণ M5 tensor hardware-এ নির্বাচিত transformer ও decoder operation int8 Metal kernel ব্যবহার করে।
- পুনরুৎপাদনযোগ্য setup: installer TensorFold, MLX, সহায়ক library, model revision এবং adapter checksum নির্দিষ্ট সংস্করণে স্থির করে।
- ঐচ্ছিক base-model rendering: base model-এর কাছাকাছি render চাইলে adapter নিষ্ক্রিয় করে প্রায় 20টি sampling step ব্যবহার করুন।
হার্ডওয়্যার ও সফটওয়্যার প্রয়োজনীয়তা
প্রকাশিত performance সংখ্যা 256 GB unified memory-সহ Mac Studio M5 Ultra-তে macOS 27.0.1 চালিয়ে পরিমাপ করা হয়েছে। প্রকল্পের নোট অনুযায়ী, কমপক্ষে 128 GB memory প্রয়োজন, আর adapter merge-এ সর্বোচ্চ memory ব্যবহার প্রায় 103 GB-এ পৌঁছাতে পারে। Adapter ছাড়া সর্বোচ্চ memory ব্যবহার প্রায় 65 GB।
int8 kernel-এর জন্য Metal 4 tensor operation প্রয়োজন, তাই রিপোর্ট করা acceleration সামঞ্জস্যপূর্ণ M5 hardware-এর জন্য নির্ধারিত। এসব operation নেই এমন system-এ H3 পরিবার bfloat16-এ চলে এবং README-তে বর্ণিত C-ভিত্তিক বিকল্পগুলোর চেয়ে ধীর হতে পারে।
এছাড়াও আপনার Homebrew, Python 3.11, uv এবং FFmpeg প্রয়োজন। MiniMax H3 model download-এর আকার প্রায় 144 GB, আর Turbo adapter-এর আকার প্রায় 1.96 GB।
প্রকল্পটি ইনস্টল করুন
রিপোজিটরি clone করে প্রয়োজনীয় host tool ইনস্টল করুন:
git clone https://github.com/drowzeys/keys-Mac-TensorFold-MiniMax-H3-MLX.git
cd keys-Mac-TensorFold-MiniMax-H3-MLX
brew install python@3.11 uv ffmpegএকবারে setup script চালান:
bash oneshot-setup.shInstaller ~/.local/opt/tensorfold-h3-এ একটি বিচ্ছিন্ন environment তৈরি করে এবং H3 পরিবার ও নির্দিষ্ট dependency lock-সহ TensorFold 0.6.5 ইনস্টল করে। Docker উপলভ্য থাকলে এটি প্রকল্পের GHCR prebuilt carrier থেকে checksum-যাচাইকৃত TensorFold payload সংগ্রহ করতে পারে; অন্যথায় Git থেকে সংশ্লিষ্ট source commit সংগ্রহ করে।
Setup প্রয়োজনীয় minimax-h3-mlx revision-ও clone করে, MiniMax H3 FL2VA partition ~/h3-models/MiniMax-H3-এ download করে, Turbo adapter download করে এবং outputs/test.mp4-এ একটি test clip render করে।
পুনরায় ইনস্টল না করে বিদ্যমান installation পরীক্ষা করতে চালান:
bash oneshot-setup.sh --verifyপ্রাথমিক test render বাদ দিতে ব্যবহার করুন:
bash oneshot-setup.sh --no-render
PREFIX এবং H3_MODEL_DIR environment variable-এর মাধ্যমে ডিফল্ট installation ও model location পরিবর্তন করতে পারেন।
একটি text-to-video ক্লিপ তৈরি করুন
একটি prompt ও output filename দিয়ে scripts/generate.sh ব্যবহার করুন:
bash scripts/generate.sh "A hummingbird hovering over red flowers, soft wing hum" out.mp4ডিফল্ট path-এ কনফিগার করা Turbo adapter এবং রিপোজিটরির ডিফল্ট generation setting ব্যবহার করা হয়। Prompt-এ দৃশ্যের ভিজ্যুয়াল বর্ণনা এবং প্রয়োজন হলে কাঙ্ক্ষিত অডিও—দুটিই দেওয়া যায়।
একটি নির্ধারিত ফলাফলের ভিন্নতা পেতে seed দিন এবং সমর্থিত canvas নির্বাচন করুন:
WIDTH=768 HEIGHT=448 SEED=7 bash scripts/generate.sh "A quiet train crossing a snowy valley at dawn" out.mp4Prompt একটি text file-এ রাখতে পারেন। সেক্ষেত্রে prompt argument খালি দিন এবং PROMPT_FILE নির্ধারণ করুন:
PROMPT_FILE=prompts/black-mirror-scene.txt SEED=2077 bash scripts/generate.sh "" out.mp4একটি image-to-video ক্লিপ তৈরি করুন
FIRST_FRAME-এ একটি image file নির্ধারণ করুন। ছবিটি প্রথম frame হবে, আর prompt-এ পরবর্তী গতি বা ঘটনার ব্যাখ্যা থাকবে:
FIRST_FRAME=photo.jpg WIDTH=1344 HEIGHT=768 bash scripts/generate.sh "She turns to the camera and smiles" out.mp4ছবিটি নির্বাচিত canvas-এ stretched হয়, তাই একই aspect ratio-র dimension বেছে নিন অথবা render-এর আগে ছবিটি crop করুন। README-তে 16:9-এর জন্য 1344x768, 9:16-এর জন্য 768x1344 এবং square content-এর জন্য 768x768 ব্যবহারের পরামর্শ দেওয়া হয়েছে।
MiniMax-ধাঁচের image-to-video prompt-এ প্রথম frame স্পষ্টভাবে শনাক্ত করা যেতে পারে, যেমন:
For the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced. The subject walks through the doorway and looks toward the window.Turbo অ্যাডাপ্টার এবং ২০-ধাপের বেস পাথের মাধ্যমে প্রথম-ফ্রেম জেনারেশন উপলভ্য। শেষ-ফ্রেম এবং রেফারেন্স-ইমেজ মোড এই প্যাকে সংযুক্ত করা হয়নি।
ফ্রেম, রেজোলিউশন ও স্যাম্পলিং নিয়ন্ত্রণ
ফ্রেমের সংখ্যা 17n + 5 ফর্ম অনুসরণ করতে হবে। README-তে 56, 73, 90, 124, 192, 243 এবং 362 ফ্রেমসহ সমর্থিত উদাহরণ দেওয়া হয়েছে। প্রস্থ ও উচ্চতা 32-এর গুণিতক হতে হবে, এবং প্রকাশিত মডেলে মোট ক্যানভাসের সীমা সর্বোচ্চ 768x1344 পিক্সেল।
দ্রুত Turbo পাথ তিনটি ফরোয়ার্ড ব্যবহার করে। অ্যাডাপ্টার নিষ্ক্রিয় করে ২০-ধাপের রেন্ডার ব্যবহার করতে ADAPTER=none এবং POINTS=21 সেট করুন:
ADAPTER=none POINTS=21 bash scripts/generate.sh "A lantern glowing beside a forest path" base-model.mp4README এই সেটিংকে বেস মডেলের কাছাকাছি হিসেবে বর্ণনা করেছে। Turbo দ্রুত তীক্ষ্ণ ফ্রেম তৈরি করতে পারে, তবে কখনও কখনও একই অবয়ব পুনরাবৃত্তি করতে পারে। একই seed ব্যবহার করলেও দুটি মোড ভিন্ন কম্পোজিশন তৈরি করতে পারে।

গতির বিনিময়গুলো বুঝুন
সবচেয়ে বড় গতি-উন্নতি আসে ২০টির বদলে Turbo অ্যাডাপ্টারের তিনটি ফরোয়ার্ড ব্যবহারে। সমর্থিত M5 টেনসর হার্ডওয়্যারে int8 SwiGLU MLP, int8 QKV অপারেশন, attention output এবং video decoder kernel অতিরিক্ত সুবিধা দেয়।
নথিভুক্ত 864x480 বেঞ্চমার্কে Turbo পাথে denoising করতে প্রায় 27.6 সেকেন্ড এবং text encoding, loading ও quantization, এবং decoding-সহ মোট প্রায় 50 সেকেন্ড লেগেছে। একই তুলনায় ২০-ধাপের TensorFold int8 রেন্ডারে মোট প্রায় 210 সেকেন্ড লেগেছে।
এই সময়গুলো হার্ডওয়্যার-নির্ভর, তাই এগুলোকে সার্বজনীন হিসেবে বিবেচনা করা উচিত নয়। রিপোজিটরিতে আরও বলা হয়েছে, attention নিজেই MLX scaled dot-product attention হিসেবে রাখা হয়েছে, কারণ পরিমাপ করা int8 flash-ধাঁচের বিকল্পটি কার্যকর গতি-সুবিধা দেয়নি।

উন্নত সেটআপ ও ওয়ার্কফ্লো টিপস
প্রিবিল্ট ক্যারিয়ার ব্যবহার করুন
ইনস্টলার GHCR ক্যারিয়ার ব্যবহার করতে পারে, তবে ক্যারিয়ারটি Mac runtime নয়। কনটেইনারের ভেতরে Metal চলে না; ক্যারিয়ারটি কেবল TensorFold wheel, dependency lock, generation script এবং native installation-এর checksums সরবরাহ করে।
docker pull ghcr.io/drowzeys/keys-mac-tensorfold-minimax-h3-mlx:1.1
docker run --rm -v "$PWD":/out ghcr.io/drowzeys/keys-mac-tensorfold-minimax-h3-mlx:1.1 cp -a /payload/. /out/payload/ক্যারিয়ার পুনর্নির্মাণ ও push করতে রিপোজিটরিতে দেওয়া কমান্ডটি হলো:
PUSH=1 bash scripts/build-carrier.shমেমরি ব্যবহারের কথা মাথায় রাখুন
মডেল লোড করা এবং অ্যাডাপ্টার merge করা মেমরি-নির্ভর কাজ। রেন্ডার শুরু করার আগে অপ্রয়োজনীয় অ্যাপ্লিকেশন বন্ধ করুন, বিশেষ করে Turbo অ্যাডাপ্টার ব্যবহার করলে। রিপোজিটরি জানায়, প্রতি run-এ একবার AdaLN table project করা এবং weights ছেড়ে দেওয়ার ফলে তাদের পরিমাপ করা পাথে প্রায় 24 GiB মেমরি সাশ্রয় হয়।
সঠিক image-to-video ক্যানভাস বেছে নিন
প্রথম ছবিটি কম্পোজিশন বজায় রাখার জন্য স্বয়ংক্রিয়ভাবে crop না হয়ে stretch করা হয়। তাই target aspect ratio অনুযায়ী source image প্রস্তুত করুন। এতে portrait, landscape বা square clip তৈরি করার সময় অনাকাঙ্ক্ষিত distortion এড়ানো যায়।
বিকল্প অ্যাডাপ্টার সতর্কতার সঙ্গে ব্যবহার করুন
লোডার adapter path এবং POINTS=5 ব্যবহার করে FastH3 পড়তে পারে, যেমন ADAPTER=.../adapter_model.safetensors দিয়ে। README জানায়, এই পাথটি 864x480-এ পরীক্ষা করা হয়েছিল, test prompt-এ 76 সেকেন্ড সময় নিয়েছিল এবং Turbo-এর তুলনায় বেশি ব্যস্ত দেখাচ্ছিল। এটি 1344x768-এর জন্য প্রকাশিত হয়েছিল, যা প্রকল্পে পরীক্ষা করা হয়নি।
গুণমানের তুলনা সঠিকভাবে ব্যাখ্যা করুন
README জোর দিয়ে বলেছে যে গুণমানের ব্যাপক গ্রেডিং করা হয়নি। int8 পাথ bfloat16-এর কম্পোজিশন ধরে রাখতে পারে, তবে বিবরণ বদলাতে পারে। একইভাবে, তিন-ফরোয়ার্ড Turbo রেন্ডার bfloat16 Turbo রেন্ডার থেকে ভিন্ন হতে পারে। তাই বেঞ্চমার্ক টেবিলগুলো অভিন্ন motion বা audio quality নিশ্চিত না করে পরিমাপ করা গতি ও নির্বাচিত স্থিরচিত্রের তুলনা করে।
লাইসেন্স ও প্রকল্পের অবস্থা
এই প্যাকে মডেল weights অন্তর্ভুক্ত নেই। MiniMax H3 ডাউনলোড করার আগে MiniMax H3 Community License পড়ুন, যার মধ্যে territorial exclusions-ও রয়েছে। এছাড়া রিপোজিটরির credits দেখুন এবং প্রয়োজন অনুযায়ী মূল MiniMax, TensorFold, MLX, H3, adapter ও সংশ্লিষ্ট প্রকল্পের লেখকদের উদ্ধৃত করুন।
এখানে ব্যবহৃত H3 family-কে প্রকাশিত TensorFold version-এর অংশ হিসেবে নয়, বরং প্রস্তাবিত upstream draft pull request হিসেবে বর্ণনা করা হয়েছে। তাই সেটআপ পুনরুৎপাদনের জন্য নথিভুক্ত revisions pin করা গুরুত্বপূর্ণ।
উপসংহার
এই রিপোজিটরি সামঞ্জস্যপূর্ণ Apple Silicon Mac-এ নেটিভভাবে MiniMax H3 video generation চালানোর একটি কেন্দ্রীভূত উপায় সরবরাহ করে। নির্দিষ্ট environment ইনস্টল করে এবং মডেল ডাউনলোড করার পর আপনি text-to-video clip render করতে, প্রথম frame animate করতে, দ্রুত Turbo adapter ও ২০-ধাপের base path-এর মধ্যে বদলাতে এবং canvas, frame count, seed ও prompt settings সমন্বয় করতে পারবেন। উল্লেখযোগ্য memory ও storage প্রয়োজন হবে। প্রকাশিত সময়গুলোকে সাধারণ নিশ্চয়তা হিসেবে নয়, নির্দিষ্ট M5 system-এর পরিমাপ হিসেবে বিবেচনা করুন।
