Skip to main content
GET
/
v1
/
models
Models
curl --request GET \
  --url https://api.stratus.run/v1/models

Overview

Stratus X1 supports 2,050+ model combinations across 5 world model sizes and 410+ LLM backends — including every model available through OpenRouter. Native model format: stratus-x1ac-{size}-{llm-model} OpenRouter model format: stratus-x1ac-{size}-{or-provider}/{or-model}
All models are available out of the box. Formation’s shared OpenRouter pool handles LLM calls automatically when no provider key is configured — no external API accounts required. Add your own provider key via LLM Key Management to remove the 25% pool markup and pay providers directly.

How Model Discovery Works

At startup, Stratus queries OpenRouter’s model catalog and registers every available model dynamically. This means every model OpenRouter supports is immediately available as a Stratus model combination — no manual updates required. The 2,050+ total breaks down as:
SourceCountFormat
Native models (OpenAI, Anthropic, Google)~250stratus-x1ac-{size}-{model}
OpenRouter-native models1,800+stratus-x1ac-{size}-{provider}/{model}
Key point: Original model names are unchanged. stratus-x1ac-base-gpt-4o and stratus-x1ac-base-claude-sonnet-4-20250514 work exactly as before. The OpenRouter slash-notation is purely additive.

List Models Endpoint

GET /v1/models
Programmatically retrieve all available Stratus model combinations. This endpoint follows the OpenAI-compatible models list format.

Request

No parameters required. Authentication via Authorization header:
curl https://api.stratus.run/v1/models \
  -H "Authorization: Bearer stratus_sk_live_your_key"

Response Format

{
  "object": "list",
  "data": [
    {
      "id": "stratus-x1ac-small-gpt-4o",
      "object": "model",
      "created": 1702500000,
      "owned_by": "stratus"
    },
    {
      "id": "stratus-x1ac-base-gpt-4o",
      "object": "model",
      "created": 1702500000,
      "owned_by": "stratus"
    },
    {
      "id": "stratus-x1ac-base-deepseek/deepseek-r1",
      "object": "model",
      "created": 1702500000,
      "owned_by": "stratus"
    },
    {
      "id": "stratus-x1ac-base-meta-llama/llama-3.3-70b-instruct",
      "object": "model",
      "created": 1702500000,
      "owned_by": "stratus"
    }
    // ... 2,046 more models
  ]
}

Code Examples

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://api.stratus.run/v1',
  apiKey: process.env.STRATUS_API_KEY
});

const models = await client.models.list();

// Filter for GPT-4o models
const gpt4oModels = models.data.filter(m =>
  m.id.includes('gpt-4o') && !m.id.includes('mini')
);

console.log('Available GPT-4o models:');
gpt4oModels.forEach(model => console.log(`  - ${model.id}`));

// Filter for OpenRouter-native models (contain a slash)
const orModels = models.data.filter(m => m.id.includes('/'));
console.log(`\nOpenRouter models: ${orModels.length}`);

// Find base size models
const baseModels = models.data.filter(m => m.id.includes('-base-'));
console.log(`Base models: ${baseModels.length}`);

Use Cases

Dynamic Model Selection:
async function selectOptimalModel(task: string) {
  const models = await client.models.list();

  // For complex reasoning — use a frontier model via OpenRouter
  if (task.includes('analyze') || task.includes('debug')) {
    return models.data.find(m => m.id.includes('claude-opus-4-5'))
      || models.data.find(m => m.id.includes('deepseek/deepseek-r1'));
  }

  // For fast prototyping
  if (process.env.NODE_ENV === 'development') {
    return models.data.find(m => m.id.includes('gpt-4o-mini'));
  }

  // Default: production-ready
  return models.data.find(m => m.id === 'stratus-x1ac-base-gpt-4o');
}
Model Availability Check:
def is_model_available(model_name: str) -> bool:
    models = client.models.list()
    return any(m.id == model_name for m in models.data)

if is_model_available('stratus-x1ac-large-claude-sonnet-4-5'):
    print('✅ Model available')
else:
    print('❌ Model not loaded - contact support')
UI Model Picker:
// Build model picker for UI
const models = await client.models.list();

