هووورا

اکران رسمی نسخه جدید بیت گرف

۲ روز و ۰۷:۳۷
هوش مصنوعی

Timeline Prompting در ویدیو AI؛ کاوش عمیق و تخصصی برای کنترل ثانیه‌به‌ثانیه‌ی صحنه

تولید ویدیوی هوش مصنوعی دیگر به شانس بستگی ندارد! اگر از پرامپت‌نویسی ابتدایی عبور کرده‌اید، این مقاله کلید ورود شما به دنیای «کارگردانی دیجیتال» است. با یادگیری تکنیک پیشرفته‌ی Timeline Prompting، ک…

ارسطو اعتمادی
۲۷ اردیبهشت ۱۴۰۵ · 38 دقیقه مطالعه
Timeline Prompting در ویدیو AI؛ کاوش عمیق و تخصصی برای کنترل ثانیه‌به‌ثانیه‌ی صحنه

این مقاله، یک Deep Dive (نمیخوام این کلمه دیپ دایو رو به کاوش عمیق معنی کنم!) تخصصی برای کسانی است که از فاز یادگیری اولیه‌ی پرامپت‌نویسی ویدیویی عبور کرده‌اند و حالا می‌خواهند به سطحی برسند که در آن «صحنه» را نه به‌صورت توصیفی بلکه به‌صورت معماری‌شده به مدل تحویل دهند. دوستان مجددا عذرمیخوام که بعضی کلمات رو فارسی نمیکنم! چون که باید اینطور یاد بگیرید. 

در این مقاله، روی دو تکنیک پیشرفته‌ی همگرا تمرکز می‌کنیم: Timeline Prompting که زمان را به پرامپت می‌آورد، و JSON Prompting که ساختار را به پرامپت اضافه می‌کند. وقتی این دو با هم ترکیب شوند، شما به یک ابزار کارگردانی دیجیتال واقعی دست پیدا می‌کنید که با آن می‌توانید ویدیوهایی با کیفیت استدیویی، با narrative pacing کنترل‌شده و با consistency بالا بین فریم‌ها تولید کنید. (اصطلاح Narrative Pacing در ادبیات سینما، کارگردانی و تدوین به معنای «ضرب‌آهنگ روایت» یا «ریتم داستانی» است.به زبان ساده، یعنی کنترل اینکه داستان (یا اتفاقات داخل ویدیو) با چه سرعت و ریتمی به مخاطب منتقل شود. چه زمانی صحنه باید کُند، آرام و احساسی پیش برود و چه زمانی باید تند، پرحرکت و هیجانی باشد.) 

