titusgiap's picture
Claude Opus 4.8
chore(web): ẩn "Listing ảnh Free" khỏi menu, route và Hướng dẫn
d249a38
Raw History Blame Contribute Delete
6.94 kB
import { IcDownload, IcScissors, IcShuffle, IcMic, IcImage, IcStar, IcVideo } from "../components/Icons";
const guides = [
{
icon: IcDownload,
title: "Down list video",
steps: [
"Dán danh sách link video (mỗi link một dòng) từ YouTube, TikTok, Douyin, Facebook, Shopee, 1688, Taobao, Drive…",
"Bấm “Phân tích” để kiểm tra link hợp lệ và nhận diện nguồn.",
"Bấm “Bắt đầu tải” — video tải về theo chất lượng gốc.",
"Khi xong, mỗi video hiện ra ở bảng kết quả: bấm “Tải về máy” để lưu vào thư mục download của trình duyệt.",
"Có thể chuyển thẳng từng video sang tool Cut hoặc Dịch/đổi giọng bằng nút bên cạnh.",
],
},
{
icon: IcImage,
title: "Listing ảnh (OpenAI)",
steps: [
"Tải ảnh sản phẩm (bắt buộc) — chụp chính diện, đủ sáng, rõ nhãn mác. Tuỳ chọn thêm ảnh người mẫu và ảnh bối cảnh để AI dùng đúng gương mặt / khung cảnh cho các ảnh có người.",
"Nhập API Key OpenAI của bạn: GPT Vision Key (phân tích ảnh + sinh prompt) và Image Gen Key (sinh ảnh — để trống nếu dùng chung một key). Key được lưu sẵn trên trình duyệt cho lần sau.",
"Chọn số lượng ảnh (1–9), ngôn ngữ prompt, và các loại ảnh muốn tạo: Ảnh bìa, Chi tiết SP, Trưng bày, Sử dụng, Mở hộp, Nỗi phiền lo, Trước & Sau, Phong cách sống, Tính năng.",
"Bấm “Phân tích & Tạo Prompt”, có thể dán thêm thông tin sản phẩm để prompt chính xác hơn, rồi “Xác nhận & Phân tích”. GPT-4o phân tích và tự sinh ảnh bằng gpt-image-2. AI GIỮ NGUYÊN thiết kế, màu sắc, chữ trên nhãn.",
"Ở mỗi ảnh kết quả: bấm 📄 để xem/sửa prompt rồi tạo lại; bấm ✏️ để yêu cầu chỉnh sửa (kèm ảnh tham chiếu nếu cần) mà vẫn giữ nguyên mẫu mã. Bấm vào ảnh để phóng to.",
"Bấm “Tải tất cả về” để lấy file zip, hoặc “Làm mới” để bắt đầu lại.",
],
},
/* Ẩn tạm mục "Listing ảnh Free" — bật lại thì bỏ comment khối này
{
icon: IcStar,
title: "Listing ảnh Free (Flux / Wangp)",
steps: [
"Dán link Gradio của server Flux/Wangp bạn đang chạy rồi bấm “Connect” để kiểm tra kết nối. Link được lưu sẵn trên trình duyệt. Đây là cách sinh ảnh miễn phí (không tốn phí OpenAI), nhưng cần server Flux/Wangp đang chạy.",
"Tải ảnh sản phẩm (bắt buộc), tuỳ chọn thêm ảnh nền và ảnh người mẫu, rồi bấm “Upload & Start”.",
"Chọn số lượng ảnh và chế độ: Manual — tự viết prompt mô tả bối cảnh cho từng ảnh; Auto (GPT) — nhập OpenAI key để GPT-4o tự sinh prompt.",
"Tinh chỉnh cấu hình: Model (Flux2 Klein 9B/4B, Flux 1.1 Pro, Flux Schnell), độ phân giải, Steps, Guidance, Ref Strength và Negative Prompt.",
"Bấm “Generate” — Flux/Wangp tạo nền theo prompt rồi hệ thống phủ chữ thiết kế lên ảnh.",
"Bấm “Download all” để lấy file zip, hoặc “Reset” để làm lại.",
],
},
*/
{
icon: IcVideo,
title: "Tạo video",
steps: [
"Chạy WanGP (công cụ sinh video) và lấy link Gradio công khai của nó (dạng https://xxxx.gradio.live/).",
"Dán link vào ô phía trên rồi bấm “🔌 Kết nối”. Trạng thái sẽ chuyển sang “Đã kết nối”.",
"Sau khi kết nối, giao diện WanGP gốc hiện ngay trong trang để bạn nhập prompt và tạo video.",
"Khi dùng xong bấm “🔌 Ngắt kết nối”. Link kết nối được ghi nhớ để lần sau vào lại nhanh.",
],
},
{
icon: IcScissors,
title: "Cut video",
steps: [
"Tải lên một hoặc nhiều video. Mỗi video có một tab riêng để chọn cắt; bấm dấu × trên tab để xoá video nếu lỡ tải nhầm.",
"Chọn chế độ cắt: Đều / Theo cảnh / Highlight / Smart, hoặc tự nhập số khúc.",
"Xem dải thumbnail vừa khít màn hình. Bấm vào một điểm rồi “Thêm cắt” để chèn dấu cắt; chọn một dấu cắt rồi “Xoá cắt” để bỏ; kéo dấu cắt sang trái/phải để dịch chuyển.",
"Bấm Play để xem — video sẽ chạy tới điểm cắt gần nhất rồi dừng để bạn biết khúc cắt tới đâu.",
"Bấm “Cắt video” để xuất các khúc (không tiếng). Sau đó có thể chuyển toàn bộ khúc sang tool Xào theo đúng vị trí + thứ tự.",
],
},
{
icon: IcShuffle,
title: "Xào video",
steps: [
"Chọn số khúc, rồi thả clip (hoặc cả thư mục chứa video) vào từng khúc.",
"Mỗi khúc có nút chế độ: Giữ (khoá vị trí) · Đảo (cho phép xáo) · Bỏ (loại khúc khỏi video).",
"Tích chọn “Lọc trùng” nếu muốn loại các video giống nhau, và “Lấy ngẫu nhiên” nếu chỉ muốn lấy một phần. Bỏ tích cả hai để lấy hết.",
"Bấm “Ước lượng” để xem số video sẽ tạo trước khi render.",
"Có thể thêm các track âm thanh để lồng vào biến thể (mỗi biến thể nhận một track xoay vòng).",
"Bấm “Tạo video” — xem trước danh sách kết quả rồi tải xuống theo thứ tự.",
],
},
{
icon: IcMic,
title: "Dịch / đổi giọng video",
steps: [
"Tải video cần dịch. Chọn ngôn ngữ đích: Tiếng Việt · English · Filipino.",
"Bật Clone giọng nếu muốn giữ chất giọng gốc; chọn model theo ngôn ngữ (vi → VieNeu, en → XTTS/VoxCPM2, fil → VoxCPM2).",
"Bấm “Bắt đầu dịch” — đầu ra là video đã lồng tiếng (kèm audio và phụ đề SRT).",
"Khu “Gen voice từ text”: nhập đoạn text, chọn giọng (clone hoặc có sẵn) và ngữ điệu để tạo riêng một đoạn voice.",
],
},
];
export default function Guide() {
return (
<div className="guide">
<h1 className="h1">Hướng dẫn sử dụng</h1>
<p className="subtitle">Các bước dùng nhanh cho từng công cụ trong TNT Group AI Content Create.</p>
{guides.map((g, i) => {
const Ic = g.icon;
return (
<div className="g-tool" key={i}>
<h3><span className="ic"><Ic /></span> {g.title}</h3>
<ol>
{g.steps.map((s, j) => <li key={j}>{s}</li>)}
</ol>
</div>
);
})}
</div>
);
}