Quay lại blog
BananaBanana Teamapix402agents

API tạo nội dung AI qua x402: Trả phí theo lượt gọi, không cần tài khoản

Tạo hình ảnh, video và giọng nói qua x402: tác tử của bạn thanh toán USDC trên Base theo từng lượt gọi, không cần đăng ký hay API key. Giá từ $0.03.

API tạo nội dung AI qua x402: Trả phí theo lượt gọi, không cần tài khoản

x402 là giao thức thanh toán mở biến mã trạng thái HTTP 402 thành một paywall thực thụ: máy chủ phản hồi yêu cầu bằng mã 402 Payment Required kèm theo điều kiện thanh toán có cấu trúc, máy khách ký ủy quyền chuyển tiền bằng stablecoin, gửi lại yêu cầu và nhận kết quả. Không cần tạo tài khoản, không cần API key và không có phí thuê bao hàng tháng. Coinbase đã bàn giao giao thức này cho Linux Foundation vào tháng 4 năm 2026, và đến khi x402 Foundation chính thức vận hành, liên minh đã quy tụ 40 tổ chức thành viên bao gồm AWS, Google, Stripe, Visa và Mastercard. Đây không còn là một thử nghiệm nhỏ lẻ nữa.

Câu trả lời nhanh: Endpoint x402 của BananaBanana đặt tại https://bananabanana.pro/api/x402. Gửi yêu cầu POST với nội dung { "tool": "...", "arguments": {...} }, nhận phản hồi 402 kèm mức giá chính xác cho các tham số đó, thanh toán bằng USDC trên Base và gửi lại yêu cầu. Hình ảnh có giá từ $0.03, video từ $0.30, giọng nói $0.01 cho mỗi 200 ký tự. Hình ảnh và giọng nói chỉ bị trừ tiền khi tệp thực sự được tạo thành công.

Một robot nhỏ thả đồng xu vào máy bán hàng tự động nhả ra một bức tranh, cuộn phim và một chiếc loa, minh họa biên tập

Câu cuối cùng vừa nêu là điểm mấu chốt mà hầu hết các bài viết về x402 thường bỏ qua, và chúng ta sẽ phân tích kỹ điều đó. Thu tiền thì rất đơn giản; không thu tiền cho những lượt gọi thất bại mới là nơi kiến trúc phần mềm trở nên thú vị.

Quy trình thanh toán diễn ra như thế nào

Chỉ gồm bốn bước, và ba trong số đó được thư viện HTTP client của bạn xử lý tự động:

  1. Tác tử gửi yêu cầu POST thông thường chứa JSON, không có header thanh toán.
  2. Máy chủ phản hồi mã 402 với mảng accepts. Yêu cầu thanh toán chứa số tiền theo đơn vị nguyên tử (atomic units), địa chỉ nhận, hợp đồng USDC, mạng blockchain và thời hạn hiệu lực.
  3. Máy khách ký ủy quyền chuyển tiền theo chuẩn EIP-3009 cho đúng số tiền đó và mã hóa Base64 vào header X-PAYMENT.
  4. Yêu cầu tương tự được gửi lại kèm theo header. Máy chủ chuyển chữ ký tới bên trung gian (facilitator) để xác thực, tiến hành tạo tệp và sau đó yêu cầu bên trung gian thực hiện quyết toán on-chain.

Chữ ký không phải là một giao dịch blockchain tức thì. Đó là ủy quyền off-chain chỉ chuyển thành giao dịch thực tế khi được gửi lên mạng lưới. Điều này cho phép quy trình chia làm hai giai đoạn: xác thực trước, tạo nội dung sau và quyết toán cuối cùng.

Chi tiết thực tế: đặc tả v2 đổi tên header thành PAYMENT-SIGNATUREPAYMENT-RESPONSE, nhưng phần lớn máy khách hiện nay vẫn gửi X-PAYMENT, và chúng tôi vẫn hỗ trợ đầy đủ. Nếu bạn sử dụng TypeScript SDK chính thức, sự khác biệt này hoàn toàn trong suốt.

Hình minh họa theo dạng sơ đồ về chu trình yêu cầu bốn bước giữa một tác tử và API trả phí, phong cách biên tập

Chi phí cho mỗi lượt gọi

Giá được tính trên từng lượt tạo và được báo trước khi bạn ký bất kỳ ủy quyền nào. Chi phí chính xác phụ thuộc vào tham số truyền vào (ảnh 4K có giá khác với 1K), vì vậy phản hồi 402 sẽ định giá cho yêu cầu cụ thể của bạn.

Công cụMô hìnhGiá
generate_imageNano Banana 2 Lite$0.03 (chỉ 1K)
generate_imageNano Banana 2$0.03 – $0.13 (từ 512 đến 4K)
generate_imageNano Banana Pro$0.11 – $0.20 (từ 1K đến 4K)
generate_videoGemini Omni Flash$0.10 mỗi giây, từ 3–10 giây, luôn có âm thanh
generate_videoDòng Veo 3.1$0.10 – $4.40 mỗi clip
generate_speechGemini Flash TTS$0.01 cho mỗi 200 ký tự bắt đầu