هدف این مقاله این است که در پایان، شما بتوانید: ساختار schema (الگو، چارچوب یا ساختار پایه‌ای و از پیش تعیین‌شده) برای پروژه‌های خود طراحی کنید؛ از seed locking (قفل کردن «کد پایه» (Seed) برای ثابت نگه داشتن چهره و ظاهر کاراکتر و برای حفظ identity (هویت) شخصیت‌ها استفاده کنید؛ پرامپت‌های nested چندلایه (تودرتو؛ پرامپت‌هایی که لایه لایه داخل هم قرار می‌گیرند) برای صحنه‌های پیچیده بسازید؛ و مهم‌تر از همه، یک workflow حرفه‌ای از ایده تا خروجی نهایی داشته باشید که در پروژه‌های واقعی برند و کمپین قابل اعتماد است.

پرامپت‌نویسی برای ویدیو هوش مصنوعی؛ کلاس درس کامل از صفر تا صد برای Seedance، Kling و Veo3 و ...

اگه با ChatGPT یا Claude پرامپت‌نویسی بلد باشید، تصور می‌کنید برای مدل‌های ویدیوساز هم همین کافی است؛ اما واقعیت فرق دارد. پرامپت ویدیویی باید زمان، حرکت دوربین، نور، فضا و صدا را دقیق کنترل کند. در…

چرا Timeline و JSON با هم؟ تئوری همگرایی

یک سؤال طبیعی این است: چرا این دو تکنیک را در یک مقاله بررسی می‌کنیم؟ پاسخ ساده: چون هر کدام به‌تنهایی ناقص است. JSON Prompting بدون عنصر زمان، فقط یک «سند ثابت» است. مثل یک پرامپت تصویر که فقط فرمت‌بندی شده. Timeline Prompting بدون ساختار JSON، یک «سناریوی متنی» است که هر بخش آن می‌تواند ابهام داشته باشد. وقتی هر دو با هم ترکیب می‌شوند، شما به یک سند ساختاریافته‌ی زمانی می‌رسید معماری کامل یک ویدیو در قالب کد و این موجب نتایج شگفت آور خواهد شد.

در یک راهنمای رسمی MindStudio درباره‌ی Seedance 2.0، نقطه‌ی همگرایی این دو تکنیک به‌عنوان «اسکلت معماری ویدیو AI» معرفی شده است. ایده‌ی این تشبیه این است: همان‌طور که یک معمار ساختمان را با نقشه‌ی دقیق طراحی می‌کند نه با توصیف کلامی، یک کارگردان ویدیو AI هم باید صحنه را با ساختار دقیق طراحی کند، نه با توصیف خطی.


سه دلیل کلیدی برای ترکیب این دو تکنیک در پرامپت نویسی

اول، کنترل سلسله‌مراتبی: در یک پرامپت متنی خطی، تغییر یک عنصر کوچک ممکن است باعث تغییر کل خروجی شود. اما در یک ساختار JSON با timeline، شما می‌توانید فقط یک کلید در یک timestamp خاص را تغییر دهید و بقیه‌ی صحنه دست‌نخورده باقی بماند. این رویکرد، شبیه نوشتن کد ماژولار به‌جای کد یک‌تکه است.

دوم، قابلیت بازتولید پرامپت: در پروژه‌های واقعی، شما اغلب باید چندین ویدیو با هویت بصری مشترک تولید کنید. یک کمپین برند نمی‌تواند ۱۰ ویدیو با ۱۰ سبک متفاوت داشته باشد. ساختار JSON+Timeline به شما اجازه می‌دهد یک «اسکلت ثابت» داشته باشید که در آن فقط فیلدهای خاص (مثل subject یا action) برای هر ویدیو تغییر می‌کنند، و عناصر هویتی (style، lighting، camera signature) ثابت می‌مانند.

سوم، Debugging صنعتی: وقتی یک ویدیو نقص دارد، در پرامپت متنی شما باید کل پرامپت را بازخوانی کنید تا منبع خطا را پیدا کنید. در ساختار JSON+Timeline، می‌توانید مستقیماً ببینید کدام timestamp مشکل دارد، کدام کلید آن timestamp ابهام دارد و فقط همان را اصلاح کنید. در یک ارزیابی داخلی منتشرشده، این رویکرد تا ۷۰ درصد چرخه‌های اصلاح را کاهش می‌دهد.

یک موشن دیزاینر در Medium نوشته بود: «من زمانی خلاقیت واقعی پیدا کردم که ساختار را پذیرفتم. JSON Prompting ایده‌های من را محدود نکرد، بهشان یک framework داد که در آن رشد کنند.» 


 

مفهوم زمان در ویدیو AI؛ چرا مدل‌ها به‌صورت پیش‌فرض «زمان‌نابینا» هستند

برای فهم عمیق Timeline Prompting، اول باید بفهمیم چرا این تکنیک ضروری است. یک حقیقت کم‌تر گفته‌شده درباره‌ی مدل‌های ویدیویی این است: آن‌ها به‌صورت پیش‌فرض، تمایل به ایستایی زمانی دارند. وقتی یک پرامپت متنی به مدل می‌دهید، مدل آن را به‌عنوان یک «نقطه‌ی مرجع» تفسیر می‌کند، نه یک «بازه‌ی زمانی».

به عبارت دیگر، اگر بنویسید «مرد جوان در حال ورود به اتاق»، مدل این را به‌عنوان یک حالت میانگین تعبیر می‌کند، نه به‌عنوان یک حرکت دارای آغاز و پایان. به همین دلیل است که اغلب می‌بینید مدل، بدون اینکه واقعاً وارد شدن را شبیه‌سازی کند، فقط یک نمای ثابت از مرد در نزدیکی در نشان می‌دهد. این پدیده، که در منابع تخصصی به‌نام temporal flatness شناخته می‌شود، یکی از مهم‌ترین چالش‌های پرامپت‌نویسی ویدیو AI است.

سه نوع زمان که در پرامپت ویدیو وجود دارد

Timeline Prompting در واقع، تکنیک تبدیل زمان میانگین به زمان نقطه‌ای است. شما به‌جای دادن یک حالت کلی به مدل، رویدادها را در نقاط زمانی مشخص قرار می‌دهید و مدل را مجبور می‌کنید آن‌ها را به‌صورت یک سلسله‌ی متوالی تفسیر کند، نه یک حالت واحد.

یک مطالعه‌ی فنی روی Veo3 و Kling نشان داده که در تست‌های میدانی، استفاده از timestamp برای صحنه‌های روایتی، باعث می‌شود مدل ضریب تطبیق با ایده‌ی اصلی را تا ۲.۵ برابر افزایش دهد. این عدد بسیار قابل‌توجه است و توضیح می‌دهد چرا حرفه‌ای‌ها این تکنیک را به یک استاندارد روزمره تبدیل کرده‌اند

بینش کلیدی:

اگر در ویدیوهای شما رویدادها «اتفاق نمی‌افتند»، انگار صحنه فقط حرکت می‌کند بدون اینکه چیزی «رخ دهد» مشکل از مدل نیست، از زمان‌نابینایی پرامپت شماست. اضافه کردن timestampها این مشکل را در ۹۰ درصد موارد حل می‌کند. باهم جدول پایین را مرور کنیم.

Timeline Prompting در ویدیو AI

ساختار کامل Timeline Prompting؛ آناتومی یک پرامپت زمانی حرفه‌ای

یک Timeline Prompt حرفه‌ای از سه لایه‌ی هم‌مرکز تشکیل شده است: لایه‌ی Global که اطلاعات ثابت کل ویدیو را در بر دارد، لایه‌ی Segment که هر بازه‌ی زمانی مشخص را توصیف می‌کند و لایه‌ی Beat که جزئیات لحظه‌ای درون هر segment را مشخص می‌کند. این ساختار سلسله‌مراتبی، در راهنماهای رسمی Sora 2، Seedance 2.0، و Veo 3.1 با اندک تفاوت، تکرار شده است.

لایه‌ی ۱: Global - هویت ثابت ویدیو در پرامپت 

لایه‌ی Global، اطلاعاتی است که در طول کل ویدیو ثابت می‌ماند: سبک بصری، کیفیت، کاراکترها، نسبت تصویر و آرشیو سینمایی. این لایه باید در ابتدای پرامپت قرار گیرد و تا پایان ویدیو در حافظه‌ی مدل فعال بماند. در راهنمای رسمی Timeline Prompting در Sora 2، چهار عنصر برای لایه‌ی Global پیشنهاد شده است:

Timeline Prompting در ویدیو AI
پرامپت Global
Style: Cinematic disaster realism, slow-motion surrealism, tense atmospheric tone Camera: Smooth handheld tracking, transitioning to fluid slow-motion underwater shots Scene: Inside a small convenience store, calm routine turns to chaos Audio: Soft pop music ambience, register beeps in background, building to underwater silence

نکته‌ی کلیدی این است: لایه‌ی Global را به‌صورت یک امضای ثابت در نظر بگیرید. اگر این لایه تغییر کند، شما دیگر در «همان ویدیو» نیستید، در یک ویدیوی جدید هستید. به همین دلیل، در پروژه‌های برندی، این لایه را یک‌بار می‌نویسید و در تمام ویدیوهای آن کمپین استفاده می‌کنید.


لایه‌ی ۲: Segment - هر بازه‌ی زمانی مشخص

لایه‌ی Segment، قلب Timeline Prompting است. هر segment یک بازه‌ی زمانی مشخص دارد و رویدادهای آن بازه را توصیف می‌کند. در راهنمای رسمی Seedance 2.0، توصیه شده که هر segment بین ۲ تا ۴ ثانیه طول داشته باشد کوتاه‌تر باعث می‌شود مدل اطلاعات کافی برای پیاده‌سازی نداشته باشد، و طولانی‌تر باعث می‌شود مدل تصمیمات زیادی به‌صورت خودکار بگیرد که از کنترل شما خارج می‌شود.

هر segment باید این چهار عنصر را داشته باشد: Action (چه اتفاقی می‌افتد)، Camera move (دوربین چطور حرکت می‌کند)، Atmosphere (حال‌وهوای آن لحظه)، و Audio cue (افکت صوتی نقطه‌ای). این چهار عنصر، یک «شات کامل» را تعریف می‌کنند.

نمونه‌ی segment پیشرفته
[00:03–00:06] Action: Tsunami wall of water bursts through glass doors in slow motion Camera: Tracking shot reverses to wide framing, freezes momentarily Atmosphere: Mundane rhythm shatters; people frozen mid-gesture Audio: Glass shattering distorts into deep underwater rumble

لایه‌ی ۳: Beat  جزئیات لحظه‌ای درون segment

Beat، ریزترین واحد Timeline Prompting است. در یک سگمنت ۳ تا ۴ ثانیه‌ای، می‌توانید چند beat تعریف کنید که هر کدام یک «لحظه‌ی پیشرو» است. این لایه، فقط برای پروژه‌های پیچیده‌ی روایتی ضرورت پیدا می‌کند، اما وقتی استفاده شود، تأثیر آن بر دقت پیاده‌سازی شگفت‌انگیز است.

Beat معمولاً با عبارات حرف‌اضافه‌ی زمانی نوشته می‌شود:

«at 00:04 the lamp flickers»، «by 00:05 the dog raises its head»، «from 00:05 to 00:07 the man approaches the door»

این جزئیات لحظه‌ای، به مدل کمک می‌کنند ریتم درونی segment را به‌درستی پیاده کند.

نمونه‌ی segment با beats:
[00:00–00:03] Wide shot of bedroom Beat 1: at 00:00, lamp emits soft warm glow Beat 2: at 00:01, computer screen flickers (subtle) Beat 3: from 00:02 to 00:03, camera slow push-in begins toward desk Beat 4: by 00:03, framing tightens to medium shot

نکته‌ی پیشرفته:
استفاده از beats، فقط زمانی توصیه می‌شود که شما یک ریتم بسیار خاص می‌خواهید (مثل sync کردن با موزیک یا dialogue پیش‌ضبط‌شده). برای ویدیوهای عمومی، segments کافی هستند و beats می‌توانند پیچیدگی غیرضروری اضافه کنند.


پنج الگوی پیشرفته‌ی Timeline برای روایت‌های مختلف

بعد از فهم ساختار سه‌لایه، حالا به سراغ الگوهای پیشرفته می‌رویم. قبل از این که ادامه دهید پیشنهاد میکنم مفاهیم ذکر شده در قبل را یکبار مرور کنید. خب ادامه دهیم: هر الگو، یک ساختار آماده برای یک نوع روایت مشخص است که در پروژه‌های واقعی به‌خوبی آزمایش شده. این الگوها را می‌توانید به‌عنوان templates در پروژه‌های خود استفاده کنید.

الگوی ۱: Tension Build ،افزایش تدریجی تنش (خودم عاشق این کارم!)

این الگو برای روایت‌هایی که در آن‌ها تنش به‌تدریج اوج می‌گیرد فوق‌العاده است: تریلر فیلم، تبلیغ احساسی، open کلیپ‌های موسیقی. ساختار این الگو این‌گونه است:

الگوی Tension Build:
[0:00–0:03] Calm baseline wide shot, slow camera, neutral atmosphere [0:03–0:06] Subtle disturbance  minor visual cue, camera begins push-in [0:06–0:09] Rising intensity closer framing, atmosphere tightens, audio swell [0:09–0:12] Peak moment close-up, dramatic camera, peak audio [0:12–0:15] Resolution or cliffhanger  pull-back or freeze frame

نکته‌ی کلیدی این الگو: تنش باید نمایی (exponential) باشد، نه خطی. یعنی هر segment باید شدت بیشتری از قبلی داشته باشد، نه فقط بیشتر از baseline. این رویکرد، مغز بیننده را در حالت «انتظار» نگه می‌دارد.

الگوی ۲: Reveal، کشف ساختاریافته در ویدیو هوش مصنوعی

الگوی Reveal، برای محتواهایی است که در آن‌ها یک «کشف» در یک لحظه‌ی خاص می‌خواهید نشان دهید: محصول جدید، شخصیت کلیدی، صحنه‌ی پنهان. این الگو از قاعده‌ی «contrast before reveal» پیروی می‌کند قبل از کشف، یک حالت متضاد بسازید. قبل تر باهم در اموزش kling این موضوع را در یوتوب آکادمی بیت گرف تمرین کردیم.

الگوی Reveal:
[0:00–0:02] Misdirection focus on something secondary [0:02–0:04] Camera pivot direction shift, anticipation builds [0:04–0:06] The reveal sudden focus on hero element with dramatic lighting [0:06–0:08] Sustain hold on hero, allow viewer to absorb [0:08–0:10] Context pull-back to show hero in larger frame

الگوی ۳: Beat-to-Beat ،sync با موسیقی یا narration

این الگو برای موزیک ویدیو، تبلیغات با voiceover (وکال) پیش‌ضبط‌شده، و هر کاری که با صدای زمان‌بندی‌شده sync می‌شود فوق‌العاده است. اگر قبلاً یک voiceover ضبط کرده‌اید، می‌توانید از waveform آن، beats دقیق را استخراج کنید و هر کدام را یک رویداد بصری متناظر بدهید.

نکته‌ی فنی مهم: در این الگو، هر beat باید کوتاه و دقیق باشد معمولاً ۰.۵ تا ۱.۵ ثانیه. صحنه‌های طولانی‌تر، sync را از بین می‌برند. در راهنمای رسمی Veo 3.1 توصیه شده که برای محتوای موزیک‌محور، حداکثر طول سگمنت ۲ ثانیه باشد و بقیه با beats مدیریت شود.

نمونه‌ی Beat-to-Beat برای موزیک:
[0:00.0] Drum hit → quick cut to character face [0:00.8] Bass line drops → wide aerial shot [0:01.6] Vocal entry → close-up on lips [0:02.4] Synth swell → slow-motion environmental shot [0:03.2] Drop → rapid cut sequence (3 cuts)

الگوی ۴: Parallel Action، دو خط روایی همزمان

این الگوی پیشرفته، برای روایت‌هایی است که در آن‌ها دو رویداد در دو مکان به‌صورت موازی اتفاق می‌افتند. در این الگو، هر segment به دو زیرلایه تقسیم می‌شود صحنه A و صحنه B که هر کدام یک خط روایی مستقل دارند، اما در یک نقطه به هم می‌رسند.

نمونه‌ی Parallel Action:
[0:00–0:03]   Scene A: Man in office, looking at clock anxiously   Scene B: Woman running through subway station  [0:03–0:06]   Scene A: Man stands up, exits office quickly   Scene B: Woman boards train at last moment  [0:06–0:09] CONVERGENCE   They meet on station platform, eye contact, slow-motion freeze

هشدار: این الگو در مدل‌های فعلی (Seedance 2.0، Kling 3.0)، فقط در حالت multi-shot generation قابل پیاده‌سازی است. مدل‌هایی که فقط single-shot تولید می‌کنند، نمی‌توانند این الگو را به‌صورت کامل بسازند. در این موارد، توصیه می‌شود هر صحنه را جداگانه تولید کنید و در پست با تدوین به هم برسانید.

الگوی ۵: Loop، ساخت ویدیو با شروع و پایان یکسان

ویدیوهای Loop، برای social media (مخصوصاً Instagram Reels و TikTok) فوق‌العاده ارزشمندند چون می‌توانند بدون توقف بصری تکرار شوند و انگیجمنت شما را بالا ببرند. ترفند اصلی Loop این است: first frame ≈ last frame. این یعنی segment آخر باید به‌گونه‌ای طراحی شود که مخاطب نتواند بفهمد ویدیو دوباره از اول شروع شده.

الگوی Loop:
[0:00–0:02] Opening state character/object in position A [0:02–0:05] Transformation main action unfolds [0:05–0:07] Climax peak moment [0:07–0:09] Reverse arc gradual return to position A [0:09–0:10] Match cut frame matches t=0:00 exactly

نکته‌ی فنی: برای Loop کامل، در پرامپت Negative خود حتماً «no abrupt transitions, smooth match-cut at end» را اضافه کنید. همچنین در راهنمای Kling 3.0 توصیه شده که برای loops،  گزینه seed locking را فعال کنید (که در بخش JSON Prompting بررسی می‌کنیم) تا کادر اول و آخر دقیقاً یکسان باشند.


JSON Prompting پیشرفته؛ از structure ساده تا schema حرفه‌ای

اگر در مقاله‌ی پایه با ساختار اولیه‌ی JSON Prompting آشنا شدید، حالا وقت آن رسیده که به سراغ سطح حرفه‌ای برویم. در این بخش، چهار مفهوم پیشرفته را بررسی می‌کنیم: nested objects برای صحنه‌های پیچیده، seed locking برای حفظ مشخصات کاراکتر، هویت برای multi-character، و schema validation برای پرامپت‌های قابل‌اعتماد. این چهار مفهوم، تفاوت بین یک JSON Prompt آماتور و یک JSON Prompt enterprise را می‌سازند.


nested objects؛ ساختاردهی صحنه‌های پیچیده

یک JSON Prompt ساده، یک سطح کلید-مقدار (واقعا نمیدونم الان کار درستی کردم key-value رو به این کلمه فارسی سازی کردم یا نه! نباید انجام بشه. دوستان انگلیسی رو جدی بگیرید.) دارد. اما در پروژه‌های واقعی، شما اغلب نیاز به سلسله‌مراتب دارید. مثلاً «دوربین» خودش می‌تواند چند زیرعنصر داشته باشد: حرکت، لنز، زاویه. به‌جای اینکه آن‌ها را به‌صورت مسطح بنویسید، می‌توانید آن‌ها را در یک object تو در تو قرار دهید. مفهوم شی گرایی!

مقایسه:

❌مسطح در مقابل nested مسطح (سخت‌خوان):

{ "camera": "medium shot, slow dolly-in, 50mm lens, eye-level"} 

✅ Nested (شفاف و قابل‌مدیریت):

{ "camera": {"shot_type": "medium",  "movement": "slow dolly-in", "lens": "50mm", "angle": "eye-level" }}

مزیت ساختار nested دو چیز است: اول، شما می‌توانید فقط یک زیرعنصر را تغییر دهید (مثلاً lens را از 50mm به 35mm) بدون اینکه بقیه را دست بزنید. دوم، مدل‌های جدید (به‌خصوص Veo 3.1) ساختار nested را با دقت بسیار بیشتری از مسطح تفسیر می‌کنند، چون هر زیرکلید را مستقل ارزیابی می‌کنند.


ساختار nested استاندارد برای ویدیوی حرفه‌ای

یک راهنمای جامع Veo 3 JSON Prompting یک ساختار nested چندلایه ارائه می‌دهد که در آن هر بخش از ویدیو دارای زیرکلیدهای مرتبط است:

Schema حرفه‌ای nested:
{   “global_settings”: {     “output_resolution”: “1080p”,     “aspect_ratio”: “16:9”,     “frame_rate”: 24,     “duration_seconds”: 8   },   “visual_style”: {     “genre”: “cinematic drama”,     “reference”: “Roger Deakins lighting”,     “film_emulation”: “Kodak Vision3 250D”,     “grain”: “subtle 35mm”   },   “camera”: {     “shot_type”: “medium close-up”,     “movement”: “slow dolly-in”,     “lens_mm”: 50,     “depth_of_field”: “shallow”   },   “lighting”: {     “key_light”: “warm tungsten from desk lamp”,     “fill”: “soft blue from window”,     “contrast_ratio”: “4:1”   } }

نکته‌ی پیشرفته:

اضافه کردن کلیدهای تخصصی فیلم‌سازی مثل film_emulation، contrast_ratio، lens_mm به مدل سیگنال می‌دهد که شما با زبان حرفه‌ای صحبت می‌کنید. مدل‌های جدید روی مستندات فنی فیلم‌سازی آموزش دیده‌اند و این کلمات را به‌خوبی تفسیر می‌کنند. این یکی از hidden hacks (ترفندهای زیرخاکی) مهم در پرامپت‌نویسی پیشرفته است.


seed locking؛ کنترل ژنتیک خروجی

یکی از قدرتمندترین تکنیک‌های JSON Prompting پیشرفته، استفاده از seed است. seed یک عددی است که مدل برای تولید اولیه‌ی نویز (initial noise pattern) از آن استفاده می‌کند. اگر seed را ثابت نگه دارید، خروجی هم تا حد زیادی پایدار می‌ماند، حتی اگر متن پرامپت کمی تغییر کند. این تکنیک، در پروژه‌های واقعی برندی، یک game-changer است.

کاربرد عملی:

فرض کنید برای یک کمپین، یک ویدیوی موفق ساخته‌اید و حالا می‌خواهید ۱۰ ویدیوی مشابه با همان شخصیت و فضا، ولی با اکشن‌های متفاوت بسازید. اگر فقط متن را عوض کنید، مدل ممکن است شخصیت را به‌کلی متفاوت تولید کند. اما اگر seed را ثابت نگه دارید و فقط فیلد action را تغییر دهید، شخصیت و فضای کلی پایدار می‌ماند.

نمونه‌ی استفاده از seed:
// Video 1 { “seed”: 42069, “action”: “character types on computer” }  // Video 2 (همان شخصیت، اکشن متفاوت) { “seed”: 42069, “action”: “character drinks coffee” }  // Video 3 (همان شخصیت، صحنه‌ی متفاوت) { “seed”: 42069, “action”: “character walks to door” }

چند نکته‌ی کلیدی درباره‌ی seed: اول، همه‌ی پلتفرم‌ها seed را به‌صورت مستقیم expose نمی‌کنند. در Veo 3 (از طریق API)، seed یک پارامتر اختیاری است. در رابط رسمی Seedance و Kling، اغلب seed به‌صورت پنهان مدیریت می‌شود. دوم، seed locking صد در صد نیست حتی با seed ثابت، تغییرات کوچک در پرامپت می‌توانند تأثیراتی داشته باشند. اما در ۸۰-۹۰ درصد موارد، شما می‌توانید consistency (ثبات) بالایی داشته باشید.

نکته‌ی پیشرفته: استفاده از seed همراه با character_definitions که در ادامه بررسی می‌کنیم، قوی‌ترین ترکیب برای ثبات شخصیت بین چندین ویدیو است. این رویکرد به‌خصوص برای پروژه‌های episodic content (محتوای دنباله‌دار) ضروری است.


character definitions؛ ارکستراسیون چندشخصیتی

یکی از پیچیده‌ترین چالش‌های ویدیو AI، کنترل چندین شخصیت در یک صحنه است. مدل‌های جدید این کار را پشتیبانی می‌کنند، اما برای کنترل دقیق، باید از تکنیک character definitions استفاده کنید یعنی هر شخصیت را در یک object جداگانه با تمام جزئیات تعریف کنید، و سپس در فیلد action با شناسه‌ی آن شخصیت ارجاع دهید. این پرامپت رو مطالعه کنید لطفا:

ساختار character definitions:
{   “characters”: {     “protagonist”: {       “physical”: “young man, 28, curly blonde hair, blue eyes, pale skin”,       “clothing”: “black hoodie, dark jeans”,       “persona”: “focused but tired, introverted developer”     },     “companion”: {       “physical”: “golden retriever, light golden fur, expressive amber eyes”,       “behavior”: “loyal, alert to environmental changes”     }   },   “timeline”: [     {       “time”: “00:00–00:03”,       “action”: “protagonist types on glowing computer; companion sleeps on rug”     },     {       “time”: “00:03–00:06”,       “action”: “companion’s ears twitch; companion lifts head alert”     }   ] }

سه مزیت بزرگ این رویکرد:

  • اول، یک‌بار تعریف، چندبار استفاده: شما شخصیت را در ابتدای پرامپت یک‌بار با تمام جزئیات تعریف می‌کنید و در timeline فقط با اسم به آن ارجاع می‌دهید. مدل تمام جزئیات را در طول ویدیو حفظ می‌کند.
  • دوم، اشتراک بین ویدیوها: این object را می‌توانید در پروژه‌های متعدد reuse (مجدد استفاده) کنید، که برای کمپین‌های چندویدیویی ضروری است.
  • سوم، dichotomy فیزیک و شخصیت: با تفکیک «physical» و «persona»، به مدل کمک می‌کنید زبان بدنی و رفتار شخصیت با ظاهرش هماهنگ باشد.

نکته‌ی حرفه‌ای: در پروژه‌های برندی، یک «character library» در قالب JSON بسازید و آن را به‌عنوان asset برند نگه دارید. هر بار که نیاز به یک شخصیت جدید دارید، یک definition جدید اضافه کنید. در طول زمان، این library به یکی از ارزشمندترین asset‌های دیجیتال تیم شما تبدیل می‌شود.


schema validation؛ پرامپت‌های قابل‌اعتماد

وقتی پرامپت‌های شما به سطحی می‌رسد که از یک ساختار JSON پیچیده پیروی می‌کنند، خطا‌های کوچک مثل یک ویرگول جا‌افتاده، یک کلید اشتباه نوشته‌شده، یا یک نوع داده‌ی نادرست می‌توانند کل پرامپت را خراب کنند. اینجا schema validation به کمک شما می‌آید.

ابزارهای آنلاین مثل Veo3 JSON Prompt Generator در SimpliConvert و PromptVeo3 یک schema validation داخلی دارند که قبل از ارسال، پرامپت شما را برای صحت ساختاری بررسی می‌کنند. در محیط‌های حرفه‌ای، می‌توانید schema را خودتان بنویسید و در workflow قرار دهید.

نمونه‌ی JSON Schema برای validation:
{   “type”: “object”,   “required”: [“global_settings”, “camera”, “timeline”],   “properties”: {     “global_settings”: {       “type”: “object”,       “properties”: {         “aspect_ratio”: {           “type”: “string”,           “enum”: [“16:9”, “9:16”, “1:1”]         },         “duration_seconds”: {           “type”: “integer”,           “minimum”: 3,           “maximum”: 15         }       }     }   } }

کاربرد عملی schema: اگر در یک تیم چندنفره کار می‌کنید، schema به همه‌ی اعضا یک «استاندارد» مشترک می‌دهد. هر عضو تیم می‌تواند پرامپت بنویسد، اما schema تضمین می‌کند که همه‌ی پرامپت‌ها از یک ساختار پایه پیروی کنند. این رویکرد، در آژانس‌های بزرگ که چندین Designer به‌طور همزمان روی یک کمپین کار می‌کنند، ارزش زیادی دارد.

ادغام نهایی؛ Timeline + JSON در یک ساختار واحد

این ساختار، چندین مزیت کلیدی دارد. اول، لایه‌های ثابت در بالا، لایه‌های متغیر در پایین: global_settings، seed، visual_style، camera_signature، lighting، و characters در بالای فایل ثابت‌اند و با تغییرات کم باقی می‌مانند. timeline در پایین، جایی است که شما برای هر ویدیو متفاوت تنظیم می‌کنید. دوم، هر segment یک object کامل است که action، camera، و audio را در یک سطح هم‌مرتبه قرار می‌دهد. این به مدل کمک می‌کند هر segment را به‌صورت یک واحد منسجم پردازش کند.

JSON کامل "global_settings":
{     “aspect_ratio”: “16:9”,     “duration_seconds”: 10,     “frame_rate”: 24,     “resolution”: “1080p”   },   “seed”: 42069,   “visual_style”: {     “genre”: “Pixar-quality cinematic”,     “film_emulation”: “Kodak 250D”,     “color_grade”: “warm cozy”   },   “camera_signature”: {     “default_lens”: “50mm”,     “depth_of_field”: “shallow”,     “motion_quality”: “smooth, no jitter”   },   “lighting”: {     “key”: “warm tungsten desk lamp”,     “fill”: “soft moonlight from window”   },   “characters”: {     “protagonist”: “young man with curly blonde hair, black hoodie”,     “companion”: “golden retriever, light golden fur”   },   “timeline”: [     {       “time”: “00:00–00:03”,       “action”: “protagonist types on glowing computer”,       “camera”: “wide static shot”,       “audio”: “keyboard typing, ambient room”     },     {       “time”: “00:03–00:06”,       “action”: “companion’s ears twitch and lifts head”,       “camera”: “slow push-in to medium shot”,       “audio”: “faint scratching sound from closet”     },     {       “time”: “00:06–00:10”,       “action”: “protagonist rises and walks to closet”,       “camera”: “tracking shot follows movement”,       “audio”: “footsteps, escalating tension”     }   ],   “negative”: [“jitter”, “morphing”, “identity drift”, “text overlay”] }