const grouped = models.data.reduce((acc, model) => {
  if (model.id.includes('gpt')) {
    acc.openai = acc.openai || [];
    acc.openai.push(model.id);
  } else if (model.id.includes('claude')) {
    acc.anthropic = acc.anthropic || [];
    acc.anthropic.push(model.id);
  } else {
    acc.embeddings = acc.embeddings || [];
    acc.embeddings.push(model.id);
  }
  return acc;
}, {});

console.log(grouped);
// {
//   openai: ['stratus-x1ac-small-gpt-4o', ...],
//   anthropic: ['stratus-x1ac-small-claude-sonnet-4-5', ...],
//   embeddings: ['stratus-x1ac-small', 'stratus-x1ac-base', ...]
// }
The /v1/models endpoint returns all 2,050+ model combinations dynamically. The list is refreshed at startup from OpenRouter’s catalog, so your code always works with the latest available models without hardcoding.

Model Sizes

small

Smallest model variant - fastest inference

base

Currently in production - balanced performance

large

Large model variant - extended context

xl

Extra-large variant - maximum context

huge

Largest model variant - research-grade capacity

Embedding-Only Models

Use these for world model embeddings without LLM text generation.
stratus-x1ac-small
stratus-x1ac-base      # Currently loaded in production
stratus-x1ac-large
stratus-x1ac-xl
stratus-x1ac-huge
Embedding-only models return Stratus world model representations without requiring LLM API keys.

OpenAI Models

stratus-x1ac-small-gpt-4o-mini
stratus-x1ac-base-gpt-4o-mini  # Best for prototyping
stratus-x1ac-large-gpt-4o-mini
stratus-x1ac-xl-gpt-4o-mini
stratus-x1ac-huge-gpt-4o-mini
Optimized for speed and cost - ideal for development.
stratus-x1ac-small-gpt-4-turbo
stratus-x1ac-base-gpt-4-turbo
stratus-x1ac-large-gpt-4-turbo
stratus-x1ac-xl-gpt-4-turbo
stratus-x1ac-huge-gpt-4-turbo
stratus-x1ac-small-gpt-4
stratus-x1ac-base-gpt-4
stratus-x1ac-large-gpt-4
stratus-x1ac-xl-gpt-4
stratus-x1ac-huge-gpt-4
stratus-x1ac-small-gpt-3.5-turbo
stratus-x1ac-base-gpt-3.5-turbo
stratus-x1ac-large-gpt-3.5-turbo
stratus-x1ac-xl-gpt-3.5-turbo
stratus-x1ac-huge-gpt-3.5-turbo
OpenAI models are accessible without an OpenAI API key — Formation’s pool routes the request automatically. To remove the 25% pool markup and pay OpenAI directly, store your own key via LLM Key Management.

Anthropic Models

stratus-x1ac-small-claude-sonnet-4-5
stratus-x1ac-base-claude-sonnet-4-5    # Production quality
stratus-x1ac-large-claude-sonnet-4-5
stratus-x1ac-xl-claude-sonnet-4-5
stratus-x1ac-huge-claude-sonnet-4-5
Maps to claude-sonnet-4-5-20250929 - Best reasoning capabilities.
stratus-x1ac-small-claude-opus-4-5
stratus-x1ac-base-claude-opus-4-5      # Research-grade
stratus-x1ac-large-claude-opus-4-5
stratus-x1ac-xl-claude-opus-4-5
stratus-x1ac-huge-claude-opus-4-5
Maps to claude-opus-4-5-20251101 - Most capable model available.
stratus-x1ac-small-claude-haiku-4-5
stratus-x1ac-base-claude-haiku-4-5
stratus-x1ac-large-claude-haiku-4-5
stratus-x1ac-xl-claude-haiku-4-5
stratus-x1ac-huge-claude-haiku-4-5
Maps to claude-haiku-4-5-20251001 - Optimized for speed.
Sonnet 4:
stratus-x1ac-{small|base|large|xl|huge}-claude-sonnet-4
Maps to claude-sonnet-4-20250514Opus 4:
stratus-x1ac-{small|base|large|xl|huge}-claude-opus-4
Maps to claude-opus-4-20250514
3.7 Sonnet:
stratus-x1ac-{small|base|large|xl|huge}-claude-3-7-sonnet
Maps to claude-3-7-sonnet-202502193.5 Sonnet (upgraded to 3.7):
stratus-x1ac-{small|base|large|xl|huge}-claude-3-5-sonnet
Maps to claude-3-7-sonnet-20250219
Opus (upgraded to Opus 4):
stratus-x1ac-{small|base|large|xl|huge}-claude-3-opus
Maps to claude-opus-4-20250514Sonnet (upgraded to 3.7):
stratus-x1ac-{small|base|large|xl|huge}-claude-3-sonnet
Maps to claude-3-7-sonnet-20250219Haiku:
stratus-x1ac-{small|base|large|xl|huge}-claude-3-haiku
Maps to claude-3-5-haiku-20241022
Anthropic models are accessible without an Anthropic API key — Formation’s pool routes the request automatically. To remove the 25% pool markup and pay Anthropic directly, store your own key via LLM Key Management.