Một đoạn clip 3 giây trên Omni kèm âm thanh có giá $0.30, là tùy chọn video thực tế tiết kiệm nhất trong danh sách. Veo đem lại độ chi tiết cao hơn, nhưng với video 8 giây 1080p có âm thanh thì chi phí sẽ tăng lên đáng kể đối với một bản nháp ban đầu.

Bạn có thể tra cứu bảng giá cập nhật trực tiếp: GET https://bananabanana.pro/api/x402 trả về toàn bộ danh mục miễn phí mà không yêu cầu thanh toán.

Các đồng xu với kích cỡ khác nhau xếp cạnh các bức tranh đóng khung nhỏ và dải phim, minh họa biên tập

Hai yêu cầu từ đầu đến cuối

Dưới đây là quy trình hoàn chỉnh bằng curl, ngoại trừ bước ký (phần này do thư viện máy khách x402 của bạn đảm nhiệm).

# 1. Yêu cầu báo giá. Không có header thanh toán: nhận thông tin chi phí.
curl -s -X POST https://bananabanana.pro/api/x402 \
  -H 'Content-Type: application/json' \
  -d '{"tool":"generate_image","arguments":{"prompt":"a paper boat on still water at dawn","model":"nano-banana-pro","resolution":"2048"}}'
{
  "x402Version": 1,
  "error": "Payment required: $0.11 for generate_image.",
  "accepts": [{
    "scheme": "exact",
    "network": "base",
    "maxAmountRequired": "110000",
    "resource": "https://bananabanana.pro/api/x402",
    "payTo": "0x7c0e9abd1c48380e27ab5bfced1be54f23ce773f",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "maxTimeoutSeconds": 300,
    "extra": { "name": "USD Coin", "version": "2" }
  }]
}

Hai phong bì trên một đường kẻ: phong bì thứ nhất quay lại với ổ khóa, phong bì thứ hai mang dấu sáp và đi qua khung mở

Ký các tham số này, gửi lại kèm header và phản hồi thứ hai sẽ trả về tệp đã hoàn tất:

{
  "paid_usd": 0.11,
  "result": {
    "status": "completed",
    "images": [{ "url": "https://bananabanana.pro/api/files/..." }]
  }
}

Hai lưu ý kỹ thuật quan trọng cho các nhà phát triển máy chủ x402: trường maxAmountRequired được tính bằng đơn vị nguyên tử. USDC có 6 chữ số thập phân nên $0.11 sẽ là 110000. Ngoài ra, extra.name phải khớp chính xác với giá trị hàm name() của hợp đồng USDC trả về (trên Base mainnet là USD Coin, còn trên Base Sepolia là USDC), vì giá trị này dùng để tính domain separator trong EIP-712. Nếu không khớp, việc xác minh chữ ký sẽ thất bại mà không có thông báo lỗi rõ ràng.

Video có cơ chế riêng: thanh toán trước, nhận token hoàn tiền nếu lỗi

Hình ảnh và giọng nói được xử lý xong trong thời gian của một yêu cầu HTTP (xác minh → tạo tệp → quyết toán). Bạn chỉ bị trừ tiền nếu tệp được tạo thành công. Nếu bị bộ lọc nội dung từ chối hoặc quá thời gian, chữ ký sẽ không được gửi lên blockchain và bạn không mất khoản phí nào.

Video hoạt động khác: quá trình render trên Veo hoặc Omni mất từ 1 đến 10 phút, không thể giữ kết nối HTTP liên tục và tiến trình đã khởi chạy phía Google không thể hủy bỏ (phương thức interactions.cancel của họ trả về 501 UNIMPLEMENTED). Do đó, video sẽ được quyết toán trước, trả về job_id và kết quả được truy vấn qua một endpoint miễn phí.

Điều gì xảy ra nếu video đã thanh toán bị bộ lọc an toàn từ chối?

Bạn sẽ nhận được một token hoàn tiền (refund token) có giá trị đầy đủ định dạng bb_rf_…, có hạn trong 90 ngày, áp dụng được cho bất kỳ lượt gọi nào tiếp theo bằng cách truyền vào tham số refund_token. Nếu bạn đã thanh toán $1.30 cho video bị chặn, lượt gọi kế tiếp sẽ được giảm $1.30. Nếu chi phí mới thấp hơn giá trị token, phần dư sẽ được trả lại dưới dạng một token mới.

Đây không phải là khoản hoàn tiền on-chain bằng USDC. Máy chủ của chúng tôi không lưu giữ khóa riêng tư và không thể thực hiện giao dịch chuyển tiền đi, chỉ có thể chấp nhận hoặc từ chối giao dịch đến. Đối với tính an toàn của dịch vụ x402, việc không lưu khóa riêng tư trên máy chủ là một thiết kế bảo mật tối ưu.