نکته فلسفی: دوستان مجدد یادآوری میکنم پرامپت بالا اهمیتش به اندازه کل این مقاله هست! لطفا مطالعه کنید. چندین دقیقه روی آن فوکس کنید.


Workflow عملی؛ از ایده تا خروجی نهایی

داشتن template کافی نیست، شما به یک workflow ساختاریافته نیاز دارید که از ایده‌ی اولیه تا خروجی نهایی، شما را قدم‌به‌قدم هدایت کند. در این بخش، یک workflow پنج‌مرحله‌ای ارائه می‌دهیم که در پروژه‌های واقعی برندی به‌خوبی آزمایش شده است.

مرحله ۱: Storyboarding متنی

قبل از نوشتن هر JSON، یک storyboard متنی ساده بنویسید. در یک پاراگراف، روایت کلی ویدیو را به‌صورت سه پرده تعریف کنید: setup (پرده‌ی اول)، development (پرده‌ی دوم، گسترش داستان همان بخش اصلی که اتفاقات در آن شکل می‌گیرند و پیش می‌روند)، climax/resolution (پرده‌ی سوم، نقطه اوج و پایان‌بندی همان حساس‌ترین لحظه ویدیو و سپس گره‌گشایی یا نتیجه‌گیری نهایی).

این مرحله، شفافیت ذهنی به شما می‌دهد و از پرامپت‌نویسی بدون جهت جلوگیری می‌کند.

