ToAPIsToAPIs
Тарифы и расходы

Получить тарифы моделей

Чтение текущего каталога цен моделей в разрезе аккаунта или ключа

GET
/api/v1/pricing

Для пользователей из материкового Китая: используйте 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 | null

ID ключа, 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_typestring

per_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"
    }
  }
}