آموزش Veo 3.1 با Gemini API؛ ساخت ویدیوی عمودی همراه صدا
راهنمای عملی تولید ویدیوی 9:16 و 16:9 با Veo 3.1 در Gemini API؛ از طراحی Prompt و انتخاب مدل تا انتظار برای Operation، دانلود امن، کنترل صدا و ارزیابی خروجی.
Veo 3.1 مدل تولید ویدیوی Google است که میتواند از متن یا تصویر، کلیپ همراه با صدای بومی بسازد. برای برنامهنویس، جذابترین بخش فقط کیفیت تصویر نیست؛ Gemini API اجازه میدهد تولید ویدیو را وارد یک Workflow واقعی کنید، وضعیت Operation را بررسی کنید و خروجی را بهشکل کنترلشده ذخیره و ارزیابی کنید.
در این آموزش یک نمونه Python میسازیم، اما هدف صرفاً اجرای چند خط کد نیست. طراحی Prompt، انتخاب نسبت تصویر، کنترل Secret، مدیریت انتظار و بررسی ایمنی را هم پوشش میدهیم. اگر رابط بصری و Storyboard برایتان مهمتر است، ابتدا راهنمای ساخت فیلم با Google Flow را ببینید.
Veo 3.1 چه قابلیتهایی دارد؟
طبق مستندات رسمی Gemini API، Veo 3.1 و نسخههای آن از Text-to-Video و Image-to-Video پشتیبانی میکنند و صدا را همراه تصویر تولید میکنند. خروجی میتواند افقی 16:9 یا عمودی 9:16 باشد. قابلیتهایی مانند تعیین فریم اول و آخر، استفاده از تصویر مرجع و ادامهدادن ویدیوی تولیدشده نیز بسته به مدل انتخابی در دسترساند.
| قابلیت | کاربرد | نکته اجرایی |
|---|---|---|
| Text to Video | ساخت شات از توصیف | حرکت، دوربین و صدا را جدا مشخص کنید |
| Image to Video | جانبخشیدن به فریم مرجع | ظاهر سوژه و حرکت مطلوب را توضیح دهید |
| First and Last Frame | کنترل شروع و پایان | هر دو تصویر باید با یک صحنه سازگار باشند |
| Reference Images | ثبات سوژه یا سبک | در مستندات API تا سه مرجع ذکر شده است |
| Video Extension | ادامه یک کلیپ Veo | همه مدلها و Resolutionها محدودیت یکسان ندارند |
| Native Audio | دیالوگ، محیط و افکت | صدا را در Prompt دقیق توصیف کنید |
مستندات فعلی برای Veo 3.1 طولهای ۴، ۶ و ۸ ثانیه را فهرست میکند؛ رزولوشنهای بالاتر و بعضی قابلیتها به کلیپ ۸ ثانیهای محدود میشوند. نسخه و محدودیتها ممکن است تغییر کنند، بنابراین پیش از Production جدول Model Versions، Pricing و Rate Limits همان روز را بررسی کنید.
کدام مدل را انتخاب کنیم؟
سه نام رایج در مستندات عبارتاند از Veo 3.1، Veo 3.1 Fast و Veo 3.1 Lite. انتخاب را با آزمایش کوچک انجام دهید، نه با فرض اینکه گرانترین گزینه همیشه برای همه مراحل بهتر است.
| مدل | بهترین استفاده | ریسک یا محدودیت |
|---|---|---|
| Veo 3.1 | شات نهایی و کنترل بیشتر | هزینه و زمان بیشتر نسبت به Draft |
| Veo 3.1 Fast | نمونهسازی و آزمون چند Prompt | خروجی باید با معیار نهایی دوباره سنجیده شود |
| Veo 3.1 Lite | Iteration سریع و Workflowهای پشتیبانیشده | همه قابلیتهای مدل اصلی را ندارد |
یک Workflow اقتصادی این است که ساختار صحنه را با نسخه سریعتر آزمایش کنید، Prompt برنده را قفل کنید و فقط شاتهای تأییدشده را با مدل مناسب خروجی نهایی بسازید. هیچ عدد هزینهای را در کد Hard-code نکنید؛ صفحه Pricing ممکن است تغییر کند.
پیشنیازهای پروژه Python
- یک پروژه در Google AI Studio یا محیط پشتیبانیشده بسازید و دسترسی مدل را بررسی کنید.
- کلید Gemini API را در Secret Manager یا متغیر محیطی با نام
GEMINI_API_KEYنگه دارید. - بسته رسمی Python را با
pip install google-genaiنصب کنید. - برای فایل خروجی یک مسیر کنترلشده و محدودیت اندازه تعریف کنید.
- قبل از اجرای انبوه، با یک Prompt کمریسک و یک خروجی آزمایشی شروع کنید.
کلید را داخل فایل Python، Git، Screenshot یا Log قرار ندهید. فایل ویدیویی تولیدشده نیز میتواند محتوای حساس یا قابل شناسایی داشته باشد؛ مسیر ذخیره، سطح دسترسی و زمان نگهداری را از ابتدا مشخص کنید.
نمونه کد Python برای Text-to-Video
نمونه زیر یک درخواست تولید را میفرستد، Operation را تا پایان بررسی میکند و اولین ویدیو را دانلود میکند. نام مدل را با Model ID فعلی مستندات حساب خود تطبیق دهید.
import timefrom google import genaiclient = genai.Client()prompt = "A vertical cinematic shot of a small robot arranging books in a quiet library, slow dolly-in, warm lamp light, soft page sounds, no dialogue."operation = client.models.generate_videos( model="veo-3.1-generate-preview", prompt=prompt,)while not operation.done: time.sleep(10) operation = client.operations.get(operation)video = operation.response.generated_videos[0].videoclient.files.download(file=video, download_path="output.mp4")در سرویس واقعی، حلقه انتظار را بینهایت نگذارید. Timeout، Cancellation، تعداد Retry محدود و ثبت شناسه Operation را اضافه کنید. اگر چند Worker دارید، Polling را به Queue منتقل کنید تا درخواست وب تا پایان تولید باز نماند.
ساخت Prompt برای Veo 3.1
Prompt ویدیو باید شبیه Brief یک شات باشد. سوژه، عمل، محیط، قاب، حرکت دوربین، نور، ریتم و صدا را از هم تفکیک کنید. از انباشتن صفتهای متناقض پرهیز کنید.
ویدیوی عمودی 9:16، یک ربات کوچک در کتابخانه آرام کتابها را مرتب میکند؛ Medium Shot، Dolly-in آهسته، نور گرم چراغ مطالعه، عمق میدان کم، حرکت طبیعی دستها، صدای ورق کاغذ و Ambience آرام کتابخانه، بدون دیالوگ و بدون نوشته روی تصویر.
| جزء | پرسش راهنما | نمونه |
|---|---|---|
| Subject | چه چیزی در قاب است؟ | ربات کوچک کنار قفسه |
| Action | دقیقاً چه میکند؟ | کتاب را برمیدارد و مرتب میکند |
| Camera | قاب و حرکت چیست؟ | Medium Shot و Dolly-in |
| Lighting | نور چه کیفیتی دارد؟ | گرم، نرم و جهتدار |
| Audio | چه صدا یا دیالوگی شنیده شود؟ | ورق کاغذ، بدون دیالوگ |
| Constraint | چه چیزی نباشد؟ | بدون متن و لوگو |
Prompt را شاتبهشات بنویسید
برای یک Reel سیثانیهای، از مدل نخواهید همه داستان را در یک کلیپ بسازد. پنج یا شش شات کوتاه تعریف کنید و برای هر شات هدف بصری مستقلی داشته باشید. ثبات شخصیت و محصول را با Reference Image مناسب کنترل کنید و تدوین نهایی را خارج از مدل انجام دهید.
صدا را صریح توصیف کنید
Veo صدا را بومی تولید میکند، اما عبارت کلی «صدای سینمایی» کنترل کمی میدهد. Ambience، افکت، شدت، فاصله و وجود یا نبود دیالوگ را مشخص کنید. برای دیالوگ، جمله کوتاه و گوینده روشن باشد. خروجی را از نظر Sync، تلفظ، نویز و محتوای ناخواسته گوش کنید.
ویدیوی عمودی برای Reel
نسبت 9:16 فقط بریدن تصویر افقی نیست. سوژه اصلی را در محدوده امن مرکز قاب قرار دهید، فضای بالای سر و پایین تصویر را برای رابط شبکه اجتماعی در نظر بگیرید و متن را در مرحله تدوین اضافه کنید. متن تولیدشده داخل تصویر ممکن است نادرست یا ناخوانا باشد.
- یک Hook بصری برای دو ثانیه اول تعریف کنید.
- هر شات فقط یک پیام داشته باشد.
- حرکت دوربین را ساده و قابل پیشبینی نگه دارید.
- صدا و تصویر را جداگانه بازبینی کنید.
- زیرنویس فارسی را در تدوین نهایی بسازید.
- قبل از انتشار، خروجی را روی موبایل واقعی ببینید.
برای ساخت فریم مرجع سازگار میتوانید از راهنمای تولید و ویرایش تصویر با Nano Banana استفاده کنید؛ اما مجوز و شباهت چهره یا برند را مستقل بررسی کنید.
First Frame، Last Frame و Reference Images
فریم اول به مدل میگوید صحنه از کجا آغاز شود. Last Frame مقصد حرکت را مشخص میکند و برای Transition کنترلشده مفید است. Reference Images میتوانند ظاهر شخصیت، محصول یا سبک را هدایت کنند. تصاویر مرجع باید از نظر نور، زاویه و طراحی با هم سازگار باشند.
- در فریم اول، سوژه را واضح و بدون عناصر مزاحم قرار دهید.
- در فریم آخر، تغییر منطقی و قابل رسیدن در چند ثانیه تعریف کنید.
- برای یک شخصیت از مرجعهای متناقض استفاده نکنید.
- فایلهای دارای چهره واقعی را فقط با اجازه فرد پردازش کنید.
- وجود Reference بهمعنای تضمین ثبات کامل نیست؛ خروجی را فریمبهفریم بررسی کنید.
مدیریت Operation و خطا
تولید ویدیو غیرهمزمان است. پاسخ اولیه معمولاً نتیجه نهایی نیست و باید Operation را Poll کنید. در معماری Production، وضعیت را در پایگاه داده برنامه خود نگه دارید و Worker جداگانه نتیجه را دریافت کند.
| وضعیت | علت احتمالی | رفتار مناسب |
|---|---|---|
| در حال پردازش | تولید هنوز کامل نشده | Polling با Backoff و Timeout |
| مسدودشده | Safety Filter یا مشکل صوتی | پیام امن، اصلاح Prompt و عدم Retry کور |
| Rate Limit | درخواست بیش از ظرفیت | Queue و Retry محدود با Jitter |
| خروجی خالی | پاسخ ناقص یا خطا | اعتبارسنجی Response پیش از دانلود |
| دانلود ناموفق | انقضای فایل یا شبکه | دریافت سریع و ذخیره امن |
مستندات رسمی هشدار میدهد گاهی بهدلیل فیلترهای ایمنی یا مسئله پردازش صوت، تولید متوقف میشود. این حالت را با تغییر خودکار و نامحدود Prompt دور نزنید؛ علت را بررسی و به کاربر توضیح قابلفهم بدهید.
ارزیابی خروجی قبل از انتشار
یک ویدیوی چشمنواز میتواند از نظر Continuity، فیزیک، صدا یا ادعای بصری مشکل داشته باشد. ارزیابی را به یک Like یا Dislike تقلیل ندهید.
| معیار | پرسش | امتیاز پیشنهادی |
|---|---|---|
| Prompt Adherence | سوژه و عمل درستاند؟ | ۰ تا ۵ |
| Continuity | شکل سوژه بین فریمها ثابت است؟ | ۰ تا ۵ |
| Motion | حرکت طبیعی و بدون پرش است؟ | ۰ تا ۵ |
| Audio Sync | صدا با رویداد تصویر هماهنگ است؟ | ۰ تا ۵ |
| Safety | محتوای حساس یا گمراهکننده ندارد؟ | قبول یا رد |
| Brand | لوگو، رنگ و محصول تحریف نشدهاند؟ | قبول یا رد |
برای تصمیمگیری، Prompt، Model ID، تنظیمات، زمان تولید و ارزیابی هر خروجی را ثبت کنید. Seed میتواند اندکی به تکرارپذیری کمک کند، اما مستندات تضمین Determinism نمیدهد.
امنیت، حقوق و SynthID
Google اعلام میکند ویدیوهای تولیدشده با Veo دارای SynthID نامرئیاند. این سازوکار جایگزین شفافیت شما نیست. اگر ویدیو هوش مصنوعی است، آن را بهشکل واضح معرفی کنید و از شبیهسازی افراد واقعی، رویداد خبری یا محصول بدون مجوز پرهیز کنید.
- Secret را فقط در محیط امن نگه دارید.
- Prompt و فایل ورودی کاربر را پیش از Log کردن پاکسازی کنید.
- برای Upload نوع فایل، اندازه و مالکیت را بررسی کنید.
- خروجی را پیش از عمومیشدن در فضای خصوصی نگه دارید.
- برای چهره، صدا، برند و موسیقی مجوز روشن داشته باشید.
- ویدیوی تولیدی را بهعنوان سند واقعی معرفی نکنید.
جمعبندی
Veo 3.1 در Gemini API یک مسیر جدی برای ساخت Text-to-Video، Image-to-Video، کلیپ عمودی و صدای همزمان فراهم میکند. نتیجه خوب از ترکیب Prompt شاتمحور، انتخاب مدل مناسب، مدیریت Operation و ارزیابی دقیق بهدست میآید. ابتدا با یک شات کمریسک آزمایش کنید، سپس Workflow را به Queue، Storage و کنترل کیفیت متصل کنید.
امروز یک کلیپ عمودی هشتثانیهای کمریسک بسازید، Prompt و تنظیمات آن را ثبت کنید و با جدول ارزیابی این مقاله کیفیت تصویر و صدا را امتیازدهی کنید.
برای تبدیل خروجی به محتوای آموزشی منبعمحور نیز راهنمای Video Overview در NotebookLM را بخوانید.