Api.Airforce
API REFERENCE

Modelos

Enumere todos los modelos disponibles en su clave API, completos con indicadores de capacidad, límites de contexto y precios por token.

Todo aquello de lo que depende el resto de la API se puede descubrir con una sola llamada: qué modelos aceptan imágenes, tools, reasoning o caching, su ventana de contexto y su precio por token. Consulta el endpoint de models y filtra por los indicadores de capacidad de abajo en lugar de codificar listas de modelos en tu app.

Ten en cuenta que el campo created es la hora actual del servidor del listado, no una fecha de lanzamiento por modelo, y el campo status refleja el estado en vivo — vuelve a consultarlo en lugar de almacenarlo en caché por mucho tiempo.

GET /v1/models

Devuelve la lista de modelos que puedes usar ahora mismo. Las solicitudes autenticadas incluyen cualquier modelo por usuario que haya habilitado en el panel. La forma refleja la de OpenAI GET /v1/models con campos de capacidad adicionales de Airforce.

GEThttps://api.airforce/v1/models

Ejemplo

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

Forma de respuesta

La envolvente de nivel superior es { object: "list", data: Model[] }. Cada Model tiene los campos a continuación: los campos marcados como opcionales pueden omitirse cuando se desconocen.

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).

Ejemplo de respuesta

{
  "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
  ]
}

Filtrar por capacidad

El filtrado por capacidades se hace en el cliente con los flags de abajo. Los filtros más comunes:

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

Existe un parámetro de consulta opcional del lado del servidor: GET /v1/models?channels=1 devuelve además entradas de alias por canal (para clientes con conocimiento de enrutamiento); sin él esos alias se omiten.


Campos de precios

Todo *pricepermilliontokens Los campos son céntimos enteros por 1 000 000 de tokens. Divida por 100 para obtener dólares por millón.

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).

Estado y obsolescencia del modelo

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.

Los modelos deshabilitados de forma estricta no son un valor de estado — se excluyen por completo de /v1/models (para todos los llamadores, incluidos los administradores) y solo se invocan por nombre exacto mediante herramientas de administración.

¿Quieres una vista navegable?

El /página de modelos presenta estos mismos datos con comparaciones de agrupación, búsqueda y precios.