Đoạn clip trên được tạo qua endpoint x402 với giá $0.30: mô hình Gemini Omni Flash, thời lượng 3 giây, prompt mô tả cảnh quay liên tục mực lan tỏa trong nước trong bể thủy tinh với ánh sáng dịu từ một phía và âm thanh môi trường trầm ấm. Âm thanh do chính mô hình tự tạo ra.

Cách một tác tử tự động tìm thấy endpoint

Nếu tác tử đã biết URL trực tiếp, nó không cần cơ chế khám phá. Với các tác tử khác, dịch vụ công bố tệp manifest tại /.well-known/x402 (và /.well-known/x402.json).

Manifest liệt kê từng công cụ như một tài nguyên độc lập kèm điều kiện thanh toán, mã định danh mạng theo chuẩn CAIP-2, địa chỉ nhận và bên trung gian. Khối accepts trong manifest ghi mức giá tối thiểu của công cụ thay vì mức trần, giúp ngăn ngừa tác tử vô tình trả thừa tiền khi tra cứu danh mục.

Các danh bạ tác tử cũng quét endpoint bằng các yêu cầu POST rỗng. Máy chủ của chúng tôi phản hồi các yêu cầu này bằng mã 402 kèm hướng dẫn gọi công cụ.

Một danh mục thẻ hồ sơ với một ngăn kéo mở ra để lộ nhãn endpoint phát sáng, minh họa biên tập

Lựa chọn x402 hay tài khoản thông thường?

Hai cánh cửa dẫn vào cùng một căn phòng: một cánh được mở bằng tay gắp cơ khí cầm đồng xu và cánh còn lại bằng bàn tay cầm chìa khóa

Cả hai cách đều kết nối đến cùng các mô hình AI. Hãy lựa chọn theo cấu trúc của tác tử mà bạn xây dựng.

Đặc điểmx402Tài khoản (MCP hoặc web)
Thiết lậpVí có sẵn số dưĐăng ký email, sau đó lấy API key hoặc OAuth
Mỗi lượt gọiKý, thanh toán trực tiếpKhấu trừ từ số dư nạp trước
Thưởng nạp tiềnKhông có5% từ $50+, 10% từ $100+, thêm 10% khi có mã ưu đãi
Lịch sử tạoKhông lưuLịch sử đầy đủ và job ID tái sử dụng được
Chỉnh sửa videoKhông hỗ trợedit_video, tinh chỉnh dạng hội thoại
Phù hợp nhấtLượt gọi đơn lẻ, tác tử tự động hoàn toànDự án liên tục, theo dõi chi phí, lặp lại thử nghiệm

Ưu đãi nạp tiền là một lợi thế đáng kể: nạp $100 kèm mã khuyến mãi sẽ nhận được $120 số dư (tương đương giảm giá 17%), điều mà x402 không có do không lưu số dư tài khoản. Ngược lại, một tác tử độc lập có sẵn ví không cần email và có thể bắt đầu tạo nội dung chỉ sau một lượt gửi yêu cầu.

Nếu bạn thích quản lý bằng tài khoản, MCP server của chúng tôi tương thích tốt với Claude Code, Cursor, VS Code, và trình tạo web hoạt động trực tiếp trên trình duyệt.

Câu hỏi thường gặp

Tôi có cần tài khoản Coinbase để thanh toán không?

Không. Bất kỳ ví EVM nào có USDC trên mạng Base đều có thể thanh toán. Việc quyết toán do bên trung gian xử lý và bạn cũng không cần đăng ký tài khoản với họ.

Điều gì xảy ra nếu yêu cầu tạo bị bộ lọc nội dung chặn?

Với hình ảnh và giọng nói, bạn hoàn toàn không bị trừ tiền vì giao dịch chỉ quyết toán khi tệp đã tạo thành công. Với video, bạn nhận được token hoàn tiền đầy đủ để sử dụng cho các yêu cầu tiếp theo.

Những mạng blockchain và token nào được hỗ trợ?

USDC trên mạng chính Base (Base mainnet), sơ đồ exact. Tệp manifest tại /.well-known/x402 cung cấp CAIP-2 chain id và địa chỉ hợp đồng của token.

Tôi có thể chỉnh sửa video đã tạo qua x402 không?

Không qua x402. Tính năng chỉnh sửa liên kết với các tác vụ trong tài khoản (edit_video trong MCP). Qua x402, bạn luôn có thể tạo các video mới từ đầu.

Báo giá có hiệu lực trong bao lâu?

Thời gian chờ ký mặc định là 300 giây (maxTimeoutSeconds). Mức giá cơ bản tuân theo bảng giá công khai trên trang web và luôn được giữ ổn định.

Hãy thử tạo một bức ảnh trị giá $0.03 trên endpoint đang hoạt động. Nếu máy khách của bạn có thể ký ủy quyền EIP-3009, bạn chỉ cách bức ảnh của mình đúng bốn dòng mã.

apix402agents