API запроса баланса аккаунта
Описание эндпоинта
Запрос баланса аккаунта позволяет пользователю проверить баланс своего аккаунта New API со своим ключом API. Этот эндпоинт только запрашивает баланс: он не запускает задачу генерации и ничего не списывает.
Эндпоинт: GET /api/user/balance
Оплата: Бесплатно.
Единица баланса: yuan. В ответе effective_amount уже пересчитано по quota_per_unit в понятную пользователю сумму в юанях.
Параметры запроса
Headers
| Параметр | Тип | Обязательно | Примечания |
|---|---|---|---|
| Authorization | string | да | Bearer YOUR_API_KEY |
Параметры query
Нет.
Примеры запросов
cURL
curl -X GET https://www.suno-api.io/api/user/balance \
-H "Authorization: Bearer YOUR_API_KEY"
Python
import requests
api_key = "YOUR_API_KEY"
response = requests.get(
"https://www.suno-api.io/api/user/balance",
headers={"Authorization": f"Bearer {api_key}"},
timeout=30,
)
response.raise_for_status()
result = response.json()
balance = result["data"]["balance"]
print(balance["formatted_effective_amount"])
Node.js
const apiKey = "YOUR_API_KEY";
const response = await fetch("https://www.suno-api.io/api/user/balance", {
method: "GET",
headers: {
Authorization: `Bearer ${apiKey}`,
},
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const result = await response.json();
console.log(result.data.balance.formatted_effective_amount);
PHP
<?php
$apiKey = "YOUR_API_KEY";
$ch = curl_init("https://www.suno-api.io/api/user/balance");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $apiKey
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response === false) {
throw new Exception(curl_error($ch));
}
curl_close($ch);
$result = json_decode($response, true);
echo $result["data"]["balance"]["formatted_effective_amount"];
?>
Ответ
{
"success": true,
"message": "",
"data": {
"object": "user_balance",
"user": {
"id": 123,
"username": "example",
"quota": 207900000,
"used_quota": 0,
"request_count": 10,
"group": "default",
"status": 1
},
"token": {
"id": 456,
"name": "default",
"group": "default",
"status": 1,
"remain_quota": 207900000,
"used_quota": 0,
"unlimited_quota": true,
"model_limits_enabled": false,
"model_limits": {}
},
"balance": {
"user_quota": 207900000,
"token_quota": 207900000,
"effective_quota": 207900000,
"user_amount": 415.8,
"token_amount": 415.8,
"effective_amount": 415.8,
"amount_unit": "yuan",
"formatted_effective_amount": "415.80 yuan"
},
"display": {
"quota_per_unit": 500000,
"amount_unit": "yuan"
}
}
}
Описание полей
| Поле | Тип | Примечания |
|---|---|---|
balance.user_quota |
number | Исходное значение остатка на аккаунте пользователя |
balance.token_quota |
number | Исходное значение остатка текущего ключа API; ключ с неограниченным лимитом возвращает баланс пользователя |
balance.effective_quota |
number | Исходное значение реально доступного остатка текущего ключа API |
balance.effective_amount |
number | Реально доступная сумма после пересчёта |
balance.amount_unit |
string | Фиксировано: yuan |
balance.formatted_effective_amount |
string | Строка баланса, которую можно показать пользователю как есть |
display.quota_per_unit |
number | Единица пересчёта исходного остатка; сумма = quota / quota_per_unit |
Примечания
- Этот эндпоинт использует тот же ключ API, что и эндпоинты генерации.
- Даже когда остаток ключа API исчерпан, запрос баланса по-прежнему разрешён.
- Отключённые или истёкшие ключи API не могут выполнять запрос.
- Эндпоинт не возвращает USD, CNY,
$или¥, а всегда используетyuan, чтобы избежать недопонимания.
Получить API-ключ
Создайте API-ключ в консоли после регистрации. Одна генерация стоит 0,6 ¥ и возвращает 2 трека, загрузки не ограничены, номер телефона не нужен.
Получить API-ключ Вернуться к обзору