OpenRouter Models (1,800+)

Every model in OpenRouter’s catalog is available via the slash-notation format: stratus-x1ac-{size}-{or-provider}/{or-model}. All OpenRouter models are routed through Formation’s pool by default. Supply your own openrouter_key via LLM Key Management or the X-OpenRouter-Key header to bypass the 25% pool markup.
stratus-x1ac-base-deepseek/deepseek-r1
stratus-x1ac-base-deepseek/deepseek-r1-distill-llama-70b
stratus-x1ac-base-deepseek/deepseek-chat-v3-0324
State-of-the-art reasoning models from DeepSeek. DeepSeek-R1 matches frontier reasoning at a fraction of the cost.
stratus-x1ac-base-meta-llama/llama-3.3-70b-instruct
stratus-x1ac-base-meta-llama/llama-3.1-405b-instruct
stratus-x1ac-base-meta-llama/llama-4-maverick
stratus-x1ac-base-meta-llama/llama-4-scout
Open-weight models from Meta. Llama 3.3 70B offers strong performance at low cost.
stratus-x1ac-base-google/gemini-2.5-pro
stratus-x1ac-base-google/gemini-2.5-flash
stratus-x1ac-base-google/gemini-2.0-flash-001
stratus-x1ac-base-google/gemini-flash-1.5-8b
Google’s Gemini family via OpenRouter routing. For direct Google API keys, use the native google/gemini-* format with X-Google-Key.
stratus-x1ac-base-mistralai/mistral-large-2411
stratus-x1ac-base-mistralai/mistral-small-3.1-24b-instruct
stratus-x1ac-base-mistralai/mistral-nemo
stratus-x1ac-base-mistralai/codestral-2501
Mistral’s frontier and efficient models. Codestral is optimized for code generation.
stratus-x1ac-base-qwen/qwen-2.5-72b-instruct
stratus-x1ac-base-qwen/qwen-2.5-coder-32b-instruct
stratus-x1ac-base-qwen/qwq-32b
stratus-x1ac-base-qwen/qwen-max
Alibaba’s Qwen series. QwQ-32B is a strong reasoning model; Qwen-2.5-Coder leads code benchmarks.
stratus-x1ac-base-x-ai/grok-4
stratus-x1ac-base-x-ai/grok-3-beta
stratus-x1ac-base-x-ai/grok-3-mini-beta
xAI’s Grok models. Grok-4 is the most capable variant.
stratus-x1ac-base-perplexity/sonar-pro
stratus-x1ac-base-perplexity/sonar-reasoning-pro
stratus-x1ac-base-perplexity/sonar
Perplexity’s Sonar models combine LLM reasoning with real-time web search grounding.
stratus-x1ac-base-amazon/nova-pro-v1
stratus-x1ac-base-amazon/nova-lite-v1
stratus-x1ac-base-amazon/nova-micro-v1
Amazon’s Nova family — Nova Pro for production-quality tasks, Nova Micro for ultra-low latency.
stratus-x1ac-base-cohere/command-a
stratus-x1ac-base-cohere/command-r-plus-08-2024
stratus-x1ac-base-cohere/command-r7b-12-2024
Cohere’s Command series. Command-A is their most capable model; Command-R is optimized for RAG.
stratus-x1ac-base-nvidia/llama-3.1-nemotron-70b-instruct
stratus-x1ac-base-nvidia/llama-3.1-nemotron-ultra-253b-v1
Nvidia’s fine-tuned Llama variants, optimized for instruction following and helpfulness.
OpenRouter’s full catalog — including Nous Research, MythoMax, WizardLM, Yi, Phi, Falcon, and more — is available. Use GET /v1/models to enumerate all available IDs.
# List all available models
curl https://api.stratus.run/v1/models \
  -H "Authorization: Bearer $STRATUS_API_KEY" \
  | jq '.data[].id' | grep '/'
