Tài liệu

Hướng dẫn sử dụng Auto CapCut

Tài liệu chi tiết cách cài đặt, cấu hình và chạy tự động hóa CapCut.

Cập nhật: 2026-05-29

1. Chuẩn bị & cài đặt

Cài đặt & đăng nhập license

Tải bản cài từ trang Auto CapCut, chạy file .exe và đăng nhập bằng username do quản trị viên cấp. Mỗi license gắn một thiết bị (Hardware ID).

Màn hình license — Hardware ID, Copy và nút Kiểm tra
Màn hình license — Hardware ID, Copy và nút Kiểm tra
  1. Tải và cài Auto CapCut trên Windows 10+ (64-bit).
  2. Mở app — màn hình đăng nhập hiển thị Hardware ID nếu thiết bị chưa được kích hoạt.
  3. Gửi Hardware ID cho Quản trị viên để được thêm license / dùng thử.
  4. Nhập username và đăng nhập; kiểm tra ngày hết hạn trên title bar.
Lưu ý: License hết hạn sẽ chặn chạy task. Liên hệ Quản trị viên để gia hạn.

Cài đặt hệ thống (⚙️ Settings)

Mở Settings từ danh sách task hoặc trong task. Các mục bắt buộc trước khi Run automation:

Hộp thoại Cài đặt — Drafts, CapCut.exe, cache và ảnh nhận diện
Hộp thoại Cài đặt — Drafts, CapCut.exe, cache và ảnh nhận diện
  1. Thư mục CapCut Drafts — folder chứa các draft (thường …\CapCut Drafts). Dùng để quét danh sách project khi tạo task.
CapCut → Settings → Draft: mục Save to là thư mục Drafts (copy đường dẫn vào Auto CapCut)
CapCut → Settings → Draft: mục Save to là thư mục Drafts (copy đường dẫn vào Auto CapCut)
  1. CapCut.exe — file thực thi CapCut trên máy bạn. Chuột phải shortcut CapCut trên Desktop → Properties → copy đường dẫn Target (CapCut.exe).
Chuột phải shortcut CapCut → chọn Properties
Chuột phải shortcut CapCut → chọn Properties
Tab Shortcut → Target: copy đường dẫn CapCut.exe vào Settings Auto CapCut
Tab Shortcut → Target: copy đường dẫn CapCut.exe vào Settings Auto CapCut
  1. Thư mục cache CapCut — chứa hiệu ứng/material; có thể để trống và bấm tự phát hiện.
  2. Ảnh nhận diện UI — đủ các file .png/.jpg template cho từng bước automation (search, export, popup export, captions, menu Template…). Đường dẫn tuyệt đối, file phải tồn tại trên máy.
Mẹo: Nhấn Ctrl+Enter trong Settings để lưu nhanh.

Ảnh nhận diện automation

App không kèm ảnh mặc định. Bạn chụp màn hình các nút/vùng CapCut theo đúng độ phân giải máy đang chạy automation, lưu file và trỏ đường dẫn trong Settings.

▶ Video hướng dẫn ảnh nhận diện automation
Lưu ý: Thiếu ảnh → không lưu được Settings và không Run automation. Có thể «Bỏ qua» màn hình cảnh báo nếu chỉ dùng Kiểm tra (không mở CapCut tự động).

2. Quản lý task

Tạo task mới

  1. Chọn CapCut Drafts trong Settings trước.
  2. Bấm «+ Tạo Task Mới», đặt tên task.
  3. Chọn project CapCut từ danh sách draft → Tạo Task.
  4. Mở task để vào màn hình timeline.
Tạo Task Mới — đặt tên, chọn project CapCut từ draft, bấm Tạo Task
Tạo Task Mới — đặt tên, chọn project CapCut từ draft, bấm Tạo Task

Chạy nhiều task (batch)

Tick chọn nhiều task trên danh sách → «Chạy đã chọn». App load từng task và Run automation tuần tự. Có thể «Dừng» giữa chừng.

Tick chọn task → bấm Chạy đã chọn để chạy batch
Tick chọn task → bấm Chạy đã chọn để chạy batch

Market Project — tải mẫu template

Tab Market Project: duyệt template, tải ZIP vào thư mục Drafts và tự tạo task kèm setting đóng gói sẵn (công thức, effect, Task Script nếu có trong gói).

  1. Chọn template → «Tải & tạo task».
  2. Nhập tên folder trong Drafts (nơi giải nén project).
  3. Mở CapCut để thấy draft mới; mở task trong app để chỉnh input/output rồi Run.

3. Timeline & Run

