Получить тарифы моделей
Чтение текущего каталога цен моделей в разрезе аккаунта или ключа
Для пользователей из материкового Китая: используйте https://api.toapis.cn в качестве эндпоинта (Base URL). Замените https://api.toapis.com на https://api.toapis.cn во всех примерах этого документа.
Поведение
Возвращает каталог цен на модели, доступный текущему аккаунту, — способ тарификации и цену каждой модели. С api_key_id показывает каталог с точки зрения конкретного ключа.
Используется тот же расчёт каталога, что и в старом GET /v1/pricing, но аутентификация, параметры и структура ответа другие. Каталог отражает текущие тарифы — это не котировка генеративного запроса, и по нему нельзя оценить итог или зафиксировать цену.
Фактические списания описаны в разделе фактическая стоимость и использование задач.
Регион тарифов определяется аккаунтом. region, group, after и параметры генерации не принимаются. Если у аккаунта нет ни одного действующего тарифного региона, возвращается 503, а пустой результат не сохраняется как тарифный регион аккаунта.
Вид аккаунта использует действующую базовую группу аккаунта. При api_key_id дополнительно применяются группа и ограничения моделей целевого ключа. Удалённый, чужой или ограниченный scope ключ даёт 404, недоступная группа — 403 (code=13003).
meta.key_status сообщает только заданное состояние ключа, а не его текущую пригодность.
Полный каталог пропускает модели без подтверждённых цен — отсутствие цены не значит «бесплатно». При запросе конкретной model: вне видимого каталога — 404 (code=16008), видна, но цена не подтверждена — 503 (code=18029), сбой зависимости каталога — 503 (code=18028).
Изменения конфигурации могут инвалидировать курсоры, и одна постраничная выборка не гарантирует единый снимок цен.
Аутентификация
AuthorizationstringзаголовокобязательноИспользуйте Bearer YOUR_SYSTEM_ACCESS_TOKEN. Ключ модели не подходит, X-User-Id не нужен. См. правила доступа.
Параметры запроса
api_key_idstringзапросНеобязательный контекст своего неудаленного обычного ключа. Пропуск использует аккаунт. Отключенный, просроченный или исчерпанный ключ может показывать настройки цен, не гарантируя возможность вызова.
modelstringзапросТочный ID модели, максимум 255 байт.
typestringзапросТип модели: image, video или audio.
limitintegerзапроспо умолчанию: 100Размер страницы, по умолчанию 100, диапазон 1-100.
cursorstringзапросПредыдущий next_cursor, максимум 2048 байт. После изменения фильтров или контекста начните заново.
Примеры запросов
Пример запроса
curl --request GET \
--url 'https://api.toapis.com/api/v1/pricing?type=image&limit=20' \
--header 'Authorization: Bearer YOUR_SYSTEM_ACCESS_TOKEN'import requests
response = requests.get(
"https://api.toapis.com/api/v1/pricing",
headers={"Authorization": "Bearer YOUR_SYSTEM_ACCESS_TOKEN"},
params={"type": "image", "limit": "20"},
timeout=30,
)
response.raise_for_status()
print(response.json())const response = await fetch("https://api.toapis.com/api/v1/pricing?type=image&limit=20", {
method: "GET",
headers: { Authorization: "Bearer YOUR_SYSTEM_ACCESS_TOKEN" },
signal: AbortSignal.timeout(30_000),
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${await response.text()}`);
}
console.log(await response.json());Поля ответа
Данные вымышлены. Общий формат и ошибки описаны в подключении.
data.itemsarrayМодели с id, type и prices.
data.meta.currencystringВалюта, всегда USD.
data.meta.contextstringКонтекст: account или api_key.
data.meta.api_key_idstring | nullID ключа, null для аккаунта.
data.meta.key_statusstring | nullСтатус ключа, null для аккаунта.
data.meta.regionstringДействующий регион: cn или global.
data.has_morebooleanЕсть ли следующая страница.
data.next_cursorstring | nullСледующий курсор, null в конце.
prices[].groupstringГруппа маршрутизации, для которой действует цена. Для API Key с автоматическим выбором группы может вернуться несколько групп.
prices[].conditionsobjectУсловия применения цены, включая значения модели по умолчанию, если они влияют на тарификацию. Запрос генерации должен соответствовать этим значениям.
prices[].charge_typestringper_request, per_second или per_token.
prices[].price_basisstringОснова расчёта: request, output_seconds, output_videos, total_tokens или text_input_tokens.
prices[].unitstringЕдиница цены: request, second, video или 1m_tokens.
prices[].unit_pricestringДействующая цена за единицу в USD в виде десятичной строки. Индивидуальная цена клиента и коэффициент группы уже учтены; не умножайте цену на коэффициент группы повторно.
Цена также может содержать input_unit_price, input_image_unit_price, free_input_image_count, minimum_charge_usd или image_token_prices. Для тарифов по времени могут возвращаться pricing_period, pricing_timezone, pricing_schedule_version и pricing_peak_windows.
Для тарификации токенов изображений объект image_token_prices может содержать text_input, cached_text_input, image_input, cached_image_input и image_output. Все суммы указаны в USD за 1 миллион токенов.
Примеры ответов
Пример ответа
{
"code": 0,
"message": "",
"data": {
"items": [
{
"id": "example-image-model",
"type": "image",
"prices": [
{
"charge_type": "per_request",
"unit": "request",
"unit_price": "0.05",
"price_basis": "request",
"group": "default",
"conditions": {
"size": "1024x1024"
}
}
]
}
],
"has_more": false,
"next_cursor": null,
"meta": {
"currency": "USD",
"context": "account",
"api_key_id": null,
"key_status": null,
"region": "global"
}
}
}