Thêm Gemini TTS vào app và lỗ ngay trong 24 giờ 🤡
(Một bài học nhỏ nhưng khá đau về AI billing)
Trước đó, app TTS nhỏ của mình vẫn chạy khá ổn.
Không đông khách, nhưng vẫn có vài người trả tiền, mỗi ngày thu được chút đỉnh, gọi là có lời.
Rồi mình nghĩ:
“Hay là thêm Gemini TTS vô cho xịn hơn?”
Và… đó là lúc mọi thứ bắt đầu sai.
Bối cảnh ngắn gọn
App của mình là một web TTS đơn giản:
- đọc tài liệu
- đọc giáo trình
- user paste text → nghe audio
Ban đầu mình dùng:
- OpenAI TTS
- Azure TTS
- Google Cloud TTS
Điểm chung của mấy ông này là:
- tính tiền theo số ký tự
- rất dễ estimate chi phí
- retry hay lỗi cũng không quá nguy hiểm
App tuy đơn giản, nhưng vẫn bán được vài người. Không nhiều, nhưng không lỗ.
Và rồi Gemini xuất hiện…
Gemini TTS thật sự rất xịn:
- giọng đọc có hồn
- pause đúng chỗ
- đọc tiếng Anh – tiếng Việt rất tự nhiên
Nghe demo là thấy wow liền.
Thế là mình thêm Gemini TTS vào production.
Chuyện gì đã xảy ra?
Chỉ sau 1 ngày:
- Doanh thu: ~200.000 VNĐ
- Chi phí Gemini TTS: hơn 400.000 VNĐ
👉 Lỗ ngay.
Điều khó chịu nhất là:
- user không tăng
- số request không nhiều
- dashboard nhìn cũng không có gì bất thường
Nhưng billing thì… 💀
Vấn đề không phải Gemini đắt
Vấn đề là không estimate được chi phí
Sau khi ngồi mổ xẻ lại, mình mới hiểu:
1. Gemini TTS không tính tiền theo ký tự
Nó tính theo:
- thời lượng audio
- pause / silence
- prosody (nhấn giọng)
- retry / reconnect
👉 1 đoạn text đọc chậm, có pause = audio dài hơn rất nhiều.
2. Dashboard ≠ Billing
Dashboard chủ yếu cho bạn thấy:
- request
- input tokens
Nhưng thứ ăn tiền nhất là:
- audio output tokens
- → cái này không hiển thị rõ
3. Retry không phải lúc nào cũng hiện là “retry”
- mất kết nối
- stream fail
- render lại audio
👉 Billing vẫn tính lại,
nhưng dashboard không nói rõ là “retry”.
So sánh nhanh cho dễ hiểu
OpenAI / Azure / Google TTS
- tính theo ký tự
- 1.000 ký tự ≈ X đồng
- estimate trước được
- rất phù hợp làm SaaS
Gemini TTS
- tính theo giây audio
- không biết trước audio dài bao nhiêu
- pause cũng tính tiền
- rất khó kiểm soát chi phí
👉 Demo thì cực xịn
👉 Production thì rất nguy hiểm
Điều buồn cười nhất
Trước khi thêm Gemini:
- app đơn giản
- ít feature
- vẫn bán được
Vừa thêm Gemini:
- chưa kịp kiếm thêm user
- lỗ ngay
Cảm giác đúng kiểu:
“Thêm tính năng cho xịn… xong tự bắn vào chân.” 😅
Bài học rút ra
Sau vụ này, mình rút được mấy điều:
- Tool xịn ≠ tool phù hợp
- Với SaaS nhỏ, predictable cost quan trọng hơn wow factor
- Billing model quan trọng không kém gì model AI
- Feature mới không có nghĩa là doanh thu mới
Kết
Mình lỗ hơn 400k, nhưng may là:
- user còn ít
- phát hiện sớm
- chưa scale
Nếu chuyện này xảy ra lúc traffic lớn hơn,
có khi bay vài triệu trong một ngày.
Giờ thì mình đã:
- gỡ Gemini TTS khỏi production
- quay lại dùng OpenAI / Azure / Google
- giới hạn số ký tự mỗi lần đọc
- chi phí ổn định trở lại
Gemini rất xịn,
nhưng đúng là một con dao hai lưỡi.
Và với app của mình, mình chọn… cất dao.