Kiểm tra vs Run

Hai nút chính trên timeline:

  1. Kiểm tra (nút xanh lá) — chạy thử pipeline trên timeline mà không mở CapCut: Task Script (nếu có) gán file video/ảnh/audio vào từng material; tính và áp dụng công thức segment (thời điểm bắt đầu, độ dài); áp dụng effect, caption, transform đã chọn. Kết quả preview trong project — dùng để xem trước file gán và timeline có đúng trước khi xuất. Không chạy automation, không xuất file video ra output, không xóa file nguồn trên đĩa.
  2. Run (nút xanh dương) — thực hiện toàn bộ bước Kiểm tra, sau đó mở CapCut.exe và automation: mở đúng draft, thao tác UI (search, export, popup…) theo ảnh nhận diện trong Settings, xuất video ra thư mục và tên file output (trên task hoặc do Task Script đặt qua outputs.folder / outputs.filename). Có thể lặp nhiều lần liên tiếp theo «số lượng video» hoặc số lần gọi tools.runTask() trong script. Hỗ trợ Render captions, template mã hóa. Chỉ Run mới thực sự xuất file và mới xóa file nguồn nếu script/task có cấu hình xóa sau khi dùng.
Timeline — nút Kiểm tra (xanh lá), Run (xanh dương), Task script, Render captions
Timeline — nút Kiểm tra (xanh lá), Run (xanh dương), Task script, Render captions

Render captions

Tuỳ chọn trên timeline (gói Full), mặc định tắt. Bật khi task cần CapCut xử lý/xuất phụ đề trong lúc Run automation — dùng cấu hình caption theo segment (tab Captions) và effect caption đã chọn.

Timeline — tick Render captions trên thanh công cụ (gói Full)
Timeline — tick Render captions trên thanh công cụ (gói Full)
Lưu ý: Chỉ có tác dụng khi bấm Run (không áp dụng cho Kiểm tra). Nếu tắt, pipeline Run bỏ qua bước captions dù đã cấu hình trên timeline. Cấu hình caption theo segment — xem chi tiết phần 5, mục «Phụ đề (Captions)» (mục lục bên trái).

Lưu (💾) cấu hình vào task

Nút Lưu (💾) trên timeline ghi lại toàn bộ cấu hình của task này: công thức trên segment, hiệu ứng, phụ đề, caption… để lần sau mở task vẫn giữ nguyên.

Timeline — nút Lưu (💾) trên thanh công cụ
Timeline — nút Lưu (💾) trên thanh công cụ

4. Công thức timeline

Công thức bắt đầu & độ dài

Click badge trên segment để mở dialog công thức. Biến thường dùng: video1, video2…, endvideo1 (thời điểm kết thúc clip trước), chia tốc độ segment (/ speed).

Timeline — công thức Bắt đầu/Độ dài: video1, endvideo1, tổng video1+video2+…
Timeline — công thức Bắt đầu/Độ dài: video1, endvideo1, tổng video1+video2+…
Dialog Công thức tính độ dài — badge video1, text1, toán tử + − × ÷
Dialog Công thức tính độ dài — badge video1, text1, toán tử + − × ÷
Mẹo: Menu ngữ cảnh segment (chuột phải): cộng độ dài nhiều segment, bắt đầu sau segment khác, copy công thức, map độ dài track đích.
Chuột phải segment — menu Độ dài: cộng độ dài từ các segment, copy công thức, chỉnh theo speed
Chuột phải segment — menu Độ dài: cộng độ dài từ các segment, copy công thức, chỉnh theo speed
Cộng độ dài — chọn nhiều segment video trên track, bấm Áp dụng công thức
Cộng độ dài — chọn nhiều segment video trên track, bấm Áp dụng công thức

5. Hiệu ứng, phụ đề, transform

Tab Chuyển cảnh / Hiệu ứng / Hoạt ảnh

Chọn pool effect yêu thích, áp dụng random theo track hoặc segment. Hoạt ảnh: cấu hình thời lượng random min–max (giây hoặc theo % độ dài segment). Cần cache CapCut đúng để load danh sách effect.

Tab Chuyển cảnh — chọn pool transition, cấu hình theo track
Tab Chuyển cảnh — chọn pool transition, cấu hình theo track
Tab Hiệu ứng — pool video effect, áp dụng random theo track
Tab Hiệu ứng — pool video effect, áp dụng random theo track
Tab Hoạt ảnh — In/Out/Combo, thời lượng random min–max theo track
Tab Hoạt ảnh — In/Out/Combo, thời lượng random min–max theo track

Phụ đề (Captions)

