Media Studio là một server Node.js (Express) chạy trên một máy Mac riêng, giao diện web HTML/CSS/JS thuần, truy cập từ xa qua HTTPS có đăng nhập. Mỗi loại việc được giao cho engine phù hợp nhất, và mọi engine trả phí/giới hạn đều có đường dự phòng.
Bản đồ engine
| Việc | Engine chính | Dự phòng |
|---|---|---|
| Tạo ảnh | GPT Image 2 | Nano Banana (Gemini) - tự chuyển khi engine chính hết hạn mức |
| Viết kịch bản, chấm điểm ảnh, đọc góc chụp / ánh sáng | Gemini | Engine tạo ảnh chính |
| Tra web (benchmark, cấu hình) | Gemini web search | Đọc tên linh kiện ngay trong trang sản phẩm + DB NotebookCheck |
| Tách nền | rembg (isnet) | macOS Vision → tách theo màu nền → Photoshop Select Subject |
| Upscale / làm nét | UltraSharpV2 (chạy trên GPU Mac) | Real-ESRGAN → Lanczos |
| Giọng đọc | Gemini TTS (giọng mặc định Charon) | VieNeu on-device → Edge TTS |
| Nhận dạng giọng (phụ đề, mốc thời gian) | faster-whisper (chạy máy) | - |
| Dựng video | Remotion 4 (React) + FFmpeg | - |
| Render banner | Chrome headless-shell (puppeteer) | Tự khởi động lại Chrome khi treo |
| Nén ảnh | TinyPNG (xoay nhiều key theo tháng) | - |
Nguyên tắc chia hạn mức
- Hạn mức của engine tạo ảnh dành riêng cho việc vẽ. Việc chữ và "nhìn ảnh" (chấm điểm, viết kịch bản, phân tích ánh sáng) chạy bằng Gemini - hạn mức tách riêng, không ăn vào hạn mức vẽ.
- Hết hạn mức thì không cố. Khi engine chính báo quá giới hạn (429), app nhớ mốc reset và gửi thẳng các ảnh sau sang Nano Banana tới khi reset - không tốn request hỏng. Cả hai engine cùng cạn → trả
503kèm thời gian chờ. - Pipeline cần đúng ảnh của engine chính có thể gửi header
x-engine(giá trị xem ởGET /api/v1/info) để không bao giờ nhận ảnh từ engine dự phòng.
Dữ liệu benchmark
Điểm CPU/GPU/FPS game dựng từ bộ CSV NotebookCheck, điểm render 3D lấy từ Blender Open Data (CC0, 462 GPU + 1.123 CPU). Video và biểu đồ chỉ dùng số thật từ các nguồn này; không có số thì bỏ cảnh chứ không bịa.
Địa chỉ
- media.phatdev.net - Media Studio (cần tài khoản).