harn-vm 0.8.78

Async bytecode virtual machine for the Harn programming language
Documentation
# MiniMax family ─ pricing pages:
#   https://platform.minimax.io/docs/guides/pricing-paygo
#   https://platform.minimax.io/docs/guides/model-invocation
#   https://platform.minimax.io/docs/api-reference/text-openai-api
#   llm-stats.com/models/minimax-m2-7.
# M3 standard pricing below uses the non-promotional <=512K-input rate:
# $0.60/M input, $2.40/M output, $0.12/M cache-read. MiniMax publishes a
# higher standard tier for >512K input ($1.20/M input, $4.80/M output,
# $0.24/M cache-read), but this catalog's ModelPricing shape is a single
# rate card, so the base standard tier is the source of truth for now.
# OpenRouter's June 2026 launch promotion is intentionally not copied into
# static TOML.
#
# MiniMax M2: 230B total / 10B active MoE shared across M2/M2.5/M2.7.
# Context windows from artificialanalysis.ai/models/minimax-m2-7 (205K).
# Pricing reflects the direct MiniMax API surface; OpenRouter mirrors are
# listed separately below.
#
# Tool calls + thinking-mode are supported (release notes call out
# "agentic harness" support); structured output is delimited (no native
# JSON schema mode), and prompt caching is hit-priced at 20% of input.
tier = "mid"
open_weight = true
strengths = ["speed", "tool_use"]
[models."MiniMax-M3"]
name = "MiniMax M3"
provider = "minimax"
context_window = 1000000
capabilities = ["tools", "vision", "video", "streaming", "thinking", "prompt_caching"]
pricing = { input_per_mtok = 0.60, output_per_mtok = 2.40, cache_read_per_mtok = 0.12 }
tier = "frontier"
open_weight = false
strengths = ["coding", "agentic", "tool_use", "reasoning", "long_context", "vision"]
[models."MiniMax-M2"]
name = "MiniMax M2"
provider = "minimax"
context_window = 204800
capabilities = ["tools", "streaming", "thinking"]
pricing = { input_per_mtok = 0.255, output_per_mtok = 1.00, cache_read_per_mtok = 0.051 }
tier = "mid"
open_weight = true
strengths = ["coding", "agentic", "cheap", "tool_use"]
benchmarks = { aa_intelligence_index = 45.0 }
[models."MiniMax-M2.5"]
name = "MiniMax M2.5"
provider = "minimax"
context_window = 204800
capabilities = ["tools", "streaming", "thinking"]
pricing = { input_per_mtok = 0.28, output_per_mtok = 1.10, cache_read_per_mtok = 0.056 }
tier = "frontier"
open_weight = true
strengths = ["coding", "agentic", "tool_use", "long_context"]
[models."MiniMax-M2.5-highspeed"]
name = "MiniMax M2.5 (highspeed)"
provider = "minimax"
context_window = 204800
capabilities = ["tools", "streaming"]
pricing = { input_per_mtok = 0.28, output_per_mtok = 1.10, cache_read_per_mtok = 0.056 }
tier = "mid"
open_weight = true
strengths = ["speed", "coding", "agentic"]
[models."MiniMax-M2.7"]
name = "MiniMax M2.7"
provider = "minimax"
context_window = 204800
capabilities = ["tools", "streaming", "thinking", "prompt_caching"]
pricing = { input_per_mtok = 0.30, output_per_mtok = 1.20, cache_read_per_mtok = 0.06 }
tier = "frontier"
open_weight = true
strengths = ["coding", "agentic", "tool_use", "reasoning", "long_context"]
benchmarks = { aa_intelligence_index = 50.0 }
[models."MiniMax-M2.7-highspeed"]
name = "MiniMax M2.7 (highspeed)"
provider = "minimax"
context_window = 204800
capabilities = ["tools", "streaming", "prompt_caching"]
pricing = { input_per_mtok = 0.30, output_per_mtok = 1.20, cache_read_per_mtok = 0.06 }
tier = "mid"
open_weight = true
strengths = ["speed", "coding", "agentic"]
[models."MiniMax-Text-01"]
name = "MiniMax Text 01"
provider = "minimax"
context_window = 1000000
capabilities = ["tools", "streaming"]
pricing = { input_per_mtok = 0.20, output_per_mtok = 1.10 }

# MiniMax mirror on OpenRouter — same family, OpenRouter adds margin and
# bundles native-tools passthrough so the openai_chat_completions wire
# format Just Works for callers without a direct MiniMax key. MiniMax M3
# launch-promo rates shown by OpenRouter are excluded from this static
# rate card; the M3 row uses the standard post-promo rate.
tier = "mid"
open_weight = true
strengths = ["long_context"]
[models."minimax/minimax-m3"]
name = "MiniMax M3 (via OpenRouter)"
provider = "openrouter"
context_window = 1048576
capabilities = ["tools", "vision", "video", "streaming", "thinking", "prompt_caching"]
pricing = { input_per_mtok = 0.60, output_per_mtok = 2.40, cache_read_per_mtok = 0.12 }
tier = "frontier"
open_weight = false
strengths = ["coding", "agentic", "tool_use", "reasoning", "long_context", "vision"]
[models."minimax/minimax-m2.7"]
name = "MiniMax M2.7 (via OpenRouter)"
provider = "openrouter"
context_window = 204800
capabilities = ["tools", "streaming"]
pricing = { input_per_mtok = 0.40, output_per_mtok = 1.50 }
tier = "frontier"
open_weight = true
strengths = ["coding", "agentic", "tool_use", "reasoning", "long_context"]
[models."minimax/minimax-m2"]
name = "MiniMax M2 (via OpenRouter)"
provider = "openrouter"
context_window = 204800
capabilities = ["tools", "streaming"]
pricing = { input_per_mtok = 0.33, output_per_mtok = 1.20 }