فهرست مطالب ۸ بخش
از Claude یا ChatGPT خواستهاید برای اپتان یک تیزر فارسی بسازد، یا فقط عنوان یک ویدیو را متحرک کند. خروجی اجرا میشود، ولی حس پاورپوینت دارد: صحنهها یکییکی در هم محو میشوند، همهچیز با هم وارد قاب میشود، و همین که عنوان فارسی به حرکت درمیآید حروفش از هم جدا میشوند یا نقطههایش بریده میشود. ساخت موشن گرافیک فارسی با هوش مصنوعی شدنی است، به شرطی که دستیار هم قاعدههای خط فارسی را بداند و هم قاعدههای کارگردانی موشن را.
پاسخ کوتاه: مهارت (Agent Skill) «کارگردان موشن فارسی» را در Claude Code نصب کنید. این مهارت به دستیار یاد میدهد مثل کارگردان کار کند، یعنی اول جهت بصری و موسیقی را با شما قطعی کند و بعد بسازد، و فارسی را طوری متحرک کند که اتصال حروف، نقطهها و نیمفاصلهها سالم بمانند. خروجی با Remotion یا کد سادهٔ وب ساخته میشود.
چرا حروف فارسی در انیمیشن از هم جدا میشوند؟
خط فارسی پیوسته است و شکل هر حرف به حرفهای کناریاش بستگی دارد. بیشتر روشهای انیمیشن متن برای خط لاتین ساخته شدهاند: برای حرکت دادن حرفبهحرف، هر حرف را در یک جعبهٔ جدا میگذارند. همین کار فارسی را میشکند. سازندهٔ مهارت این خطاها را با علتشان فهرست کرده است:
| آنچه میبینید | علت | قاعدهٔ مهارت |
|---|---|---|
| حروف کلمه از هم جدا شدهاند | هر حرف در جعبهٔ جدا است (inline-block، فرزند flex یا فرزند مستقیم AbsoluteFill در Remotion) |
حروف فارسی هیچوقت در جعبهٔ جدا نمیروند |
| در محل اتصال حروف درز دیده میشود | شفافیت هر حرف جدا تغییر میکند | کلمه کامل محو میشود، نه حرفبهحرف |
| نقطهها یا سرکش «گ» بریده شدهاند | ماسک تنگ و فاصلهٔ خط کم | ماسک حدود نیم em بزرگتر، فاصلهٔ خط دستکم ۱٫۶ (برای نستعلیق ۲٫۴) |
| فاصلهٔ بین حروف بیاثر است یا اتصال شکسته | فاصلهگذاری بین حروف (letter-spacing) |
کشیده به جای فاصله، حداکثر یکی در هر کلمه |
| متن از چپ آشکار میشود | جهت متن تنظیم نشده | تنظیم dir="rtl" و lang="fa"، آشکار شدن از راست و حرکت دوربین به چپ |
| حروف با فونت دیگری درآمدهاند | فونت بارگذاری نشده و Chrome بیصدا فونت سیستم را گذاشته | بارگذاری قطعی فونت با FontFace و delayRender |
چند قاعدهٔ دیگر هم در مهارت هست: کلمههای لاتین داخل متن فارسی در bdi پیچیده میشوند، دکمهٔ پخش و ساعت و عددها هیچوقت آینه نمیشوند، و متن باید «ی» و «ک» فارسی، ارقام فارسی، نیمفاصله و علامتهای ، ؛ ؟ « » داشته باشد. اگر خود متن تیزر هنوز «ی» عربی یا نیمفاصلهٔ جاافتاده دارد، پیش از متحرک کردنش ویرایش متن فارسی با هوش مصنوعی را ببینید. آخرین قاعده هم ربطی به کد ندارد: متن باید فارسی طبیعی و یکدست باشد و یک فارسیزبان آن را تأیید کند.
موشن هوش مصنوعی چرا شبیه اسلایدشو است؟
سه عادت ویدیوی ساخت هوش مصنوعی را لو میدهد: صحنهها با محو شدن به هم میرسند، همهٔ حرکتها یک منحنی سرعت دارند و همهچیز با هم وارد میشود. سازنده میگوید قاعدههای ضد اسلایدشوی این مهارت را از حدود ۱۰۰ پست طراحان حرفهای موشن در X (مهر و آبان ۱۴۰۵) جمع کرده و در فایل هر تکنیک به پستها لینک داده است. خلاصهٔ این قاعدهها:
- صحنهها: هیچ صحنهای در صحنهٔ بعد محو نمیشود. یا یک دوربین در کل فیلم حرکت میکند، یا یک شیء از صحنهای به صحنهٔ بعد میرود.
- منحنیها: هر حرکت منحنی خودش را دارد. ورود نرم است و حدود ۲۰ فریم طول میکشد (
bezier(.16,1,.3,1))؛ خروج تند است، حدود ۸ فریم، و حدود ۷۰ درصد مسافت ورود را میرود. - پشت سر هم: یک عنصر جلو میآید و بقیه ۲ تا ۴ فریم بعد از آن.
- فنرها: طبق توضیح سازنده،
spring()پیشفرض Remotion حدود ۱۶ درصد از مقصد جلوتر میرود و با سختی ۱۰۰ و میرایی ۱۶ این عدد به حدود ۱٫۵ درصد میرسد. کمی جهش برای رابط کاربری خوب است، برای متن نه. - محصول: در ۱۰ ثانیهٔ اول، محصول واقعی در حال انجام یک کار واقعی دیده میشود.
- مکث: هر متن آنقدر روی صفحه میماند که خوانده شود و در این فاصله فقط دوربین آرام نفس میکشد (بزرگنمایی از ۱٫۰۰ تا ۱٫۰۴).
- بافت: دانه، هافتون یا افکت ASCII فقط وقتی دلیل فیزیکی دارد. سازنده اینها را «پیشفرض هوش مصنوعی» مینامد.
ساخت موشن گرافیک فارسی با هوش مصنوعی در Remotion، قدمبهقدم
این مهارت دستیار را وادار میکند بهترتیب جلو برود و در دو جا منتظر تأیید شما بماند. برای همین اولین جواب دستیار ویدیو نیست، چند جهت بصری است:
- خواندن سفارش. فقط جاهای خالی واقعی را میپرسد: متن، مدت، نسبت تصویر، رنگ و فونت برند، جای انتشار و موسیقی.
- نشان دادن جهتها پیش از ساخت. ۶ تا ۱۰ تکنیک را پیشنهاد میدهد و شما از روی گالری نمونهها یا کلیپهای رندرشده انتخاب میکنید.
- اول موسیقی. آهنگ و تمپو قفل میشود و نقشهٔ میزانها ساخته میشود. با ۱۲۰ ضرب در دقیقه هر ضرب نیم ثانیه است و هر میزان ۲ ثانیه؛ در ۶۰ فریم بر ثانیه هر ضرب ۳۰ فریم میشود.
- فهرست نماها روی شبکهٔ میزانها. هر کات روی ضرب میافتد یا ۲ فریم پیش از آن.
- قابهای نمونه. ۴ تا ۶ تصویر ثابت رندر میشود و تا شما «بله» نگویید ساخت شروع نمیشود.
- ساخت در Remotion با یک ظرف دوربین و شیءهای مشترک بین صحنهها.
- بررسی و رندر. لینتر اجرا میشود، تصویرهای ثابت برای نقطههای بریده و اتصالهای شکسته بازبینی میشوند، هر کات با ضرب موسیقی تطبیق داده میشود و حلقهها دقیق بسته میشوند.
اگر ویدیو برای X است، مشخصات خروجی هم در راهنمای مهارت آمده: H.264 با صدای AAC، ابعاد ۱۹۲۰ در ۱۰۸۰، ۳۰ یا ۶۰ فریم بر ثانیه و حداکثر ۲ دقیقه و ۲۰ ثانیه. نکتهٔ مهمترش این است که X ویدیو را بیصدا پخش میکند، پس پیام باید بدون صدا هم برسد.
تایپوگرافی متحرک فارسی بدون letter-spacing
در موشن لاتین، باز شدن فاصلهٔ حروف یکی از رایجترین حرکتهای عنوان است. در فارسی همین حرکت کلمه را تکهتکه میکند؛ در طراحی وب هم همین قاعده برقرار است (خطاهای رایج RTL در CSS فارسی). مهارت برای تایپوگرافی متحرک فارسی چند راه جایگزین دارد که دو تا از آنها تفاوت را خوب نشان میدهند:
- کشیده، نه فاصله. به جای اینکه حروف از هم فاصله بگیرند، کلمه با کشیده (ـ) در جای درستش بلند میشود. حاصل، کلمهای است که کش میآید ولی پیوسته میماند. قاعده این است که هر کلمه حداکثر یک کشیده بگیرد و لینتر کشیدهٔ نابهجا را گزارش میکند.
- نقطهها آخر. اول بدنهٔ پیوستهٔ کلمه ظاهر میشود و نقطهها بعد از آن مینشینند. برای این کار متن باید به بدنه و نقطه تفکیک شود، کاری که ابزار
shape_persian.pyمهارت با HarfBuzz انجام میدهد: متن را شکل میدهد و خروجی SVG را به بدنهٔ حروف، نقطهها و گروههای بههمپیوسته جدا میکند.
برای کارهای سادهتر، اسکریپت split_fa.js کلمه را با اتصالدهندهٔ بیعرض (ZWJ) به حروفی تقسیم میکند که شکل پیوستهٔ خودشان را حفظ میکنند. دو محدودیت دارد: فاصلهگذاری دقیق جفتحروف (کرنینگ) از دست میرود و نستعلیق را نمیشود اینطور تکه کرد؛ نستعلیق فقط کلمهبهکلمه یا سطربهسطر متحرک میشود.
هشت تکنیک و ابزارهای همراه مهارت
سازنده هشت تکنیک را با نمونهٔ زنده آورده است: «یک دوربین، بدون کات»، «یک شکل، کلِ داستان»، «رابطِ واقعی، کارگردانیشده»، «کات روی ضرب»، «دوفریمی، با خطِ لرزان»، «حروفِ کاغذی»، «نقطهها آخر» و «کشیده، نه فاصله». توصیهاش این است که در یک فیلم یکی دو تکنیک امضا را پیوسته به کار ببرید، نه هر هشت تا را. هر نمونه در جاوااسکریپت فقط تابعی از زمان است، پس هم زنده در مرورگر اجرا میشود و هم فریمبهفریم در Remotion.
ابزارهای دیگری که در پوشهٔ مهارت هست:
- لینتر فارسی (
scripts/lint_persian.py، فقط با کتابخانهٔ استاندارد پایتون) دو حالت دارد. در حالت متن، «ی» و «ک» عربی، ارقام عربی و ارقام لاتین کنار متن فارسی، نیمفاصلههای جاافتاده، فاصلهٔ بیعرض به جای نیمفاصله، علامتهای انگلیسی و جای کشیده را میگیرد. در حالت کد،letter-spacingکنار متن فارسی، جعبهبندی حروف، نبودنdir="rtl"، محو شدن صحنه در صحنه و تنظیم پیشفرض فنرها را. - گالری نمونهها در
assets/sketches/gallery.htmlکه با یک سرور ساده مثلpython3 -m http.server 8000باز میشود. - پروژهٔ Remotion با یک کلیپ برای هر تکنیک و یک فیلم معرفی ۸۲ ثانیهای بهعنوان نمونهٔ کامل.
- موسیقی ساختهشده با کد: قطعهای ۱۲۰ ضرب در دقیقه در دستگاه شور، همراه نقشهٔ ضربها (
beats.json) تا کاتها دقیق روی ضرب بیفتند.
نصب مهارت و اولین تیزر
مهارت با سرور MCP فرق دارد: به دستیار داده یا اتصال تازه نمیدهد، روش کار یاد میدهد و روی کامپیوتر خودتان اجرا میشود (تفاوت Skill و MCP). دستور نصب، طبق راهنمای سازنده:
git clone https://github.com/atmirrr/persian-motion-director ~/.claude/skills/persian-motion-directorاین دستور مهارت را برای همهٔ پروژههای Claude Code نصب میکند. اگر فقط برای یک پروژه میخواهیدش، پوشه را در .claude/skills/ همان پروژه بگذارید.
بعد در یک گفتگوی تازه کارتان را با جزئیات واقعی بگویید، مثلاً: «برای معرفی اپم یک ویدیوی کوتاه افقی با متن فارسی میخواهم؛ پیش از ساختن، چند جهت بصری نشانم بده.» دستیار سراغ قدمهای بالا میرود: جهتها، موسیقی، نماها، قابهای نمونه و بعد ساخت.
برای دیدن و رندر کردن نمونههای خود مهارت، در پوشهٔ assets/remotion اینها را اجرا کنید:
npm install
npx remotion studio src/index.ts
node render-clips.mjs out
node render-clips.mjs out --only Introدستور سوم کلیپ هشت تکنیک را میسازد و دستور چهارم فیلم معرفی را.
قبل از استفاده چه چیزهایی لازم است؟
- ابزار محلی. پایتون ۳ با بستههای
uharfbuzzوfonttoolsبرای شکلدهی متن، و Node و npm برای Remotion. پروژهٔ نمونه روی Remotion نسخهٔ 4.0.530 قفل شده و Remotion برای رندر از Chrome استفاده میکند. - مجوز Remotion. طبق مجوز خود Remotion، استفاده برای افراد، شرکتهای انتفاعی تا ۳ کارمند، سازمانهای غیرانتفاعی و ارزیابی رایگان است و شرکتهای بزرگتر مجوز شرکتی لازم دارند. همان فایل میگوید شرایط در نسخهٔ ۵ کمی عوض میشود. مجوز خود مهارت MIT است.
- وقت برای تصمیم. این روش یکضرب نیست: شما جهت را انتخاب میکنید، قابهای نمونه را تأیید میکنید و متن را یک فارسیزبان میخواند.
- محیط مستند. سازنده فقط نصب در Claude Code را توضیح داده است. کار کردنش در claude.ai یا دستیارهای دیگر را آزمایش نکردهایم.
- ادعاهای سازنده. رفتار Chrome با letter-spacing و عددهای جهش فنرها را از توضیح سازنده نقل کردهایم و خودمان نسنجیدهایم.
- مهارت جامعه. سازندهاش atmirrr است و آخرین تغییر مخزن به ۱۴ مهر ۱۴۰۵ برمیگردد. این مهارت روی روتر بازارچه اجرا نمیشود؛ اگر دنبال سرورهای MCP بدون نصب هستید، از اتصال دستیار شروع کنید.
اگر کارتان ترجمه و حروفچینی کمیک است، مهارت «روایت کمیک» هم در همین دسته است. برای تیزر و تایپوگرافی متحرک فارسی، دریافت مهارت را بزنید و از دستیار بخواهید پیش از ساختن، جهتها را نشانتان بدهد.
سؤالهای پرتکرار
چرا حروف فارسی در انیمیشن از هم جدا میشوند؟
چون ابزار انیمیشن برای حرکت حرفبهحرف، هر حرف را در جعبهٔ جدا میگذارد و مرورگر حروف جعبههای جدا را به هم وصل نمیکند. محو کردن حرفبهحرف هم در محل اتصال درز میاندازد. این مهارت به دستیار یاد میدهد کلمه را کامل محو کند و برای حرکت حرفبهحرف، متن را با HarfBuzz شکل بدهد تا اتصالها سالم بمانند.
این مهارت خودش ویدیو میسازد؟
بهتنهایی نه. مهارت روش کار، قاعدهها و ابزار را به دستیار میدهد و ویدیو با Remotion روی کامپیوتر خودتان رندر میشود. برای این کار Node و npm لازم است، و برای ابزار شکلدهی متن، پایتون با بستههای uharfbuzz و fonttools.
در ChatGPT یا claude.ai هم کار میکند؟
سازنده فقط نصب در Claude Code را توضیح داده است. قالب Agent Skills استاندارد باز است، ولی ابزارهای این مهارت پایتون، Node و Remotion محلی میخواهند و کار کردنش در محیطهای دیگر را آزمایش نکردهایم.
استفاده از Remotion رایگان است؟
طبق مجوز خود Remotion، برای افراد، شرکتهای انتفاعی تا ۳ کارمند، سازمانهای غیرانتفاعی و ارزیابی رایگان است و شرکتهای بزرگتر مجوز شرکتی لازم دارند. پیش از کار تجاری، شرایط را در سایت Remotion ببینید. مجوز خود مهارت MIT است.
چرا نباید روی عنوان فارسی letter-spacing گذاشت؟
در بسیاری از مرورگرها و ابزارها، فاصله دادن بین حروف اتصال کلمهٔ فارسی را میشکند. طبق توضیح سازنده، Chrome از نسخهٔ ۱۳۷ letter-spacing را درون کلمههای فارسی نادیده میگیرد، پس فاصلهای که طراحی کردهاید در رندر Remotion دیده نمیشود. در هر دو حالت مهارت آن را ممنوع میکند و به جایش کشیده پیشنهاد میکند، حداکثر یکی در هر کلمه.
فونت و موسیقی نمونه را میشود در کار خودم به کار برد؟
فونت وزیرمتن همراه مهارت با مجوز SIL OFL 1.1 آمده است. طبق راهنمای سازنده، موسیقی نمونه با اسکریپت compose_shur_pulse.py ساخته شده و استفاده از آن آزاد است.


