Tín dụng, kết quả không xác định và mức sử dụng
Kết quả thành công với gender null bị tính phí theo mức của chế độ đã chọn. Xác thực số điện thoại tốn 1 tín dụng kể cả khi valid là false. Lỗi xác thực trước khi tính phí và dự đoán thất bại không tiêu tốn tín dụng sau khi việc hoàn trả được xác nhận.
Chỉ cần số dư ban đầu dương là đủ để bắt đầu một thao tác đơn lẻ hoặc một lô. Lần tính phí cuối cùng có thể làm số dư âm: 1 tín dụng ban đầu trừ một thao tác AI 2 tín dụng còn lại -1. Số dư bằng 0 hoặc âm sẽ chặn các thao tác bị tính phí mới. Việc hoàn trả vẫn được phép.
Đọc meta.usage.billing_status: not_charged nghĩa là không trừ tín dụng (charged_credits: 0); confirmed nghĩa là đã biết phí thực tính; unconfirmed nghĩa là charged_credits là null và cần kiểm tra kết quả. remaining_credits có thể âm, hoặc null nếu không có. Đây là ảnh chụp số dư tại thời điểm hoàn tất và có thể thay đổi do các yêu cầu đồng thời.
GET /usage miễn phí. Yêu cầu này trả về remaining_credits và expires_at, cùng resets_at, limit và period_seconds khi dùng thử theo IP. Giới hạn dùng thử là 10 và period_seconds là 86400; các trường này là null với tài khoản dùng khóa API. resets_at không phải thời điểm hết hạn gói đăng ký.
V1 và V2 dùng chung một số dư. Các cơ chế ghi số dư hiện có của V1 có thể chạy đồng thời với V2; đừng dựa vào bảo đảm tính phí đúng một lần giữa hai phiên bản.
{
"data": {
"remaining_credits": 9,
"expires_at": "2026-09-26T12:00:00.000Z",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
},
"meta": {
"request_id": "11111111-1111-4111-8111-111111111111",
"duration_ms": 12,
"access": {
"mode": "ip_trial",
"reason": "api_key_missing"
},
"usage": {
"charged_credits": 0,
"remaining_credits": 9,
"billing_status": "not_charged",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
}
}
}Kiểm tra số dư hiện tại
GET /api/v2/usage miễn phí, dùng xác thực Bearer và không có tham số truy vấn. Nếu không gửi khóa, yêu cầu sẽ đọc hạn mức dùng thử theo IP hiện tại.
Chọn ngôn ngữ lập trình. Thiết lập khóa API, sau đó chạy ví dụ trên máy chủ của bạn.
Việc đọc số dư này không tốn tín dụng, nhưng vẫn được tính vào giới hạn yêu cầu.
Trước khi chạy: quyền truy cập và xử lý lỗi
Chạy các ví dụ này trên máy chủ của bạn. Đặt GENDERAPI_API_KEY trong biến môi trường của tiến trình bằng khóa API hiện có. Xác nhận meta.access.mode là api_key: khóa không được nhận diện có thể chuyển sang dùng thử theo IP.
Với phản hồi JSON HTTP 4xx và 5xx, ví dụ giữ nguyên nội dung lỗi và kết thúc với mã thoát khác 0. Kiểm tra code, action và meta.usage.billing_status trước khi thử lại.
Hướng dẫn về lỗi và thử lại →cURL 7.76+ trong shell POSIX. Chạy trong terminal. Tài liệu môi trường chạy
Node.js 22+; fetch tích hợp sẵn. Lưu thành example.mjs và chạy node example.mjs. Tài liệu môi trường chạy
Python 3.10+; thư viện chuẩn. Lưu thành example.py và chạy python3 example.py. Tài liệu môi trường chạy
PHP 8+ với tiện ích mở rộng cURL. Lưu thành example.php và chạy php example.php. Tài liệu môi trường chạy
Java 17+; HTTP client chuẩn. Lưu thành GenderApiExample.java và chạy java GenderApiExample.java. Tài liệu môi trường chạy
Ứng dụng console .NET 8+. Dùng làm Program.cs trong một dự án console, sau đó chạy dotnet run. Tài liệu môi trường chạy
Go 1.22+; thư viện chuẩn. Lưu thành main.go và chạy go run main.go. Tài liệu môi trường chạy
Trường phản hồi số dư
| Trường | Kiểu | Có thể là null | Ví dụ | Mô tả |
|---|---|---|---|---|
data.remaining_credits | integer | Không | 99 | Số dư hiện tại của tài khoản hoặc dùng thử theo IP; có thể âm. |
data.expires_at | string | Có | null | Thời điểm hết hạn của tài khoản hoặc dùng thử, theo UTC (ISO 8601), nếu có. |
data.resets_at | string | Có | "2026-09-27T12:00:00.000Z" | Thời điểm đặt lại dùng thử theo IP, theo UTC (ISO 8601); null với tài khoản dùng khóa API hoặc khi chưa biết. |
data.limit | integer | Có | 10 | Hạn mức dùng thử theo IP; null với tài khoản dùng khóa API. |
data.period_seconds | integer | Có | 86400 | Chu kỳ dùng thử theo IP tính bằng giây; null với tài khoản dùng khóa API. |
Siêu dữ liệu về truy cập, tính phí và yêu cầu
| Trường | Kiểu | Có thể là null | Ví dụ | Mô tả |
|---|---|---|---|---|
meta.request_id | string | Không | "550e8400-e29b-41d4-a716-446655440000" | Mã định danh duy nhất của lần gửi HTTP này; cũng được gửi trong X-Request-ID. |
meta.duration_ms | integer | Không | 42 | Thời gian xử lý yêu cầu tính bằng mili giây. |
meta.access.mode | string | Không | "api_key" | api_key, ip_trial hoặc unauthenticated. Khi dùng tài khoản trả phí, hãy kiểm tra giá trị là api_key. |
meta.access.reason | string | Có | null | Lý do chuyển sang dùng thử: api_key_missing, api_key_invalid hoặc api_key_not_found; trường hợp khác là null. |
meta.usage.charged_credits | integer | Có | 1 | Số tín dụng thực tính. Bằng 0 trước khi tính phí hoặc sau khi hoàn trả toàn bộ đã được xác nhận; null khi việc tính phí chưa được xác nhận. |
meta.usage.remaining_credits | integer | Có | 99 | Số dư khi thao tác hoàn tất. Có thể âm; null khi không có thông tin hoặc việc tính phí chưa được xác nhận. |
meta.usage.billing_status | string | Không | "confirmed" | not_charged, confirmed hoặc unconfirmed. Kiểm tra trường này trước khi thử lại một dự đoán thất bại. |
meta.usage.resets_at | string | Có | "2026-09-27T12:00:00.000Z" | Thời điểm đặt lại dùng thử theo IP, theo UTC (ISO 8601); null với tài khoản dùng khóa API hoặc khi chưa biết. |
meta.usage.limit | integer | Có | 10 | Hạn mức dùng thử theo IP; null với tài khoản dùng khóa API. |
meta.usage.period_seconds | integer | Có | 86400 | Chu kỳ dùng thử theo IP tính bằng giây; null với tài khoản dùng khóa API. |