Tab Captions: load caption từ CapCut. Cấu hình theo segment — bật/tắt, chọn pool caption riêng (để trống = không caption trên đoạn đó).

Tab Phụ đề — tìm caption, chọn pool style theo segment
Tab Phụ đề — tìm caption, chọn pool style theo segment

Transform & Text

Tab Biến đổi: tick segment → random scale / vị trí / xoay / lật ngang trong khoảng min–max. Text trên timeline: click segment text để dùng biến {videoname1}, {imagename2}… và màu chữ.

6. Task Script & sao lưu

Task Script

Task script — editor, Lưu script / Thử script, tham chiếu nhanh và log
Task script — editor, Lưu script / Thử script, tham chiếu nhanh và log

Một file JavaScript gắn với task, mở bằng nút «Task script» trên timeline. Script quyết định file video/ảnh/audio gán vào từng ô material, thư mục và tên file xuất, và số lần xuất — mỗi lần gọi await tools.runTask() là một lượt (Kiểm tra preview hoặc Run export thật).

  1. Mở task → timeline → «Task script». Soạn script trong editor; panel phải «Task script — tham chiếu nhanh» có nút Sao chép từng mẫu lệnh.
  2. «Lưu script» (hoặc Lưu & đóng) — ghi script vào task. Nhớ lưu trước khi đóng; script chưa lưu không chạy khi Kiểm tra / Run.
  3. «Thử script» — chạy thử trong editor: gán file, đếm số lần tools.runTask(), in log phía dưới. Không mở CapCut, không xuất video.
  4. Trên timeline: «Kiểm tra» chạy script tới lần runTask đầu tiên rồi preview một lượt (công thức + file đã gán). «Run» thực thi toàn bộ script: mỗi await tools.runTask() → một lượt automation + export (nếu đã cấu hình output).

Ánh xạ ô timeline ↔ script: Video 1 trên timeline = inputs.video[1], Video 2 = inputs.video[2]…; tương tự inputs.image[n], inputs.audio[n] (n bắt đầu từ 1, khớp thứ tự segment video/ảnh/audio trên timeline). Gán đường dẫn tuyệt đối tới file .mp4, .png, .mp3… trên máy bạn.

Output: outputs.folder = thư mục nhận file xuất; outputs.filename = tên file không kèm đuôi (app thêm .mp4 khi export). Có thể đổi mỗi lượt trong vòng lặp, ví dụ outputs.filename = `video_${i}`.

Mỗi await tools.runTask() chụp snapshot inputs/outputs hiện tại và xếp một lượt xuất. Muốn 10 video khác nhau → gán inputs khác nhau rồi gọi runTask() 10 lần (for, loopFolders, loopFiles…). Không bắt buộc dùng ô «Số lượng video» trên timeline khi script đã điều khiển số lượt bằng runTask().

Ví dụ: 3 lượt xuất, mỗi lượt 5 video random từ một folderJavaScript
const folder = "D:/nguon/video";
for (let i = 1; i <= 3; i++) {
  const videos = await tools.listFolderFiles(folder, ["video"]);
  const picked = tools.randomPick(videos, 5);
  inputs.video[1] = picked[0];
  inputs.video[2] = picked[1];
  inputs.video[3] = picked[2];
  inputs.video[4] = picked[3];
  inputs.video[5] = picked[4];
  outputs.folder = "D:/out";
  outputs.filename = `video_${i}`;
  await tools.runTask();
}

Giải thích từng biến inputs/outputs và toàn bộ hàm tools.* — xem mục «Tham chiếu API Task Script» ngay bên dưới trong mục lục.

Mẹo: Khi Run nhiều lượt liên tiếp, nên await tools.runTask() để đợi export xong rồi mới xóa file nguồn hoặc gán lượt tiếp theo. Trong vòng lặp dài, thêm await (vd. await tools.listFolderFiles) — script đồng bộ while(true) không await có thể bị cắt sau giới hạn thời gian.
Lưu ý: «Thử script» và «Kiểm tra» không xuất file ra outputs.folder. Chỉ «Run» mới mở CapCut và export.

Tham chiếu API Task Script

Script chạy trong hàm async. App inject sẵn các biến bên dưới; có thể gọi trực tiếp listFolderFiles, runTask… (alias trùng tools.*).