The OpenRouter model list is refreshed at startup. Use GET /v1/models to see what is currently available. All OR models use Formation’s pool by default — supply your own openrouter_key to route directly and remove the 25% markup.

Model Selection Guide

Fast Prototyping

stratus-x1ac-base-gpt-4o-miniFastest and cheapest - ideal for development

Production Quality

stratus-x1ac-base-gpt-4oBest balance of speed and quality

Maximum Reasoning

stratus-x1ac-base-claude-opus-4-5Most capable reasoning available

Complex Tasks

stratus-x1ac-xl-claude-sonnet-4-5Extended context for complex workflows

Open-Weight / Cost-Efficient

stratus-x1ac-base-meta-llama/llama-3.3-70b-instructStrong open-weight model at low cost

Deep Reasoning

stratus-x1ac-base-deepseek/deepseek-r1Chain-of-thought reasoning matching frontier quality

Usage Examples

Embedding Only

from openai import OpenAI

client = OpenAI(
    base_url="https://api.stratus.run/v1",
    api_key=os.environ["STRATUS_API_KEY"]
)

response = client.embeddings.create(
    model="stratus-x1ac-base",
    input="Navigate to github.com and find the latest release"
)

With GPT-4o

response = client.chat.completions.create(
    model="stratus-x1ac-base-gpt-4o",
    messages=[
        {"role": "user", "content": "Help me debug this React component"}
    ]
)

With Claude Sonnet 4.5

response = client.chat.completions.create(
    model="stratus-x1ac-base-claude-sonnet-4-5",
    messages=[
        {"role": "user", "content": "Explain how state machines work"}
    ]
)

With DeepSeek R1 (via OpenRouter)

response = client.chat.completions.create(
    model="stratus-x1ac-base-deepseek/deepseek-r1",
    messages=[
        {"role": "user", "content": "Reason through this multi-step planning problem"}
    ]
)

With Llama 3.3 70B (via OpenRouter)

response = client.chat.completions.create(
    model="stratus-x1ac-base-meta-llama/llama-3.3-70b-instruct",
    messages=[
        {"role": "user", "content": "Summarize the key actions on this page"}
    ]
)

With Gemini 2.5 Pro (via OpenRouter)

const response = await client.chat.completions.create({
  model: 'stratus-x1ac-base-google/gemini-2.5-pro',
  messages: [
    { role: 'user', content: 'Analyze this multi-step workflow' }
  ]
});

Multi-Step Rollout

import requests

response = requests.post(
    "https://api.stratus.run/v1/rollout",
    headers={
        "Authorization": f"Bearer {os.environ['STRATUS_API_KEY']}",
        "Content-Type": "application/json"
    },
    json={
        "goal": "Find the latest TypeScript documentation for generics",
        "max_steps": 3
    }
)

Production Status

Currently Deployed: api.stratus.run has the base size loaded.To use other sizes (small, large, xl, huge), contact support to load additional checkpoint files.

Health Check

curl https://api.stratus.run/health
Response:
{
  "status": "healthy",
  "stratus_models_loaded": ["base"],
  "llm_providers": ["openai", "anthropic", "openrouter"],
  "vault": "connected",
  "version": "1.0.0",
  "git_sha": "abc1234"
}

Pricing

Pricing varies by:
  • Stratus size (small < base < large < xl < huge)
  • LLM provider (OpenAI vs Anthropic)
  • LLM model (mini < standard < opus)
Contact support for detailed pricing information.

API Reference

Chat Completions

OpenAI-compatible chat endpoint

Embeddings

World model embeddings endpoint

Rollout

Multi-step planning endpoint

Errors

Error codes and handling