نمونه‌ی Storyboard متنی: Setup: یک طراح در اتاق دنج 80s در حال کدنویسی است. Development: سگش از خواب بیدار می‌شود و به یک کمد توجه می‌کند. Climax: طراح بلند می‌شود تا کمد را بررسی کند، تنش بالا می‌رود.

مرحله ۲: تقسیم‌بندی به Segments

storyboard را به segments تقسیم کنید. قاعده‌ی کلی: هر پرده به ۲ تا ۴ segment تقسیم می‌شود، هر سگمنت ۲ تا ۴ ثانیه طول دارد. اگر ویدیوی شما ۱۰ ثانیه است، حدود ۳ تا ۴ segment کافی است. اگر ۱۵ ثانیه است، ۴ تا ۶ segment.

نکته‌ی کلیدی: مرز بین segments باید معنادار باشد یعنی هر segment باید با یک «تغییر» مشخص (تغییر موقعیت دوربین، تغییر شخصیت، تغییر اکشن، تغییر atmosphere) از قبلی متمایز شود. اگر دو segment پشت سر هم هیچ تفاوت معناداری ندارند، یعنی باید آن‌ها را در یک segment ادغام کنید.

مرحله ۳: نوشتن لایه‌ی Global JSON

global_settings، visual_style، camera_signature، lighting، و characters را بنویسید. این بخش، اسکلت ثابت پروژه‌ی شماست. در این مرحله، تصمیمات هویتی پروژه را قطعی می‌کنید: چه سبک بصری؟ چه کیفیت رنگی؟ چه شخصیت‌هایی؟