Biến có sẵn (không phải hàm)

  • runIndex — Chỉ số lượt host đang chạy (thường 0-based) khi batch nhiều lượt.
  • loopCount — Tổng số lượt batch (nếu timeline chạy nhiều vòng).
  • inputs / outputs — Object gán file đầu vào và thư mục/tên file xuất — xem mục 1–5.
  • vars — Object rỗng ban đầu; tự gán vars.ten = … để lưu tạm giữa các bước trong script.
  • tools — Object chứa toàn bộ API app — xem mục 6–17.
  • console — console.log / warn / error → hiện log «Thử script» và console khi Run.

Inputs & outputs

  1. inputs.video[n] — Gán đường dẫn tuyệt đối file video cho ô Video n trên timeline (n = 1, 2, 3… theo thứ tự segment). Ví dụ inputs.video[1] = "D:/clips/a.mp4".
  2. inputs.image[n] — Gán file ảnh cho ô Ảnh n (png, jpg…).
  3. inputs.audio[n] — Gán file audio cho ô Audio n (mp3, wav…).
  4. outputs.folder — Thư mục nhận file xuất CapCut (đường dẫn tuyệt đối).
  5. outputs.filename — Tên file xuất không kèm đuôi — app thêm .mp4 khi export. Đặt trước mỗi runTask(); mỗi lượt có thể đổi.
Ví dụ gán input / outputJavaScript
inputs.video[1] = "D:/clips/intro.mp4";
inputs.image[1] = "D:/thumb/cover.png";
inputs.audio[1] = "D:/music/bgm.mp3";
outputs.folder = "D:/xuat";
outputs.filename = "ban_01";

tools.* — đọc & duyệt thư mục

  1. tools.listFolderFiles(folder, mediaKinds?) — Liệt kê file một cấp (không vào subfolder). Trả về mảng đường dẫn, sort ổn định. mediaKinds: ["video"], ["image"], ["audio"] hoặc kết hợp; bỏ qua hoặc [] → mọi file. await.
  2. tools.listFolderSubdirs(folder) — Liệt kê thư mục con trực tiếp. await.
  3. tools.findFileInFolder(folder, baseName, mediaKinds?) — Tìm file theo stem/tên (vd. "intro" → intro.mp4, intro.mov). Trả về mảng mọi path khớp. await.
  4. tools.loopFolders(folder, callback) — Duyệt từng thư mục con: callback(folderPath, index, allFolders). Callback có thể async. await.
  5. tools.loopFiles(folder, callback, mediaKinds?) — Duyệt từng file trong folder: callback(filePath, index, allFiles). await.
Các lệnh cần await (gọi tuần tự, đợi xong rồi mới chạy dòng sau)JavaScript
const videos = await tools.listFolderFiles("D:/nguon", ["video"]);
const paths = await tools.findFileInFolder("D:/clips", "intro", ["video"]);
await tools.createFolder("D:/out");
await tools.runTask();
Mẹo: tools.randomPick, getFileName, getFolderName — không cần await (chạy ngay trên RAM). loopFolders / loopFiles: callback viết async nếu bên trong có await (vd. async (folder) => { const f = await tools.listFolderFiles(folder, ["video"]); … }).

tools.* — xử lý mảng & đường dẫn

  1. tools.randomPick(items, count) — Chọn ngẫu nhiên count phần tử không trùng (không sửa mảng gốc). Đồng bộ.
  2. tools.getFolderName(path) — Tên thư mục cuối trên đường dẫn. Đồng bộ.
  3. tools.getFileName(path, withExtension?) — Tên file cuối path. Mặc định có đuôi; false → bỏ phần sau dấu chấm cuối. Đồng bộ.

tools.* — thao tác đĩa

  1. tools.createFolder(path) — Tạo thư mục (mkdir -p). await.
  2. tools.deleteFile(path) — Xóa một file. Nên gọi sau await runTask(). await.
  3. tools.deleteFolder(path, options?) — Xóa thư mục. Mặc định xóa cả nội dung; { recursive: false } chỉ khi folder rỗng. await.

tools.* — chạy task

  1. tools.runTask() — Chụp snapshot inputs/outputs → một lượt xuất. Gọi N lần = N lượt. Kiểm tra: dừng sau lần đầu. Run: await từng lần. Thử script: chỉ đếm, không export. await.
Lưu ý: Giới hạn thời gian: Thử script ~30 giây; Run ~120 giây mỗi phase. Vòng while(true) không await có thể bị cắt — luôn có await trong loop.

Xuất / Nhập setting task

Trên header task: «Xuất setting» / «Nhập setting» — JSON chứa công thức segment, caption, effect, Task Script theo vị trí track/segment. Hai máy cần cùng cấu trúc template CapCut.

Header task — nút Xuất setting và Nhập setting (góc phải)
Header task — nút Xuất setting và Nhập setting (góc phải)