Chia sẻ bởi Nate Herk
Bạn có bao giờ tự hỏi làm thế nào một số kênh YouTube, Instagram hay TikTok lại có thể sản xuất hàng loạt video ngắn (Shorts) với nội dung hấp dẫn, thu hút hàng triệu lượt xem và hàng trăm ngàn người theo dõi chỉ với một vài video được tạo hoàn toàn bằng AI? Sự thật là điều này hoàn toàn khả thi, và hôm nay, chúng tôi sẽ hướng dẫn bạn cách xây dựng một "cỗ máy" tạo video ngắn AI tự động tương tự, dựa trên một workflow n8n chi tiết, với chi phí cực kỳ thấp – chỉ khoảng $0.75 cho mỗi video!
Trong bài viết này, chúng ta sẽ khám phá quy trình chi tiết để tự động hóa 100% việc tạo video ngắn, từ khâu lên ý tưởng ban đầu trong Google Sheets, tạo kịch bản đối đầu, tạo hình ảnh bằng AI, render video hoàn chỉnh, cho đến đăng tải lên các nền tảng mạng xã hội phổ biến. Đặc biệt, bạn sẽ được cung cấp template n8n miễn phí để có thể tự mình triển khai và tùy chỉnh.
Sức hút của video ngắn AI và tiềm năng tạo video ngắn AI tự động
Không thể phủ nhận sức mạnh của video ngắn trong việc thu hút sự chú ý và lan truyền nội dung. Các nền tảng như YouTube Shorts, TikTok, Instagram Reels đang thống trị không gian mạng, và nội dung do AI tạo ra đang dần chứng minh được vị thế của mình. Nhiều kênh đã thành công rực rỡ bằng cách sử dụng AI để tạo ra các video ngắn độc đáo, ví dụ như video so sánh sức mạnh giữa hai loài động vật, thu hút hàng chục triệu lượt xem.
Điều này mở ra một cơ hội lớn: xây dựng một hệ thống tạo video ngắn AI tự động. Thay vì tốn hàng giờ đồng hồ cho mỗi video, bạn có thể thiết lập một quy trình (workflow) tự động hóa gần như toàn bộ công việc. Đây chính là điều mà chúng ta sẽ cùng nhau tìm hiểu và xây dựng dựa trên workflow n8n cụ thể.
Tổng quan cỗ máy tạo video ngắn AI tự động: Hoạt động như thế nào theo Workflow n8n?
Trước khi đi vào chi tiết, hãy cùng xem xét bức tranh tổng thể của cỗ máy tạo video ngắn AI tự động này, được điều phối bởi n8n. Quy trình được chia thành các khối chính, hoạt động một cách tuần tự và phối hợp nhịp nhàng:
- Khởi tạo và lấy ý tưởng (Google Sheets & Scene Creator):
- Workflow được kích hoạt (ví dụ: theo lịch trình bằng
Schedule Trigger
). - Nó lấy một ý tưởng từ Google Sheets (node
Get Main Character
), dựa trên trạng thái "To Do", bao gồmMain Character
(Nhân vật chính) vàOpponents
(Loại đối thủ). - AI Agent (
Scene Creator
sử dụng modelopenai/gpt-4.1-mini
qua OpenRouter) tạo ra một danh sách 8 đối thủ cụ thể từ loại đối thủ đã cho.
- Workflow được kích hoạt (ví dụ: theo lịch trình bằng
- Tạo ảnh cận cảnh (Close-up Image Generation):
- Với mỗi cặp đấu (Nhân vật chính vs 1 trong 8 đối thủ), một AI Agent khác (
Image Prompt Generator
sử dụngopenai/gpt-4.1-mini
) tạo ra hai prompt ảnh chi tiết (một cho nhân vật chính, một cho đối thủ). - Các prompt này được gửi đến API tạo ảnh (
Generate Close Ups
- HTTP Request tớiapi.piapi.ai
sử dụng modelQubico/flux1-dev
) để tạo 16 ảnh cận cảnh (kích thước 1024x1024, tỷ lệ 1:1). - Sau một khoảng thời gian chờ (
90 seconds
), URL của các ảnh này được lấy về (Get Close Ups
) và cập nhật vào Google Sheets (Add Close Ups
) vào các cột như1.1
,1.2
, v.v.
- Với mỗi cặp đấu (Nhân vật chính vs 1 trong 8 đối thủ), một AI Agent khác (
- Tạo ảnh kết quả/người thắng cuộc (Winner Image Generation):
- AI Agent (
Winner Image Prompt
sử dụng modelopenai/gpt-4.1
qua OpenRouter) "quyết định" con vật nào chiến thắng trong mỗi cặp đấu và tạo ra một prompt ảnh mô tả kết quả cuộc chiến. - Prompt này được gửi đến API tạo ảnh (
Generate Scene
- HTTP Request tớiapi.piapi.ai
, modelQubico/flux1-dev
) để tạo 8 ảnh kết quả (kích thước 540x960, tỷ lệ 9:16). - Sau thời gian chờ (
90_seconds
), URL của các ảnh kết quả được lấy về (Get Winners
) và cập nhật vào Google Sheets (Add Winner
) vào các cột như1.3
,2.3
, v.v.
- AI Agent (
- Render video hoàn chỉnh (Video Rendering):
- Workflow lấy tất cả 24 URL ảnh đã lưu từ Google Sheets (
Get Elements
). - Một yêu cầu được gửi đến API của Creatomate (
Render Video
- HTTP Request tớihttps://api.creatomate.com/v1/renders
) cùng với ID template và các URL hình ảnh để ghép thành video hoàn chỉnh, bao gồm cả nhạc nền từ Google Drive. - Sau thời gian chờ (
90_Seconds
), URL của video hoàn chỉnh được lấy về (nodeGet Video
thực hiện GET request đến URL do nodeRender Video
cung cấp) và lưu vào Google Sheets, đồng thời cập nhật cộtStatus
thành "Created" và lưu URL vào cộtFinal Video
(nodeGoogle Sheets
).
- Workflow lấy tất cả 24 URL ảnh đã lưu từ Google Sheets (
- Đăng tải lên mạng xã hội (Publishing):
- Video hoàn chỉnh (lấy URL từ cột
Final Video
trong Google Sheets) được tải lên Blotato (Upload to Blotato
- HTTP Request tớihttps://backend.blotato.com/v2/media
). - Từ Blotato, video được đăng tải lên Instagram (
Instagram
node), TikTok (TikTok
node), và YouTube (YouTube
node) thông qua các API call riêng biệt tớihttps://backend.blotato.com/v2/posts
.
- Video hoàn chỉnh (lấy URL từ cột
Toàn bộ quy trình này được điều phối bởi n8n, kết hợp với Google Sheets để quản lý dữ liệu đầu vào, trạng thái và kết quả, cùng các API từ OpenRouter (cho LLMs), PI API (cho tạo ảnh), Creatomate (cho render video), và Blotato (để đăng tải).
Chi tiết quy trình từng bước tạo video ngắn AI tự động với n8n
Hãy cùng "mổ xẻ" từng bước trong quy trình tự động hóa này theo logic của workflow n8n.
1. Khởi tạo và lấy dữ liệu, tạo kịch bản
- Kích hoạt Workflow: Node
Schedule Trigger
khởi động quy trình theo lịch đặt trước. - Lấy Dữ Liệu từ Google Sheets (Node:
Get Main Character
):- Workflow truy cập Google Sheet được chỉ định.
- Cấu trúc Google Sheet (đầu vào):
- Cột
Main Character
: Nhân vật chính (ví dụ: "Khỉ đột"). - Cột
Opponents
: Loại đối thủ (ví dụ: "Mèo lớn"). - Cột
Status
: Trạng thái của ý tưởng (ví dụ: "To Do", "Processing", "Created"). - Các cột khác để lưu trữ URL hình ảnh và video:
1.1
,1.2
(ảnh cận cảnh),1.3
(ảnh kết quả) cho từng cảnh, vàFinal Video
.
- Cột
- Node này sẽ tìm dòng có
Status
là "To Do" và lấy ra một ý tưởng (gồmMain Character
vàOpponents
category) để xử lý.
- Sáng tạo kịch bản với AI Agent (Node:
Scene Creator
):- Dữ liệu (
Main Character
,Opponents
category) được chuyển đến AI Agent. - Sử dụng AI Model:
openai/gpt-4.1-mini
thông qua OpenRouter. - Đầu vào cho AI Agent: Nhân vật chính và loại đối thủ.
- Đầu ra mong muốn (được xử lý bởi parser
Scenes
): Một danh sách gồm 8 đối thủ cụ thể thuộc loại đã cho (ví dụ: nếu input là "Mèo lớn", output có thể là Sư tử, Hổ Siberia, Báo đốm, v.v.). Danh sách này được lưu vào một mảng thông qua nodeOpponents
(Set node) và sau đó được tách ra bằngSplit Out
để xử lý từng đối thủ. NodeMain Character
(Set node) cũng được sử dụng để truyền giá trị nhân vật chính đi kèm với từng đối thủ sau khiSplit Out
.
- Dữ liệu (
2. Tạo ảnh cận cảnh (Close-up Images) bằng AI
Với 8 cặp đấu (Main Character vs từng Opponent cụ thể) đã được chuẩn bị bởi các node Merge
, Split Out
và Set
, workflow tiến hành tạo ảnh cận cảnh.
- AI Agent tạo prompt ảnh (Node:
Image Prompt Generator
):- Sử dụng AI Model:
openai/gpt-4.1-mini
thông qua OpenRouter. - Đầu vào: Tên nhân vật chính và tên đối thủ cụ thể cho từng cặp.
- Đầu ra (được xử lý bởi parser
Close Ups
): Hai prompt ảnh riêng biệt cho mỗi cặp đấu: một cho ảnh cận cảnh nhân vật chính, một cho ảnh cận cảnh đối thủ. Các prompt này được tối ưu hóa để tạo ra hình ảnh cinematic, chất lượng cao, mô tả con vật đang gầm gừ, miệng mở rộng, trông đáng sợ. NodeSplit Out1
tách các prompt này ra để xử lý riêng lẻ.
- Sử dụng AI Model:
- Tạo ảnh qua API (Node:
Generate Close Ups
):- Các prompt ảnh (tổng cộng 16 prompt cho 8 cặp đấu) được gửi đến API của
api.piapi.ai
(modelQubico/flux1-dev
). - Định dạng ảnh: Ảnh cận cảnh được yêu cầu với kích thước 1024x1024 (tỷ lệ 1:1).
- Các prompt ảnh (tổng cộng 16 prompt cho 8 cặp đấu) được gửi đến API của
- Chờ và lấy kết quả ảnh (Nodes:
90 seconds
,Get Close Ups
):- Workflow đợi 90 giây để PI API xử lý.
- Sau đó, node
Get Close Ups
gửi yêu cầu đếnapi.piapi.ai
để lấy URL của các ảnh đã tạo.
- Lưu trữ ảnh (Node:
Add Close Ups
):- Các URL của 16 ảnh cận cảnh (sau khi được tổng hợp bởi node
Aggregate
) được cập nhật trở lại vào Google Sheet đã khởi tạo, vào các cột tương ứng (ví dụ:1.1
cho ảnh nhân vật chính cảnh 1,1.2
cho ảnh đối thủ cảnh 1, v.v.).
- Các URL của 16 ảnh cận cảnh (sau khi được tổng hợp bởi node
3. Tạo ảnh kết quả (Winner Images) bằng AI
Sau khi có ảnh cận cảnh, workflow tạo hình ảnh mô tả kết quả của mỗi "trận đấu".
- AI Agent quyết định người thắng và tạo Prompt (Node:
Winner Image Prompt
):- Sử dụng AI Model:
openai/gpt-4.1
thông qua OpenRouter (mạnh hơn để quyết định và mô tả phức tạp hơn). - Đầu vào: Tên của hai con vật trong từng cặp đấu.
- Nhiệm vụ của AI: Tự "quyết định" con vật nào thắng cuộc và tạo một prompt ảnh chi tiết mô tả cảnh sau trận đấu.
- Đầu ra: 8 prompt ảnh kết quả, mỗi prompt cho một cặp đấu.
- Sử dụng AI Model:
- Tạo ảnh kết quả (Node:
Generate Scene
):- 8 prompt ảnh kết quả này được gửi đến API của
api.piapi.ai
(modelQubico/flux1-dev
). - Định dạng ảnh: Ảnh kết quả được yêu cầu với kích thước 540x960 (tỷ lệ 9:16).
- 8 prompt ảnh kết quả này được gửi đến API của
- Chờ và lấy kết quả ảnh (Nodes:
90_seconds
,Get Winners
):- Workflow đợi 90 giây.
- Node
Get Winners
lấy URL của 8 ảnh kết quả.
- Lưu trữ ảnh (Node:
Add Winner
):- URL của 8 ảnh kết quả (sau khi được tổng hợp bởi node
Aggregate1
) cũng sẽ được lưu lại vào Google Sheet, vào các cột tương ứng (ví dụ:1.3
,2.3
, v.v.).
- URL của 8 ảnh kết quả (sau khi được tổng hợp bởi node
Đến đây, chúng ta đã có tổng cộng 24 hình ảnh (16 ảnh cận cảnh + 8 ảnh kết quả) với URL được lưu trữ trong Google Sheet, sẵn sàng cho bước render video.
4. Render video hoàn chỉnh với Creatomate
- Lấy lại tất cả URL ảnh (Node:
Get Elements
):- Workflow truy cập Google Sheet (dựa trên
Main Character
của ý tưởng hiện tại) và lấy tất cả 24 URL ảnh đã được tạo.
- Workflow truy cập Google Sheet (dựa trên
- Sử dụng Creatomate (Node:
Render Video
):- Một yêu cầu POST được gửi đến API của Creatomate (
https://api.creatomate.com/v1/renders
). - Nội dung yêu cầu (JSON Body): Bao gồm ID của template video bạn đã tạo trên Creatomate, URL của 24 hình ảnh theo đúng thứ tự mapping trong template (ví dụ:
Top-Image-1.source
={{ $json['1.2'] }}
,Bottom-Image-1.source
={{ $json['1.1'] }}
,Full-Background-Image-1.source
={{ $json['1.3'] }}
, lặp lại cho 8 cảnh), và URL nhạc nền (ví dụ: từ Google Drive).
- Một yêu cầu POST được gửi đến API của Creatomate (
- Chờ và lấy Video (Nodes:
90_Seconds
,Get Video
):- Workflow đợi 90 giây cho Creatomate render.
- Node
Get Video
thực hiện một GET request đến URL mà nodeRender Video
trả về (thường là URL của video đã hoàn thành hoặc một endpoint để lấy nó).
- Lưu video và cập nhật trạng thái (Node:
Google Sheets
- operation update):- URL của video hoàn chỉnh được lưu lại vào cột
Final Video
trong Google Sheet. - Cột
Status
của ý tưởng được cập nhật thành "Created".
- URL của video hoàn chỉnh được lưu lại vào cột
5. Tự động đăng tải đa kênh với Blotato
Video đã sẵn sàng, bước cuối cùng là đưa nó đến với khán giả.
- Upload video lên Blotato (Node:
Upload to Blotato
):- Workflow gửi URL video hoàn chỉnh (lấy từ cột
Final Video
trong Google Sheet) lên server của Blotato (https://backend.blotato.com/v2/media
). - Blotato trả về một URL mới cho video đó trên hệ thống của họ.
- Workflow gửi URL video hoàn chỉnh (lấy từ cột
- Đăng tải lên từng nền tảng (Nodes:
Instagram
,TikTok
,YouTube
):- Với URL video trên Blotato, workflow gửi các yêu cầu POST riêng biệt đến
https://backend.blotato.com/v2/posts
để đăng video lên:- Instagram: Cung cấp caption (ví dụ: "{{
Get Main Character
.item.json['Main Character'] }} vs {{Get Main Character
.item.json.Opponents }}"), URL video từ Blotato, và ID tài khoản Instagram. - TikTok: Tương tự, cung cấp caption, URL video, ID tài khoản TikTok, và các tùy chọn khác như
isAiGenerated: true
. - YouTube: Cung cấp tiêu đề, mô tả (có thể để trống hoặc dùng caption), URL video, ID tài khoản YouTube, và các tùy chọn như
privacyStatus: "unlisted"
.
- Instagram: Cung cấp caption (ví dụ: "{{
- Với URL video trên Blotato, workflow gửi các yêu cầu POST riêng biệt đến
- Kết quả: Video của bạn sẽ tự động xuất hiện trên các kênh mạng xã hội đã chọn.
Và thế là xong! Cỗ máy tạo video ngắn AI tự động của bạn đã hoàn thành một chu trình, sản xuất ra một video ngắn độc đáo và đăng tải nó lên mạng, tất cả được điều khiển bởi workflow n8n.
Công cụ và chi phí: xây dựng cỗ máy với ngân sách tối ưu
Việc xây dựng hệ thống này có chi phí khá hợp lý:
Các công cụ chính được sử dụng (theo workflow):
- n8n: Nền tảng tự động hóa workflow. Có thể tự host miễn phí hoặc dùng bản cloud.
- Google Sheets: Miễn phí, dùng để quản lý ý tưởng, lưu trữ URL hình ảnh/video và trạng thái.
- AI Models cho Prompt & Kịch bản (qua OpenRouter):
openai/gpt-4.1-mini
: Dùng cho việc tạo 8 cảnh đối đầu (Scene Creator
) và 16 prompt ảnh cận cảnh (Image Prompt Generator
).openai/gpt-4.1
: Dùng cho việc tạo 8 prompt ảnh kết quả/người thắng cuộc (Winner Image Prompt
).- Tổng chi phí cho phần này: Khoảng $0.01 (1 cent) mỗi video.
- Tạo ảnh AI (Model
Qubico/flux1-dev
qua PI API -api.piapi.ai
):- Chi phí: Khoảng 1.5 cent cho mỗi hình ảnh.
- Với 24 hình ảnh (16 cận cảnh 1024x1024 + 8 kết quả 540x960): $0.36 (36 cent) mỗi video. Đây là phần chi phí lớn nhất.
- Render Video (Creatomate -
api.creatomate.com
):- Gói Essential: Khoảng $41/tháng (nếu trả theo năm), cho 2000 credits.
- Mỗi video (như trong ví dụ) tốn khoảng 17-18 credits.
- Chi phí mỗi video: Khoảng $0.35 (35 cent) mỗi video.
- Đăng tải và lên lịch (Blotato -
backend.blotato.com
):- Gói Growth: Khoảng $29/tháng, cho phép đăng tải và lên lịch không giới hạn. Chi phí này là tùy chọn và không tính vào chi phí mỗi video nếu bạn chỉ muốn tạo video và tự đăng.
Tổng chi phí ước tính cho mỗi video: Khoảng $0.01 (LLM) + $0.36 (Ảnh) + $0.35 (Render) = $0.72. Rất ấn tượng! Chỉ dưới $0.75 cho một video ngắn được tạo và đăng tải hoàn toàn tự động!
Download template:
Bạn có thể bắt đầu xây dựng cỗ máy này ngay hôm nay với template n8n được cung cấp!
Cách nhận và thiết lập template (Dựa trên ghi chú trong workflow):
- Sao chép Google Sheet Template: Upload file Excel "Viral Shorts.xlsx" lên tài khoản Google Drive của bạn và đảm bảo cấu trúc cột khớp với những gì workflow mong đợi (ví dụ:
Main Character
,Opponents
,Status
,1.1
,1.2
,1.3
, ...,8.3
,Final Video
). Kết nối Google Sheet này với 5 node Google Sheets trong workflow (Get Main Character, Add Close Ups, Add Winner, Get Elements, Google Sheets (update status)). - Import Workflow n8n: Tải file JSON của workflow và import vào n8n của bạn.
- Kết nối API Keys và ID:
- OpenRouter: Kết nối API key của bạn vào các node
GPT 4.1-mini
vàGPT 4.1
. - PI API: Kết nối API key của bạn (dưới dạng Header Auth) vào các node
Generate Close Ups
vàGenerate Scene
. - Creatomate: Cập nhật
YOUR TEMPLATE ID
trong nodeRender Video
với ID template của bạn trên Creatomate và đảm bảoAuthorization Header
có API key của bạn. - Blotato: Kết nối API key (Header Auth) vào các node
Upload to Blotato
,Instagram
,TikTok
,YouTube
và cập nhậtaccountId
cho từng nền tảng.
- OpenRouter: Kết nối API key của bạn vào các node
Lời khuyên về tùy chỉnh và phát triển Workflow:
- Thử nghiệm prompts: Đây là yếu tố then chốt. Thay đổi system prompt và user prompt trong các node AI Agent (
Scene Creator
,Image Prompt Generator
,Winner Image Prompt
) để tạo ra nội dung độc đáo. - Thay đổi chủ đề: Điều chỉnh prompts để tạo video về bất kỳ chủ đề nào.
- Tối ưu hóa Workflow:
- Xem xét việc chạy song song các tác vụ nếu có thể (n8n có các node cho phép điều này).
- Thay vì
Wait
cố định, một số API cung cấp webhook hoặc cơ chế polling tốt hơn để kiểm tra trạng thái hoàn thành. PI API và Creatomate có thể có các tùy chọn này. - Thử nghiệm các model AI tạo ảnh khác qua PI API hoặc các dịch vụ khác.
- Nâng cao tính nhất quán của hình ảnh: Cân nhắc việc đưa ảnh đã tạo ở bước trước làm đầu vào (image-to-image hoặc controlNet) cho bước sau nếu API hỗ trợ.
Khai phá tiềm năng vô hạn của video ngắn AI tự động
Xây dựng một cỗ máy tạo video ngắn AI tự động không còn là điều xa vời. Với n8n, các API AI mạnh mẽ và chi phí hợp lý, bạn có thể tự động hóa quy trình sản xuất nội dung. Template được cung cấp là một điểm khởi đầu tuyệt vời. Hãy thử nghiệm, tùy chỉnh và sáng tạo!