توصیه: اگر این ویدیو بخشی از یک کمپین است، global را در یک فایل جداگانه (campaign_global.json) ذخیره کنید. در ویدیوهای بعدی، فقط این فایل را import کنید و بخش timeline را بنویسید. این رویکرد، هزاران ساعت از کار تکراری شما را صرفه‌جویی می‌کند.

مرحله ۴: نوشتن timeline به‌صورت آرایه

هر segment را به‌عنوان یک object در آرایه‌ی timeline اضافه کنید. هر object باید حداقل سه کلید داشته باشد: time، action، camera. اگر مدل شما صدا تولید می‌کند (مثل Veo 3 یا Kling 3.0)، کلید audio هم اضافه کنید.

نکته‌ی کیفیت: یکنواختی در action verbs (افعال حرکتی) مهم است. در راهنمای رسمی Veo 3.1 توصیه شده که از افعال خاص و حرکتی استفاده کنید (walks, sips, crashes, freezes, illuminates) به‌جای افعال کلی (does, is, becomes). این کلمات‌ به ظاهر کوچک، تأثیر بزرگی روی pacing و کیفیت خروجی دارد.

مرحله ۵: تست، تکرار و قفل کردن seed

اولین ویدیو را تولید کنید. اگر کیفیت رضایت‌بخش بود، seed آن نسخه را ذخیره کنید و در نسخه‌های بعدی استفاده کنید. اگر رضایت‌بخش نبود، چه چیزی کم است؟ اگر action گم می‌شود، segments را کوتاه‌تر کنید. اگر شخصیت تغییر می‌کند، توصیف character را دقیق‌تر کنید. اگر رنگ‌ها قاطی می‌شوند، lighting را تجزیه و تحلیل کنید.

