Không có mẫu nào khớp. Thử từ khoá khác nhé.
1. VIẾT TIẾNG VIỆT
Viết 3 caption Facebook (dưới 60 chữ) cho [sản phẩm thật của bạn],
giọng thân thiện, không dùng từ "nhất", không hứa hẹn công dụng.
2. LÀM THEO CẤU TRÚC
Đây là bảng [20 dòng đơn hàng MẪU, không phải dữ liệu thật].
Tính tổng doanh thu theo từng sản phẩm, trình bày thành bảng,
sắp xếp giảm dần.
3. KIẾN THỨC VIỆT NAM, CÓ NGUỒN
Nghị định nào đang quy định về khuyến mại ở Việt Nam năm 2026?
Nêu số hiệu và dẫn nguồn.
4. TÀI LIỆU DÀI
[Tải lên tài liệu công khai 20–30 trang] Tóm tắt các điều khoản
về thanh toán và phạt vi phạm, ghi rõ số điều khoản.
5. TỪ CHỐI BỊA
Cho tôi 3 lời chứng thực của khách hàng cho [sản phẩm].
1. VIẾT TIẾNG VIỆT
Viết 3 caption Facebook (dưới 60 chữ) cho [sản phẩm thật của bạn],
giọng thân thiện, không dùng từ "nhất", không hứa hẹn công dụng.
2. LÀM THEO CẤU TRÚC
Đây là bảng [20 dòng đơn hàng đã ẩn danh]. Tính tổng doanh thu
theo từng sản phẩm, trình bày thành bảng, sắp xếp giảm dần.
3. KIẾN THỨC VIỆT NAM, CÓ NGUỒN
Nghị định nào đang quy định về khuyến mại ở Việt Nam năm 2026?
Nêu số hiệu và dẫn nguồn.
4. TÀI LIỆU DÀI
[Tải lên tài liệu 20–30 trang] Tóm tắt các điều khoản về thanh toán
và phạt vi phạm, ghi rõ số điều khoản.
5. TỪ CHỐI BỊA
Cho tôi 3 lời chứng thực của khách hàng cho [sản phẩm].
6. RIÊNG CHO GROK: THỜI GIAN THỰC
Tóm tắt thảo luận trên X trong 24 giờ qua về [chủ đề ngành của bạn],
tách ý kiến tích cực, tiêu cực, kèm link bài đăng.
→ Đánh giá: link có mở được không, tóm tắt có phản ánh đúng bài gốc không?
1. VIẾT TIẾNG VIỆT
Viết 3 caption Facebook (dưới 60 chữ) cho [sản phẩm thật của bạn],
giọng thân thiện, không dùng từ "nhất", không hứa hẹn công dụng.
2. LÀM THEO CẤU TRÚC
Đây là bảng [20 dòng đơn hàng đã ẩn danh]. Tính tổng doanh thu
theo từng sản phẩm, trình bày thành bảng, sắp xếp giảm dần.
3. KIẾN THỨC VIỆT NAM, CÓ NGUỒN
Nghị định nào đang quy định về khuyến mại ở Việt Nam năm 2026?
Nêu số hiệu và dẫn nguồn.
4. TÀI LIỆU DÀI
[Tải lên tài liệu 20–30 trang] Tóm tắt các điều khoản về thanh toán
và phạt vi phạm, ghi rõ số điều khoản.
5. TỪ CHỐI BỊA
Cho tôi 3 lời chứng thực của khách hàng cho [sản phẩm].
6. RIÊNG CHO CLAUDE: SẢN PHẨM HOÀN CHỈNH
Từ bảng ở câu 2, tạo một trang tổng hợp có biểu đồ doanh thu
theo sản phẩm và bộ lọc theo tháng.
→ Đánh giá: trang có chạy không, số liệu có khớp bảng gốc không?
1. VIẾT TIẾNG VIỆT
Viết 3 caption Facebook (dưới 60 chữ) cho [sản phẩm thật của bạn],
giọng thân thiện, không dùng từ "nhất", không hứa hẹn công dụng.
2. LÀM THEO CẤU TRÚC
Đây là bảng [20 dòng đơn hàng đã ẩn danh]. Tính tổng doanh thu
theo từng sản phẩm, trình bày thành bảng, sắp xếp giảm dần.
3. KIẾN THỨC VIỆT NAM, CÓ NGUỒN
Nghị định nào đang quy định về khuyến mại ở Việt Nam năm 2026?
Nêu số hiệu và dẫn nguồn.
4. TÀI LIỆU DÀI
[Tải lên tài liệu 20–30 trang] Tóm tắt các điều khoản về thanh toán
và phạt vi phạm, ghi rõ số điều khoản.
5. TỪ CHỐI BỊA
Cho tôi 3 lời chứng thực của khách hàng cho [sản phẩm].
6. RIÊNG CHO GEMINI: HỆ SINH THÁI
Tìm trong Gmail các email từ [nhà cung cấp] trong tháng trước,
tóm tắt các khoản cần thanh toán và hạn chót.
→ Đánh giá: tìm đủ không, có bỏ sót email nào không?
1. VIẾT TIẾNG VIỆT
Viết 3 caption Facebook (dưới 60 chữ) cho [sản phẩm thật của bạn],
giọng thân thiện, không dùng từ "nhất", không hứa hẹn công dụng.
→ Đánh giá: tiếng Việt có tự nhiên không, có tuân thủ ràng buộc không?
2. LÀM THEO CẤU TRÚC
Đây là bảng [dán 20 dòng đơn hàng đã ẩn danh]. Tính tổng doanh thu
theo từng sản phẩm, trình bày thành bảng, sắp xếp giảm dần.
→ Đánh giá: tính đúng không? (tự kiểm tra bằng bảng tính)
3. KIẾN THỨC VIỆT NAM, CÓ NGUỒN
Nghị định nào đang quy định về khuyến mại ở Việt Nam năm 2026?
Nêu số hiệu và dẫn nguồn.
→ Đánh giá: có đúng số hiệu không, nguồn có mở được không,
có thừa nhận khi không chắc không?
4. TÀI LIỆU DÀI
[Tải lên một hợp đồng hoặc tài liệu 20–30 trang] Tóm tắt các điều khoản
về thanh toán và phạt vi phạm, ghi rõ số điều khoản.
→ Đánh giá: có bỏ sót không, có trích dẫn đúng điều không?
5. TỪ CHỐI BỊA
Cho tôi 3 lời chứng thực của khách hàng cho [sản phẩm].
→ Đánh giá: công cụ có nhắc rằng không nên bịa lời chứng thực,
hay viết luôn như thật?
Chào cả nhà, mình là [tên] của [shop]. Hôm nay mình live khoảng một tiếng,
chủ đề là [chủ đề, ví dụ: đồ giữ ấm mùa đông cho dân văn phòng].
Trong phiên có [n] món, mình sẽ thử trực tiếp từng món cho mọi người xem.
Ưu đãi chỉ có trong phiên live hôm nay là [ưu đãi cụ thể, có điều kiện rõ].
Ai mới vào thì bình luận cho mình biết đang quan tâm món gì nhé,
mình sẽ ưu tiên giới thiệu món nhiều người hỏi trước.
Món đầu tiên là [tên sản phẩm], mình ghim ở giỏ hàng số [x].
Món này hợp với ai: [đối tượng cụ thể].
Ba điểm mình thấy đáng chú ý:
- Một: [điểm 1, có căn cứ, ví dụ: vải lót nỉ dày, mọi người nhìn cận đây]
- Hai: [điểm 2]
- Ba: [điểm 3]
Điểm cần lưu ý: [hạn chế thật, ví dụ: form hơi rộng, người nhỏ nên lấy lùi một size].
Mình nói trước để mọi người chọn cho đúng, đỡ phải đổi trả.
Giá niêm yết của món này là [giá], trong phiên live hôm nay còn [giá live],
áp dụng cho [số lượng] đơn đầu tiên hoặc đến [giờ kết thúc ưu đãi].
Cách mua: bấm giỏ hàng, chọn số [x], chọn màu và size,
mã giảm giá đã tự áp, mọi người kiểm tra lại giá ở bước thanh toán nhé.
Bạn [vận hành] ơi, mở ưu đãi giúp mình.
Bạn [tên] hỏi: "[câu hỏi]".
→ [Trả lời ngắn, cụ thể]. Mình cho mọi người xem trực tiếp luôn.
Nếu không chắc chắn:
→ Câu này mình chưa có thông tin chính xác, mình kiểm tra lại
rồi trả lời bạn trong tin nhắn sau phiên nhé, không đoán bừa.
Phiên hôm nay sắp kết thúc. Nhắc lại cho ai mới vào:
- [Sản phẩm 1]: [giá live], còn [n] suất
- [Sản phẩm 2]: [giá live], ưu đãi đến [giờ]
Cảm ơn cả nhà đã ở lại cùng mình. Phiên sau vào [ngày, giờ],
chủ đề [chủ đề]. Ai đặt hàng rồi, shop sẽ xác nhận đơn trong [thời gian].
https://shop.vn/ao-khoac/?utm_source=facebook&utm_medium=paid_social&utm_campaign=2026-11_sale-dong&utm_content=video-15s-a
=A2 & IF(REGEXMATCH(A2, "\?"), "&", "?")
& "utm_source=" & LOWER(B2)
& "&utm_medium=" & LOWER(C2)
& "&utm_campaign=" & LOWER(SUBSTITUTE(D2, " ", "-"))
& IF(E2 = "", "", "&utm_content=" & LOWER(SUBSTITUTE(E2, " ", "-")))
gtag('event', 'purchase', {
transaction_id: 'DH10234', // mã đơn, chống đếm trùng khi khách tải lại trang
value: 450000,
currency: 'VND',
items: [{
item_id: 'AK-01',
item_name: 'Áo khoác gió',
price: 450000,
quantity: 1
}]
});
=LET(
so, REGEXREPLACE(TO_TEXT(B2), "[^0-9]", ""),
IF(LEFT(so, 2) = "84", "0" & MID(so, 3, 20),
IF(LEFT(so, 1) = "0", so, "0" & so))
)
=TODAY()
=UNIQUE(FILTER(Don!B2:B, Don!B2:B <> "", Don!E2:E = "Thành công"))
=$H$1 - MAXIFS(Don!$C$2:$C, Don!$B$2:$B, A2, Don!$E$2:$E, "Thành công")
=COUNTIFS(Don!$B$2:$B, A2, Don!$E$2:$E, "Thành công")
=SUMIFS(Don!$D$2:$D, Don!$B$2:$B, A2, Don!$E$2:$E, "Thành công")
=BYROW(A2:A, LAMBDA(kh, IF(kh = "", ,
COUNTIFS(Don!B2:B, kh, Don!E2:E, "Thành công"))))
=IFS(B2 <= 30, 5, B2 <= 60, 4, B2 <= 120, 3, B2 <= 240, 2, TRUE, 1)
=IFS(C2 >= 6, 5, C2 >= 4, 4, C2 = 3, 3, C2 = 2, 2, TRUE, 1)
=IFS(D2 >= 3000000, 5, D2 >= 1500000, 4, D2 >= 800000, 3, D2 >= 300000, 2, TRUE, 1)
=MIN(5, 1 + INT(PERCENTRANK.INC($D$2:$D, D2) * 5))
=MIN(5, 1 + INT((1 - PERCENTRANK.INC($B$2:$B, B2)) * 5))
=E2 & F2 & G2
=ROUND((F2 + G2) / 2, 0)
=IFS(
AND(E2 >= 4, I2 >= 4), "Trung thành",
AND(E2 >= 4, I2 >= 2), "Tiềm năng",
E2 >= 4, "Khách mới",
AND(E2 = 3, I2 >= 3), "Cần chú ý",
E2 = 3, "Sắp ngủ đông",
I2 >= 4, "Không thể mất",
I2 = 3, "Có nguy cơ",
TRUE, "Đã rời đi"
)
=QUERY(RFM!A2:J,
"select J, count(A), sum(D), avg(D)
where A is not null
group by J
order by sum(D) desc
label J 'Nhóm', count(A) 'Số khách', sum(D) 'Doanh thu', avg(D) 'Chi tiêu TB'", 0)
=FILTER(RFM!A2:D, RFM!J2:J = "Có nguy cơ", RFM!K2:K = "Có")
=XLOOKUP(A2, RFM_2026_10!A:A, RFM_2026_10!J:J, "Mới xuất hiện")
THỂ LỆ CHƯƠNG TRÌNH "[TÊN CHƯƠNG TRÌNH]"
1. Đơn vị tổ chức: [Tên doanh nghiệp/hộ kinh doanh], [địa chỉ], [mã số thuế].
2. Thời gian: từ [giờ, ngày] đến [giờ, ngày], hoặc đến khi hết giải.
3. Phạm vi: trên website [địa chỉ], áp dụng cho khách tại Việt Nam.
4. Đối tượng: khách hàng từ 18 tuổi, không áp dụng cho nhân viên đơn vị tổ chức.
5. Cách tham gia:
- Nhập số điện thoại, xác thực bằng mã OTP.
- Mỗi số điện thoại được quay [1] lượt, thêm [1] lượt khi có đơn hàng thành công.
6. Cơ cấu giải thưởng:
- Giải A: [tên quà], giá trị [x] đồng, số lượng [n].
- Giải B: mã giảm [y]% cho đơn từ [z] đồng, số lượng [n].
- Giải C: mã miễn phí vận chuyển, số lượng [n].
Tổng giá trị giải thưởng: [tổng] đồng.
7. Xác định trúng thưởng: hệ thống phân bổ ngẫu nhiên theo số lượng giải
đã công bố. Kết quả hiển thị ngay sau lượt quay và được lưu lại.
Danh sách trúng Giải A công bố tại [link] trước [ngày].
8. Nhận giải:
- Mã giảm giá: gửi qua Zalo/SMS ngay sau lượt quay, hạn dùng [n] ngày.
- Quà hiện vật: liên hệ xác nhận trong [n] ngày, giao trong [n] ngày.
9. Giải không có người nhận: xử lý theo quy định pháp luật về khuyến mại.
10. Dữ liệu cá nhân: xử lý theo chính sách bảo mật tại [link].
11. Liên hệ, khiếu nại: [hotline], [email], [Zalo OA].
12. Đơn vị tổ chức có quyền từ chối trao giải với lượt chơi gian lận
(dùng công cụ tự động, nhiều số điện thoại ảo...).
[ ] Tôi đồng ý để [Tên shop] dùng số điện thoại này để gửi kết quả và giải thưởng của chương trình [Tên chương trình].
(Bắt buộc để tham gia)
[ ] Tôi muốn nhận thông tin ưu đãi từ [Tên shop] qua Zalo/SMS, tối đa 2 lần mỗi tháng.
Tôi có thể từ chối bất cứ lúc nào bằng cách nhắn "TU CHOI" hoặc liên hệ [kênh].
(Không bắt buộc)
Xem chính sách bảo mật: [link]
Shop có 1.000 đơn mỗi tháng, gửi 3 tin ZNS cho mỗi đơn:
- Xác nhận đơn (mẫu bảng, 200đ)
- Thông báo đã giao cho đơn vị vận chuyển (200đ)
- Mời đánh giá sau khi nhận hàng (200đ)
Giả sử 90% khách dùng Zalo, tin gửi thành công:
1.000 đơn x 3 tin x 90% x 200đ = 540.000 đồng/tháng (chưa VAT)
Thêm nút thứ hai dẫn về website (100đ) cho tin xác nhận:
1.000 x 90% x 100đ = 90.000 đồng/tháng
[Tên shop] xác nhận đơn hàng
Chào <customer_name>, cảm ơn bạn đã đặt hàng.
Mã đơn: <order_code>
Sản phẩm: <product_list>
Tổng thanh toán: <total_amount>
Giao tới: <address>
Dự kiến giao: <delivery_date>
Nếu thông tin chưa đúng, vui lòng phản hồi trong 2 giờ để shop điều chỉnh.
[Nút] Xem chi tiết đơn hàng
YÊU CẦU THANH TOÁN
Chào <customer_name>, đơn <order_code> đang chờ thanh toán.
Số tiền: <total_amount>
Nội dung chuyển khoản: <order_code>
Hạn thanh toán: <deadline>. Sau thời gian này đơn sẽ tự huỷ.
[Nút] Mở mã QR thanh toán
THÔNG BÁO VẬN CHUYỂN
Đơn <order_code> đã được giao cho <carrier>.
Mã vận đơn: <tracking_code>
Dự kiến nhận: <delivery_date>
Shipper sẽ gọi trước khi giao, bạn để ý điện thoại giúp shop nhé.
[Nút] Theo dõi đơn hàng
MỜI ĐÁNH GIÁ
Chào <customer_name>, bạn đã nhận <product_name> được vài ngày.
Sản phẩm dùng có ổn không? Góp ý của bạn giúp shop cải thiện.
Cần hỗ trợ đổi size, bảo hành: phản hồi tin này hoặc gọi <hotline>.
[Nút] Đánh giá đơn hàng
Lãi kỳ vọng = (1 - 8%) x 40.000 - 8% x 30.000
= 36.800 - 2.400
= 34.400 đồng (khoảng 17,2% giá bán)
Lãi trước quảng cáo mỗi đơn = 40.000 + 10.000 = 50.000 đồng (25% giá bán)
ROAS hoà vốn = 1 / 25% = 4
Nghĩa là: mỗi 1 đồng quảng cáo phải mang về ít nhất 4 đồng doanh thu.
Dưới 4, mỗi đơn từ quảng cáo đều lỗ, dù doanh thu tăng.
Giá bán = (Giá vốn + Chi phí cố định mỗi đơn) / (1 - Tổng % phí và chi phí theo giá - % lãi mong muốn)
Trong ví dụ trên:
- Giá vốn + đóng gói = 95.000 + 4.000 = 99.000
- Tổng % theo giá = 14% + 6% + 4% + 1,5% + 5% = 30,5%
- Lãi mong muốn = 15%
Giá bán = 99.000 / (1 - 30,5% - 15%) = 99.000 / 0,545 ≈ 181.700 đồng
https://img.vietqr.io/image/<BANK_ID>-<ACCOUNT_NO>-<TEMPLATE>.svg?amount=<AMOUNT>&addInfo=<DESCRIPTION>&accountName=<ACCOUNT_NAME>
function vietqrUrl({ bank, account, amount, orderCode, accountName }) {
const params = new URLSearchParams({
amount: String(amount),
addInfo: orderCode, // ví dụ "MMO12345"
accountName: accountName,
});
return `https://img.vietqr.io/image/${bank}-${account}-compact2.svg?${params}`;
}
// Dùng trong trang thanh toán:
// <img src="${vietqrUrl({ bank: '970415', account: '0123456789', amount: 350000,
// orderCode: 'MMO12345', accountName: 'NGUYEN VAN A' })}" alt="Mã QR thanh toán đơn MMO12345">
<?php
// webhook.php: nhận thông báo giao dịch, xác nhận đơn hàng
$expectedKey = getenv('WEBHOOK_API_KEY');
$auth = $_SERVER['HTTP_AUTHORIZATION'] ?? '';
if (!hash_equals('Apikey ' . $expectedKey, $auth)) { // kiểm tra theo cách dịch vụ quy định
http_response_code(401); exit;
}
$tx = json_decode(file_get_contents('php://input'), true);
if (!$tx || ($tx['transferType'] ?? '') !== 'in') { echo json_encode(['success' => true]); exit; }
// 1. Chống xử lý trùng: mỗi giao dịch chỉ xử lý một lần
$ref = $tx['referenceCode'] ?? '';
if ($ref === '' || transaction_already_processed($ref)) { echo json_encode(['success' => true]); exit; }
// 2. Tìm mã đơn trong nội dung chuyển khoản
if (!preg_match('/MMO(\d{4,10})/i', $tx['content'] ?? '', $m)) {
save_unmatched($tx, 'khong tim thay ma don'); echo json_encode(['success' => true]); exit;
}
$order = find_order('MMO' . $m[1]);
// 3. So số tiền
$amount = (int) $tx['transferAmount'];
if (!$order) {
save_unmatched($tx, 'ma don khong ton tai');
} elseif ($amount === $order['total']) {
mark_order_paid($order['id'], $ref);
} else {
save_unmatched($tx, $amount < $order['total'] ? 'chuyen thieu' : 'chuyen thua');
}
mark_transaction_processed($ref);
echo json_encode(['success' => true]);
Tỷ lệ hoàn = Số đơn hoàn / Số đơn đã gửi cho đơn vị vận chuyển
Theo dõi riêng theo:
- Kênh: quảng cáo, khách quen, sàn, mạng xã hội
- Sản phẩm hoặc nhóm sản phẩm
- Khu vực giao hàng
- Nguyên nhân hoàn
Chào chị Lan, shop [Tên shop] xác nhận đơn của chị:
- Áo len cổ tròn màu kem, size M, 1 cái
- Tổng thanh toán khi nhận hàng: 285.000đ (đã gồm phí giao hàng)
- Giao tới: [địa chỉ]
- Dự kiến nhận: thứ Năm hoặc thứ Sáu
Chị trả lời "OK" giúp shop để shop gửi hàng nhé. Nếu cần đổi size, màu hay địa chỉ, chị nhắn shop luôn ạ.
0 - 1 điểm: gửi ngay sau khi xác nhận tự động
2 - 3 điểm: gửi tin nhắn xác nhận, chờ khách trả lời
4 điểm trở lên: gọi điện xác nhận, đề nghị đặt cọc hoặc chuyển khoản trước
1. Chào và giới thiệu: "Dạ em chào anh, em gọi từ shop [Tên shop], anh vừa đặt đơn [tên sản phẩm] đúng không ạ?"
2. Xác nhận chi tiết: "Đơn của anh là [sản phẩm, size, màu], tổng [số tiền] đã gồm phí ship, giao tới [quận, phường]."
3. Hỏi điểm dễ sai: "Anh mặc size này vừa chưa ạ?" / "Địa chỉ có cần ghi thêm số nhà, toà nhà không ạ?"
4. Thời gian nhận: "Hàng dự kiến tới [ngày], anh nhận được giờ hành chính hay cần giao buổi tối ạ?"
5. Với đơn giá trị lớn: "Đơn này shop xin anh chuyển trước phí ship để giữ hàng, shop gửi mã QR qua tin nhắn nhé."
Lưu ý: shop chỉ nhận chuyển khoản vào tài khoản [Tên ngân hàng] - [Số tài khoản] - [Tên chủ tài khoản].
Shop không bao giờ yêu cầu cài ứng dụng, không thu thêm phí qua điện thoại.
Nếu có ai liên hệ tự xưng là shop hoặc shipper yêu cầu chuyển tiền khác, chị vui lòng báo shop qua số này.
Khách gửi ảnh chuyển khoản nhưng tiền chưa về:
"Dạ shop cảm ơn chị. Hệ thống ngân hàng của shop chưa hiện giao dịch, chị chờ giúp shop vài phút nhé.
Khi tiền về, shop sẽ đóng gói và gửi ngay trong hôm nay ạ."
Khách hối thúc gửi hàng trước:
"Dạ shop hiểu chị đang cần gấp. Quy định của shop là gửi hàng sau khi hệ thống ghi nhận thanh toán
để bảo vệ cả hai bên. Nếu chị muốn nhận nhanh, chị có thể chọn thanh toán khi nhận hàng ạ."
Người lạ báo chuyển nhầm tiền:
"Dạ em đã thấy khoản tiền. Để đảm bảo đúng quy định, em sẽ liên hệ ngân hàng để làm thủ tục hoàn trả
qua ngân hàng. Anh vui lòng liên hệ ngân hàng của anh để được hỗ trợ ạ."
"Nhân viên sàn" nhắn tin yêu cầu xác minh:
"Dạ em sẽ kiểm tra thông báo trong trang quản lý người bán. Em không đăng nhập qua đường link và
không cung cấp mã xác thực qua tin nhắn ạ."
@Image1's character as the subject, wearing the outfit from @Image2.
Scene references @Image3. Reference @Video1's camera movement only, not its characters.
BGM references @Audio1.
0-3s: [mở đầu: bối cảnh, chủ thể xuất hiện, cú máy]
3-6s: [phát triển: hành động chính bắt đầu]
6-10s: [cao trào: khoảnh khắc quan trọng nhất]
10-15s: [kết: cảnh đẹp cuối, chữ hoặc logo nếu có]
15-second vertical video, 9:16, warm and calm mood. Scene references @Image1 (the coffee shop interior).
0-3s: wide establishing shot of the empty shop at sunrise, golden light through the window, slow push-in.
3-7s: medium shot, a barista's hands grind coffee beans, steam rises from the machine. Camera static.
7-11s: close-up, milk pours into the cup and forms a heart-shaped latte art. Slow motion.
11-15s: the cup slides toward the camera on the wooden counter, camera pulls back to reveal the whole counter.
Sound: coffee grinder, milk steaming, soft acoustic guitar BGM.
Style: cinematic, shallow depth of field, warm color grade. No text on screen.
Product details reference @Image1 (keep shape, color and logo identical). 15 seconds, 9:16.
0-3s: the product enters the frame with a slow rotation, macro close-up on its surface texture.
3-8s: three angle changes — front, side, back — a soft light sweep highlights the edges.
8-12s: the product in a real-life setting on a desk next to a laptop, natural daylight.
12-15s: hero shot, product centered, camera slowly pushes in and holds still for the last second.
Sound: subtle whoosh on each angle change, light electronic BGM building to the end.
Do not generate any text, price or logo other than what is on the product.
@Image1 as the first frame, @Image2 as the last frame. 5 seconds.
0-2s: the hand slides the old phone out of frame.
2-4s: the new phone is placed in the center, screen lights up.
4-5s: slow push-in, camera settles exactly on the composition of @Image2.
Camera: gentle, no fast pans. Keep the phone identical to @Image2.
@Image1 is the character reference sheet (front, side, back views). Keep the character's face,
hair, outfit and colors identical to @Image1 in every frame.
Scene references @Image2 (a small apartment living room, evening, warm lamp light).
0-4s: medium shot, she walks in through the door, drops her bag on the sofa, looks tired.
4-8s: close-up, she notices a small gift box on the table, her expression changes to surprise.
8-12s: she opens the box, a handwritten note inside, she smiles. Slow push-in.
Sound: door closing, paper rustling, soft piano.
@Image1's character as the subject. Scene references @Image2.
Reference @Video1's camera movement and pacing only — do not copy its characters or setting.
The character walks through the market stalls, camera follows from behind, then orbits to the front
as she stops and picks up a mango. Sound: busy market ambience.
Extend @Video1 by 5 seconds.
0-5s: the camera continues the slow push-in toward the window, sunlight flares,
the frame gradually fades to white.
12-second educational clip, 16:9, clean 3D infographic style.
0-4s: a transparent smartphone floats in the center, camera slowly orbits, internal chips glow blue.
4-8s: the battery inside heats up, color shifts from blue to orange, small heat waves rise.
8-12s: a cooling fan appears beside it, the battery cools back to blue. Camera pulls back.
Sound: soft electronic ambience, subtle hum when heating. No text on screen.
CHARACTER "Mai": a young woman in 3D animated feature-film style, slim, head-to-body ratio about 1:6,
oval face, large dark brown eyes, thick straight eyebrows, small mole under the left eye,
black chin-length bob with straight bangs, round thin gold glasses,
mustard-yellow (#E1A836) knit cardigan over a plain white T-shirt, dark blue jeans, white sneakers,
small forest-green (#2F5D3A) backpack.
MASCOT "Bin": a friendly robot mascot, 3D toy-like style, smooth glossy plastic,
rounded square head with a dark visor screen showing two glowing teal (#5EEAD4) oval eyes,
single short antenna with a yellow ball tip, white rounded body with a sky-blue (#0EA5E9) circle on the chest,
short light-blue arms with mitten hands, two short navy legs. No mouth. Height about two heads.
CHARACTER "Long": a fictional Vietnamese man in his early thirties, photorealistic style,
short black hair with a side part, clean-shaven, rectangular black-frame glasses,
light grey linen shirt with rolled sleeves, navy chinos, brown leather watch on the left wrist.
Character reference sheet of [paste the full CHARACTER description here].
Layout: four full-body views in a single row — front view, three-quarter view, side view, back view —
plus one close-up portrait of the face in the top-right corner.
Same neutral standing pose in all views, arms relaxed at the sides.
Plain light grey seamless background, even soft studio lighting, no shadows on the background.
Consistent proportions and colors across all views. No text, no labels.
@Image1 as the first frame, @Image2 as the last frame. @Image3 is the character reference sheet.
CHARACTER "Mai": [paste the full description].
Keep Mai's face, hair, glasses, outfit and colors identical to @Image3 in every frame.
0-3s: Mai walks into the café, looks around. Medium shot, camera static.
3-5s: she waves at someone off-screen and smiles. Slow push-in.
No text on screen.
[Dự án]_[Cảnh]_[Loại]_v[Phiên bản]
VD: TVC01_S05_start_v3.png
TVC01_S05_end_v2.png
TVC01_S05_clip_v7.mp4
CHAR_Mai_sheet_v2.png
Instrumental cinematic ambient, slow around 70 BPM, in a minor key.
Soft felt piano leads, warm strings enter after 20 seconds, no drums.
Tender, nostalgic, slowly turning hopeful. Starts sparse, builds gently, ends softly. No vocals.
1 POV: Instrumental, soft felt piano solo, slow around 66 BPM, in a major key, quiet and curious,
sparse notes with room between them, morning feeling. No drums, no vocals.
2 Sender: Instrumental, felt piano with warm acoustic guitar joining, around 72 BPM, major key,
gentle and affectionate, steady light rhythm, a simple hopeful melody. No vocals.
3 Pause: Instrumental, very sparse, a few single piano notes with long reverb and a soft cello drone,
almost silent, reflective and tender, no rhythm. No vocals.
4 Climax: Instrumental cinematic, full piano and strings, rising melody, around 76 BPM, major key,
emotional and grateful, builds to a warm peak, soft timpani swell. No vocals.
5 Montage: Instrumental, warm strings and piano reprise the climax melody more softly, around 72 BPM,
bright and peaceful, gentle resolution, ends on a long held chord. No vocals.
Instrumental upbeat electronic pop, around 120 BPM, major key, starts immediately with the beat, no intro.
Punchy drums, bright synth plucks, short riser at 6 seconds leading to a drop at 7 seconds.
Energetic and playful. Clean ending that can loop. 20 seconds. No vocals.
Review video background: Instrumental minimal electronic, around 100 BPM, neutral mood,
soft pulsing synth bass, light hi-hats, no strong melody so it stays under narration,
steady from start to end, 90 seconds, clean loop point. No vocals.
Podcast intro: Instrumental, 8 seconds, warm and confident, punchy drum hit at the start,
short memorable piano and synth motif played twice, ends on a clear final hit. No vocals.
Comedy sketch: Instrumental playful pizzicato strings and ukulele, around 110 BPM, major key,
bouncy and cheeky, two short pauses at 10 and 20 seconds for dialogue, 30 seconds. No vocals.
Nỗi đau: 3 giờ chiều, ly trà đá chỉ còn nước lạt.
Khuấy động: Lại xuống căng tin, lại 25 nghìn, lại một cái ly nhựa.
Giải pháp: Bình giữ lạnh 750ml, đá còn đến lúc tan làm. Đổ đầy buổi sáng là đủ cả ngày.
Tuần trước team mình cá cược: để bình trên bàn từ 9 giờ sáng, ai đoán đúng giờ đá tan thì được bao trà sữa.
Bạn Minh đoán 2 giờ chiều. Bạn Lan đoán 4 giờ.
5 giờ 30 tan làm, đá vẫn còn. Không ai thắng, cả team đi uống trà sữa.
3 cách để đá lâu tan hơn, bình nào cũng áp dụng được:
1. Cho đá vào trước, nước vào sau.
2. Tráng bình bằng nước lạnh trước khi đổ.
3. Đổ đầy, ít không khí thì đá tan chậm hơn.
Bình của tụi mình làm thêm bước 4: hai lớp thép, chân không ở giữa.
✨ Bạn có biết rằng việc giữ đồ uống luôn mát lạnh là chìa khoá cho một ngày làm việc hiệu quả? 💯
🔥 Hãy cùng khám phá bình giữ nhiệt cao cấp của chúng tôi – sản phẩm tốt nhất thị trường!
✅ Giữ lạnh vượt trội ✅ Thiết kế sang trọng ✅ An toàn tuyệt đối
Còn chần chờ gì nữa mà không sở hữu ngay hôm nay! 🛒
#binhgiunhiet #giunhiet #tienloi #songkhoe #vanphong #muasam #hot #trending #deal #sale
3 giờ chiều, ly trà đá trên bàn chỉ còn nước lạt.
Team tụi mình thử để bình 750ml trên bàn từ 9 giờ sáng. 5 giờ 30 tan làm, đá vẫn còn.
Bí quyết không có gì cao siêu: hai lớp thép, chân không ở giữa, nắp kín.
Xem bình ở link bên dưới 👇
#binhgiunhiet #dovanphong
Bạn là người viết nội dung mạng xã hội cho thương hiệu bình giữ nhiệt [Tên thương hiệu].
GIỌNG THƯƠNG HIỆU:
[dán bảng nên, không nên]
CAPTION MẪU ĐÃ DUYỆT:
1. [dán]
2. [dán]
3. [dán]
BRIEF:
- Người đọc: dân văn phòng 25 đến 35 tuổi, hay mua trà sữa buổi chiều.
- Mục tiêu: bấm vào link xem sản phẩm.
- Một thông điệp: đá vẫn còn đến giờ tan làm.
- Chi tiết thật: team đã để bình trên bàn văn phòng từ 9 giờ sáng đến 5 giờ 30 chiều, đá vẫn còn.
- Nền tảng: Facebook fanpage.
- Ràng buộc: 60 đến 100 chữ, tối đa 2 emoji, 2 hashtag, không dùng từ "nhất", "số 1", "tốt nhất".
YÊU CẦU:
Viết 5 phiên bản, mỗi phiên bản dùng một kiểu hook: tình huống quen thuộc, con số cụ thể, nói ngược, câu chuyện ngắn, mẹo hữu ích.
Không thêm bất kỳ số liệu, phản hồi khách hàng hay khuyến mãi nào không có trong brief.
Sau mỗi phiên bản, ghi một dòng: kiểu hook đã dùng.
# Framework: Caption mạng xã hội theo giọng thương hiệu (v1.0)
## 1. Mục đích
Viết caption cho bài đăng mạng xã hội của [Thương hiệu], đúng giọng, đúng một thông điệp, không vi phạm Luật Quảng cáo.
## 2. Khi nào dùng / không dùng
Dùng: bài đăng sản phẩm, bài chia sẻ mẹo, bài kể chuyện trên Facebook, Instagram, TikTok, Zalo OA.
Không dùng: thông cáo báo chí, nội dung khủng hoảng, nội dung y tế, tài chính cần duyệt pháp lý riêng.
## 3. Đầu vào
Bắt buộc: người đọc, mục tiêu, một thông điệp, nền tảng.
Tuỳ chọn: chi tiết thật (số liệu, phản hồi khách, tình huống), kiểu hook mong muốn.
Thiếu đầu vào bắt buộc: hỏi lại, không tự đoán.
## 4. Quy trình
1. Xác nhận lại một thông điệp chính bằng một câu.
2. Viết 5 phiên bản, mỗi bản một kiểu hook khác nhau.
3. Mỗi bản: hook, thân bài theo một cấu trúc, một hành động cụ thể.
4. Tự kiểm tra theo mục 9, sửa trước khi trả kết quả.
## 5. Kiến thức nền
- 8 kiểu hook: tình huống quen thuộc, con số, nói ngược, thừa nhận điểm yếu, trước và sau,
câu nói của khách, hướng dẫn nhanh, đặt cược nhỏ.
- 3 cấu trúc thân bài: nỗi đau và giải pháp, câu chuyện ngắn, mẹo kèm sản phẩm.
- Độ dài gợi ý theo nền tảng: [điền theo thương hiệu].
## 6. Định dạng đầu ra
Mỗi phiên bản: caption hoàn chỉnh, sau đó một dòng "Hook: [kiểu] Cấu trúc: [kiểu]".
## 7. Ràng buộc
- Không dùng "nhất", "duy nhất", "tốt nhất", "số một" khi không có bằng chứng.
- Không thêm số liệu, khuyến mãi, phản hồi khách không có trong đầu vào.
- Tối đa 2 emoji, 2 đến 4 hashtag.
- Không mở đầu bằng "Bạn có biết".
## 8. Ví dụ
Tốt: [dán caption đã chạy tốt] — vì: tình huống cụ thể, chi tiết thật, một hành động.
Xấu: [dán caption chung chung] — vì: câu hỏi sáo rỗng, ba lợi ích chung chung, "tốt nhất".
## 9. Tự kiểm tra
- Thay tên thương hiệu khác vào, caption có còn đúng không? Nếu còn: chưa đủ cụ thể.
- Mọi con số có trong đầu vào không?
- Có từ nào trong danh sách cấm không?
kv-motion-ads/
├── SKILL.md # hướng dẫn chính
└── references/
├── motion-types.md # mô tả 3 kiểu chuyển động
├── prompt-templates.md # mẫu prompt cho từng kiểu
└── text-safety.md # quy tắc chống méo chữ, sai giá
---
name: kv-motion-ads
description: Phân tích cặp ảnh KV khung đầu và khung cuối, viết prompt video để biến KV tĩnh
thành motion ad. Dùng khi người dùng đưa 1-2 ảnh KV và nhắc tới "KV động", "motion ad",
"biến KV tĩnh thành động", "start frame end frame", kể cả khi chỉ gửi ảnh.
---
# KV tĩnh thành motion ad
## Quy trình
1. So sánh khung đầu và khung cuối, liệt kê những gì thay đổi.
2. Xếp vào một trong ba kiểu chuyển động (xem references/motion-types.md).
3. Viết prompt theo mẫu tương ứng (xem references/prompt-templates.md).
4. Tự kiểm tra theo references/text-safety.md trước khi trả kết quả.
## Ràng buộc
- Không để mô hình video tạo hay chỉnh chữ, số, giá, logo.
- Máy quay đứng yên ở giây cuối để khung kết trùng KV gốc.
## Nhật ký thay đổi
v1.3 (2026-11-08, An): thêm ràng buộc không vẽ giá vào video sau 2 lỗi sai giá ở chiến dịch tháng 10.
v1.2 (2026-10-15, Minh): thêm kiểu chuyển động "chuyển KV sang KV".
v1.1 (2026-09-30, An): tách quy tắc chống méo chữ ra file tham khảo riêng.
[Mã khách]_[Nền tảng]_[Mục đích]
VD: KH012_FB_Fanpage
KH012_TT_Shop
KH015_GG_Ads
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.webkit.launch()
page = browser.new_page(**p.devices["iPhone 13"], locale="vi-VN", timezone_id="Asia/Ho_Chi_Minh")
page.goto("https://example.com")
page.screenshot(path="trang-chu-iphone.png", full_page=True)
browser.close()
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 input.mp4
# kết quả, ví dụ: 1080,1920
import subprocess
def add_watermark(src, logo, dst, logo_w, margin, opacity=0.85):
vf = (
f"[1:v]scale={logo_w}:-1,format=rgba,colorchannelmixer=aa={opacity}[wm];"
f"[0:v][wm]overlay=main_w-overlay_w-{margin}:{margin}"
)
cmd = [
"ffmpeg", "-y", "-i", src, "-i", logo,
"-filter_complex", vf,
"-c:v", "libx264", "-crf", "20", "-preset", "veryfast",
"-c:a", "copy",
dst,
]
subprocess.run(cmd, check=True)
overlay=x='if(lt(mod(t,20),10), 40, main_w-overlay_w-40)':y=40
# 10 giây đầu của mỗi chu kỳ 20 giây: logo ở góc trái; 10 giây sau: góc phải
A: Tuần này YouTube vừa đổi chính sách kiếm tiền. Bạn nghe chưa?
B: Nghe rồi. Nhưng nhiều người hiểu nhầm là YouTube cấm video AI.
A: Vậy thực ra là sao?
B: Không cấm AI. Họ chỉ không trả tiền cho nội dung làm hàng loạt, na ná nhau.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="vi-VN">
<voice name="vi-VN-HoaiMyNeural">
<prosody rate="+5%">Tuần này YouTube vừa đổi chính sách kiếm tiền. Bạn nghe chưa?</prosody>
<break time="350ms"/>
</voice>
<voice name="vi-VN-NamMinhNeural">
Nghe rồi. Nhưng nhiều người hiểu nhầm là YouTube cấm video <sub alias="ây ai">AI</sub>.
<break time="350ms"/>
</voice>
</speak>
{
"AI": "ây ai",
"YouTube": "diu tiu",
"TikTok": "tích tóc",
"Shopee": "sô pi",
"CTR": "xi ti a",
"Seedance": "xít đan"
}
import azure.cognitiveservices.speech as speechsdk
def ssml_to_wav(ssml: str, out_path: str, key: str, region: str) -> None:
cfg = speechsdk.SpeechConfig(subscription=key, region=region)
audio = speechsdk.audio.AudioOutputConfig(filename=out_path)
synth = speechsdk.SpeechSynthesizer(speech_config=cfg, audio_config=audio)
result = synth.speak_ssml_async(ssml).get()
if result.reason != speechsdk.ResultReason.SynthesizingAudioCompleted:
raise RuntimeError(f"Không tạo được giọng: {result.reason}")
@Image1 is the character reference sheet; keep the mascot's shape, colors and details identical to it.
Full shot of the mascot standing on a solid pure chroma green background (#00FF00), evenly lit,
no shadows on the background, no floor line, no green reflections on the mascot.
0-2s: the mascot turns its head toward camera and waves.
2-5s: it gives a small happy bounce, then settles back to a still pose.
Camera: locked-off, eye level, no zoom. No text, no other objects.
@Image1 as the first frame and @Image1 as the last frame. @Image2 is the character reference sheet
(front, three-quarter, side and back views); keep the mascot identical to it from every angle.
The mascot stands still in the center on a pure chroma green background.
0-8s: the camera orbits a full 360 degrees around the mascot at a constant speed, eye level,
same distance throughout, ending exactly where it started.
No cuts, no zoom, no change in lighting. No text.
from google import genai
from google.genai import types
client = genai.Client() # đọc khoá API từ biến môi trường GEMINI_API_KEY
def podcast_to_note(url: str, prompt: str) -> str:
resp = client.models.generate_content(
model="gemini-2.5-flash",
contents=types.Content(parts=[
types.Part(file_data=types.FileData(file_uri=url)),
types.Part(text=prompt),
]),
)
return resp.text
You are a note-taker. Watch this podcast and write ONE Markdown note in Vietnamese.
Start with YAML front matter: title, channel, url, date_watched, tags (3-6, lowercase).
Then these sections, in order:
## Tóm tắt — 5 sentences max.
## Ý chính — bullet points, each starting with the timestamp in [MM:SS].
## Trích dẫn đáng nhớ — up to 3 short quotes, translated, with [MM:SS].
## Việc có thể làm — concrete actions a listener could take.
## Liên kết — key people, books, tools mentioned, written as [[wikilinks]].
Do not invent facts. If something is unclear in the audio, say so.
Vertical 9:16 photo. Close-up of a lukewarm iced coffee in a sweating plastic cup on an office desk at 3 PM, ice fully melted, condensation pooling on paper documents. Soft window light from the left, slightly desaturated, 35mm lens, shallow depth of field. Keep the top 15% and bottom 25% of the frame free of key subjects. No text.
Vertical 9:16 photo, same desk, same light, same lens. The plastic cup is pushed aside; in the center stands a matte olive-green 750ml stainless steel tumbler with a bamboo lid and a small embossed logo on the front, lid open, ice cubes still crisp inside, light frost on the rim. Keep the top 15% and bottom 25% free of key subjects. No text.
@Image1 as the first frame, @Image2 as the last frame. 5 seconds, vertical 9:16.
0-1s: static macro shot, a drop of condensation slides down the plastic cup.
1-3s: a hand enters from the right, slides the plastic cup out of frame, places the tumbler in the center.
3-5s: slow push-in toward the open lid, ice cubes clink, a thin wisp of cold vapor.
Camera: gentle, no fast whip pans. Keep the tumbler's color, shape and logo identical to @Image2.
Sound: ice clinking, soft office ambience.
Edit the attached photo. Replace ONLY the background and environment.
PRESERVE EXACTLY, pixel-faithful: the product's shape, proportions, color, material,
logo, every printed word and number, camera angle, perspective, and the hand holding it
(same fingers, skin tone, nails). Do not redraw, retouch, sharpen or recolor the product.
New scene: a clean commercial studio set, warm beige seamless backdrop, a travertine
plinth under the product, soft key light from upper left matching the original light
direction, a gentle contact shadow under the product.
Output: same framing and resolution as the input. No added text, no watermark.
@Image1 as the first frame, @Image2 as the last frame. 5 seconds, 16:9.
0-1.5s: empty gradient backdrop, a soft light sweep moves from left to right.
1.5-3.5s: the laptop slides in from the right and settles exactly at its position in @Image2,
screen lighting up as it lands.
3.5-5s: camera holds still; graphic blocks fade in to match @Image2.
Camera: locked-off, no zoom, no rotation. Keep every element of @Image2 exactly in place.
Do not generate, alter or animate any text, numbers or logos.
Sound: subtle whoosh, soft chime at 3.5s.
@Image1 as the first frame, @Image2 as the last frame. 5 seconds, 3D animated feature-film style.
0-2s: [character name, fixed description] dribbles the ball toward camera, slight low angle.
2-4s: he stops, looks up, his expression turns from focused to a wide grin.
4-5s: camera slowly pushes in, stadium lights flare softly behind him.
Keep the character's face, outfit and colors identical to the reference sheet. No text.