Api.Airforce
API REFERENCE

Модели

Перечислите каждую модель, доступную в вашем ключе API, с указанием флагов возможностей, контекстных ограничений и цен за токен.

Всё, на что опирается остальная часть API, можно узнать из одного вызова: какие модели принимают изображения, tools, reasoning или caching, их context window и цену за token. Запросите models endpoint и фильтруйте по флагам возможностей ниже, вместо того чтобы жёстко прописывать списки моделей в приложении.

Учтите, что поле created — это текущее серверное время выдачи списка, а не дата релиза каждой модели, а поле status отражает актуальное состояние — перезапрашивайте его, а не кэшируйте надолго.

GET /v1/models

Возвращает список моделей, которые вы можете использовать прямо сейчас. Запросы, прошедшие проверку подлинности, включают любые модели для каждого пользователя, которые вы включили на панели мониторинга. Форма отражает форму OpenAI. GET /v1/models с дополнительными полями возможностей Airforce.

GEThttps://api.airforce/v1/models

Пример

curl https://api.airforce/v1/models \
  -H "Authorization: Bearer sk-air-YOUR_API_KEY"

Форма ответа

Конверт верхнего уровня { object: "list", data: Model[] }. Каждый Model содержит поля ниже — поля, помеченные как необязательные, могут быть опущены, если они неизвестны.

ParameterTypeRequiredDescription
idstringOptionalPublic model identifier you pass as the "model" field on every other endpoint, e.g. "claude-sonnet-4.6" or "gpt-5.1-chat".
objectstringOptionalAlways "model".
createdintegerOptionalUnix timestamp at which this listing was generated (current server time) — not a stable per-model creation date.
owned_bystringOptionalVendor name: "openai", "anthropic", "google", "deepseek", …
catalog_idstringOptionalCanonical vendor identifier for the underlying model family (e.g. "anthropic/claude-sonnet-4-6"). Stable across Airforce ID changes.
context_lengthintegerOptionalTotal context window in tokens (input + output).
max_output_tokensintegerOptionalHard cap on a single response. Use this as the upper bound when picking max_tokens.
input_modalitiesarrayOptionalSubset of ["text", "image", "audio", "document", "video"] the model accepts as input.
output_modalitiesarrayOptionalSubset of ["text", "image", "audio", "video"] the model can produce.
supports_chatbooleanOptionalAvailable on /v1/chat/completions and /v1/messages.
supports_streamingbooleanOptionalHonors stream: true.
supports_visionbooleanOptionalAccepts image_url content blocks.
supports_toolsbooleanOptionalAccepts the tools / tool_choice parameters.
supports_reasoningbooleanOptionalHonors reasoning_effort / thinking / thinking_budget.
supports_documentsbooleanOptionalAccepts document content blocks (PDF, etc.).
supports_cachingbooleanOptionalHonors cache_control on Anthropic-style system prompts.
supports_audio_inputbooleanOptionalAccepts audio content blocks (multimodal STT-in-chat).
supports_video_inputbooleanOptionalAccepts video content blocks.
knowledge_cutoffstringOptionalVendor-published knowledge cutoff month, e.g. "2025-09".
statusstringOptionalLive health: "operational" | "degraded" | "partial_outage" | "major_outage" (legacy "stable" / "down" / "offline" may also appear).
pricepermilliontokensintegerOptionalInput cost in cents per 1M tokens. Output side has output_pricepermilliontokens.
cache_read_pricepermilliontokensintegerOptionalDiscounted rate for cache-hit input tokens (Anthropic-style caching).

Пример ответа

{
  "object": "list",
  "data": [
    {
      "id": "claude-sonnet-4.6",
      "object": "model",
      "created": 1740000000,
      "owned_by": "anthropic",
      "catalog_id": "anthropic/claude-sonnet-4-6",
      "context_length": 200000,
      "max_output_tokens": 64000,
      "input_modalities": ["text", "image", "document"],
      "output_modalities": ["text"],
      "supports_chat": true,
      "supports_streaming": true,
      "supports_vision": true,
      "supports_tools": true,
      "supports_reasoning": true,
      "supports_documents": true,
      "supports_caching": true,
      "knowledge_cutoff": "2025-08",
      "status": "operational",
      "pricepermilliontokens": 300,
      "output_pricepermilliontokens": 1500,
      "cache_read_pricepermilliontokens": 30
    }
    // … more models
  ]
}

Фильтрация по возможностям

Фильтрация по возможностям выполняется на стороне клиента с помощью флагов ниже. Самые частые фильтры:

const res = await fetch('https://api.airforce/v1/models', {
  headers: { Authorization: `Bearer ${API_KEY}` },
});
const { data } = await res.json();

// Vision-capable chat models
const visionModels = data.filter(m => m.supports_chat && m.supports_vision);

// Cheapest reasoning model with at least 100k context
const reasoning = data
  .filter(m => m.supports_reasoning && (m.context_length ?? 0) >= 100_000)
  .sort((a, b) => (a.pricepermilliontokens ?? 0) - (b.pricepermilliontokens ?? 0))[0];

// All models from one vendor, by canonical catalog family
const allClaude = data.filter(m => m.catalog_id?.startsWith('anthropic/'));

Существует один необязательный серверный query-параметр: GET /v1/models?channels=1 дополнительно возвращает записи алиасов по каналам (для клиентов, учитывающих маршрутизацию); без него эти алиасы опускаются.


Поля цен

Все *pricepermilliontokens поля представляют собой целые числа центов за 1 000 000 токенов. Разделите на 100, чтобы получить доллары США на миллион.

ParameterTypeRequiredDescription
pricepermilliontokensintegerOptionalInput tokens, cents per 1M.
output_pricepermilliontokensintegerOptionalOutput tokens, cents per 1M.
cache_write_5m_pricepermilliontokensintegerOptionalCache-write rate for 5-minute TTL caches (Anthropic).
cache_write_1h_pricepermilliontokensintegerOptionalCache-write rate for 1-hour TTL caches (Anthropic).
cache_read_pricepermilliontokensintegerOptionalCache-read rate (typically 10× cheaper than uncached input).

Статус модели и прекращение поддержки

ParameterTypeRequiredDescription
operationalstatusOptionalHealthy — recent calls are succeeding. The usual value for an available model.
degradedstatusOptionalCallable, but with elevated errors or latency.
partial_outagestatusOptionalA subset of upstream channels is failing.
major_outagestatusOptionalMost or all calls are currently failing.
stable / down / offlinestatusOptionalLegacy or admin-set values that may also appear.

Жёстко отключённые модели — это не значение статуса: они полностью исключаются из /v1/models (для каждого вызывающего, включая администраторов) и вызываются только по точному имени через административный инструментарий.

Нужен удобный для просмотра вид?

The страница /модели предоставляет те же данные с группировкой, поиском и сравнением цен.