یک قاعده‌ی طلایی: در هر iteration (تکرار)، فقط یک متغیر را تغییر دهید. اگر همزمان action و camera و lighting را تغییر دهید، نمی‌توانید بفهمید کدام تغییر باعث بهبود (یا افت) شد. این رویکرد علمی در پرامپت‌نویسی، مرز بین یک کاربر معمولی و یک حرفه‌ای را می‌سازد.

ChatGPT Image 2.0 و Seedance 2.0

شش اشتباه پیشرفته که حتی حرفه‌ای‌ها مرتکب می‌شوند

اشتباه ۱: over engineering (مهندسی زیاد) ساختار JSON

اضافه کردن ۲۰ کلید به JSON برای یک ویدیوی ۵ ثانیه‌ای، نه‌تنها کمک نمی‌کند بلکه گاهی مدل را گیج می‌کند. قاعده‌ی طلایی: هر کلید باید یک تصمیم معنادار باشد. اگر کلیدی فقط برای نمایش دانش فنی شماست، حذفش کنید. در پرامپت‌نویسی، minimalism یک فضیلت است.

اشتباه ۲: مرزهای segment اشتباه

segments باید از تغییرات معنادار جدا شوند، نه از زمان دل‌خواه. اگر segment 1 و segment 2 یک action دارند ولی فقط timestamp متفاوت، شما در واقع segment‌گذاری نکرده‌اید فقط ویدیو را تکه‌تکه کرده‌اید. هر مرز segment باید با یک «تغییر بصری» همراه باشد.

