Api.Airforce
API REFERENCE

モデル

API キーで利用可能なすべてのモデルを、機能フラグ、コンテキスト制限、トークンごとの価格を含めてリストします。

API の残りの部分が依存するものはすべて 1 回の呼び出しで把握できます。どのモデルが images、tools、reasoning、caching を受け付けるか、その context window、トークン単価まで。アプリにモデル一覧をハードコードする代わりに、models endpoint を query して下記の capability flags でフィルタしてください。

created フィールドは一覧取得時の現在のサーバー時刻であり、モデルごとのリリース日ではない点に注意してください。また status フィールドはライブの health を反映するため、長くキャッシュせず再取得してください。

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/'));

オプションのサーバーサイドクエリパラメータが 1 つあります。GET /v1/models?channels=1 はチャネルごとのエイリアスエントリを追加で返します(ルーティングを意識したクライアント向け)。指定しない場合、それらのエイリアスは省略されます。


価格設定フィールド

全て *pricepermilliontokens フィールドは 1,000,000 トークンあたりの整数セントです。 100 万あたりの米ドルを 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 から完全に除外され(管理者を含むすべての呼び出し元に対して)、管理者ツールを通じて正確な名前でのみ呼び出されます。

閲覧可能なビューが必要ですか?

/モデルページ グループ化、検索、価格比較を使用して、同じデータをレンダリングします。