اشتباه ۳: seed locking بدون تست

اعتماد ۱۰۰ درصدی به seed locking یک اشتباه رایج است. seed به ۸۰-۹۰ درصد پایداری می‌رسد، نه ۱۰۰ درصد. اگر در یک پروژه‌ی برندی نیاز به consistency کامل دارید، علاوه بر seed، از character_definitions دقیق و reference images هم استفاده کنید.

اشتباه ۴: کپی JSON آماده بدون درک آن

templates آماده در سایت‌هایی مثل PromptVeo3 و SimpliConvert فوق‌العاده‌اند، اما کپی مستقیم آن‌ها بدون تطبیق، اغلب نتیجه‌ی متوسط می‌دهد. هر template را با context پروژه‌ی خود تطبیق دهید. به‌خصوص بخش‌های characters، visual_style و audio.

اشتباه ۵: نادیده گرفتن audio در timeline

در مدل‌هایی که صدا تولید می‌کنند، فیلد audio در هر segment ضروری است، نه اختیاری. حتی اگر می‌خواهید ویدیوی صامت داشته باشید، بنویسید «audio: ambient room tone, no dialogue». رها کردن این فیلد، باعث می‌شود مدل صداهای تصادفی تولید کند که اغلب مزاحم هستند.

اشتباه ۶: تست در طول کم

بسیاری از کاربران، iteration (تکرار) را روی کلیپ‌های ۱۵ ثانیه‌ای انجام می‌دهند، که هم زمان‌بر است و هم پرهزینه. توصیه‌ی حرفه‌ای من: کلیپ‌های ۳ تا ۵ ثانیه برای iteration. وقتی segments و global را پرفکت کردید، آن‌ها را در یک ویدیوی کامل ادغام کنید.

SEEDANCE 2

سؤالات متداول پیشرفته

آیا Timeline Prompting در همه‌ی مدل‌های ویدیو یکسان کار می‌کند؟

نه. Seedance 2.0، Sora 2، Veo 3.1، و Kling 3.0 پشتیبانی بومی از Timeline دارند، با کمی تفاوت در سینتکس. Runway Gen-3 پشتیبانی محدود دارد. Pika 1.5 و مدل‌های قدیمی‌تر، Timeline را به‌صورت متنی ساده تفسیر می‌کنند بدون اینکه واقعاً به timestampها پایبند باشند. در صورت شک، یک تست کوچک با یک Timeline ساده بزنید و ببینید آیا مدل به timestampها پایبند است یا نه!

seed لاکینگ آیا با تغییر متن action (حرکت و عمل) کار می‌کند؟

بله، اما با حدودی. در تست‌های میدانی، seed با تغییرات کوچک (مثل تغییر یک action verb یا یک رنگ) پایداری بالایی نشان می‌دهد. اما اگر تغییرات بزرگ بدهید (مثل تغییر کامل صحنه یا شخصیت)، seed به‌تنهایی کافی نیست. در این موارد، باید از character_definitions دقیق و reference images هم استفاده کنید. seed مکمل است، نه جانشین توصیف دقیق.

بهترین طول segment چقدر است؟

بین ۲ تا ۴ ثانیه. کوتاه‌تر از ۲ ثانیه، مدل اطلاعات کافی برای پیاده‌سازی action ندارد. طولانی‌تر از ۴ ثانیه، مدل تصمیمات زیادی به‌صورت خودکار می‌گیرد که از کنترل خارج می‌شود. اگر می‌خواهید یک حرکت طولانی‌تر داشته باشید، آن را به دو segment با action مرتبط تقسیم کنید.

چطور audio cues را با Timeline سینک (sync) کنم؟

در Veo 3.1 و Kling 3.0، می‌توانید در فیلد audio هر سگمنت، cues صوتی نقطه‌ای (نشانه‌های صوتی یا سرنخ‌های شنیداری) تعریف کنید (مثل «footstep at 00:04»). مدل سعی می‌کند این cues را در همان timestamp بسازد. برای sync دقیق، توصیه می‌شود pace ویدیو (سرعت، ریتم یا گام حرکت ویدیو) را اول طراحی کنید و سپس audio را با آن تطبیق دهید، نه برعکس. اگر sync کاملاً دقیق می‌خواهید، بهتر است audio را در پست با ابزارهای ادیتینگ اضافه کنید.

آیا می‌توانم JSON Prompting را در Midjourney یا تصاویر استفاده کنم؟

Midjourney و سایر مدل‌های تصویر، به‌صورت رسمی JSON Prompting را پشتیبانی نمی‌کنند. اما می‌توانید از structure JSON به‌عنوان یک «framework ذهنی» برای نوشتن پرامپت متنی استفاده کنید. یعنی JSON بسازید، سپس آن را به یک پرامپت متنی منظم تبدیل کنید. این کار خود شما را در پرامپت‌نویسی منظم‌تر می‌کند، حتی اگر مدل JSON نخواند.

چطور هزینه‌ی iteration (تکرار و تست) را مدیریت کنم؟

iteration در ویدیو AI گران‌تر از تصویر است. سه استراتژی وجود دارد. اول، روی کلیپ‌های ۳ ثانیه‌ای iterate کنید، نه ۱۵ ثانیه. دوم، از مدل‌های سبک‌تر برای iteration استفاده کنید (مثل Kling Lite) و فقط ویدیوی نهایی را با مدل پرکیفیت بسازید. سوم، هر iteration یک متغیر، این کاهش پراکندگی، iteration را معنادار می‌کند.

استوری بورد و سگمنت زنی در ویدیو هوش مصنوعی

جمع‌بندی؛ از پرامپت‌نویس به Director-Engineer

اگر یک پیام کلیدی از این مقاله باید با خود ببرید، این است: ترکیب Timeline + JSON Prompting، پرامپت‌نویسی را از یک هنر «شهودی» به یک مهندسی روایی تبدیل می‌کند. این نه‌تنها کیفیت خروجی را افزایش می‌دهد، بلکه workflow شما را به سطحی می‌برد که در آن می‌توانید با اطمینان روی پروژه‌های بزرگ‌تر، کمپین‌های پیچیده‌تر و تیم‌های چندنفره کار کنید.

نکته‌ی نهایی: این تکنیک‌ها، یک سرمایه‌گذاری بلندمدت هستند. اولین بار که یک JSON پیچیده می‌نویسید، شاید زمان‌بر باشد. اما بعد از چند پروژه، شما یک «کتابخانه‌ی شخصی» از templates، charactersو patterns می‌سازید که هر بار سرعت کار شما را بیشتر می‌کند. در ۶ ماه، شما می‌توانید پروژه‌هایی را تحویل دهید که قبلاً ۲ هفته زمان می‌برد، حالا در ۲ روز قابل اجرا خواهد بود

توصیه‌ی نهایی: همین امروز، یکی از Templates این مقاله را بردارید و یک پروژه‌ی کوچک با آن شروع کنید. تجربه‌ی مستقیم، بهترین معلم پرامپت‌نویسی پیشرفته است. در مقاله‌ های بعدی بیت گرف، به سراغ پرامپت‌نویسی برای تصویر (Nano Banana، Flux، Midjourney) خواهیم رفت تا کلاس درس کامل شود.

لطفا اگر ایده و نظری در خصوص این مقاله دارید در پایین بخش کامنت ها با ما به اشتراک بگذارید. آیا این مقاله براتون مفید بود؟


۱۲۹ آتیش۰ دیدگاه1850 بازدید
ارسطو اعتمادی
۶۹۳ مقاله۱۲ دنبال‌کننده

کارشناس ارشد مهندسی مواد از دانشگاه تبریز. از ۱۳۹۰ در حوزه عکاسی و گرافیک‌ام؛ آنچه دلبستگی بود، حرفه شد. بیت گرف را ساختم، از دستش دادم و دوباره ( این‌بار استوارتر) از نو بنا کردم. مقصد روشن است: مرجعی جامع برای آموزش گرافیک، هوش مصنوعی و کد.

گفتگو و سوالات شما

۰

در این قسمت می‌توانید سوال یا نظر خود در مورد مقاله را مطرح کنید.

برای ثبت دیدگاه ابتدا وارد شوید

ورود به حساب

هنوز دیدگاهی ثبت نشده. اولین نفر باشید!

مقالات مرتبط

اگر این را دوست داشتید، ترتیب خواندن بعدی این است

این مقاله‌ها روی «ابزارهای هوش مصنوعی» هم‌پوشانی دارند، مجموع زمان مطالعه ۴۳ دقیقه

مشاهده همه
  1. ابزارهای هوش مصنوعی و ۱ برچسب دیگر

    آموزش هوش مصنوعی استیبل دیفیوژن و نصب آن در 7 مرحله

    در این مقاله آموزشی به معرفی و تعریف هوش مصنوعی استیبل دیفیوژن پرداخته و نصب آن را مرحله به مرحله به صورت تصویری پیش می‌بریم، همچنین لینک دانلود تمام چیزهایی که برای نصب استیبل دیفیوژن نیاز دارید را…

    بیت هاب۶ دی۱۸ دقیقه
  2. ابزارهای هوش مصنوعی و ۱ برچسب دیگر

    میدجورنی رایگان و نحوه استفاده از آن

    در این مقاله با استفاده از پلتفرم ChatGot به استفاده رایگان از میدجورنی می‌پردازیم. در ابتدا نحوه ورود و ثبت‌نام در این پلتفرم را بررسی کرده و بعد روش استفاده از آن و همچنین محدودیت‌هایی که در این پل…

    بیت هاب۱۲ دی۶ دقیقه
  3. ابزارهای هوش مصنوعی و ۱ برچسب دیگر

    هوش مصنوعی فلاکس (FLUX) + آموزش نصب و استفاده به زبان ساده

    در این مقاله هوش مصنوعی فلاکس (FLUX) را معرفی می کنیم و با نحوه نصب و استفاده از این هوش مصنوعی قدرتمند آشنا می شویم. همچنین سخت افزار لازم برای کار با آن را هم مورد بررسی قرار می دهیم.

    ارسطو اعتمادی۲۲ مرداد۱۲ دقیقه
  4. ابزارهای هوش مصنوعی و ۱ برچسب دیگر

    آموزش نصب هوش مصنوعی ComfyUI

    در این مقاله آموزشی به آموزش نصب هوش مصنوعی ComfyUI می پردازیم. ما در چند مرحله ساده روش نصب را توضیح دادیم تا بتوانید به آسانی این هوش مصنوعی قدرتمند را نصب کنید.

    مهدی فریدونی۲۴ مرداد۷ دقیقه
۰

دوره به سبد ثبت‌نام اضافه شد

رفتن به سبد