{
  "object_id": "asca:openrouter-model-page-multimodal-tool-models@2026-08-31.v1",
  "title": "Image-input models with tool-calling support",
  "slug": "multimodal-tool-models",
  "snapshot_date": "2026-08-31",
  "snapshot_time": "2026-08-31T14:20:27.346Z",
  "snapshot_time_zone": "Asia/Seoul",
  "data": {
    "raw_json": "/data/openrouter-models-2026-08-31.json",
    "normalized_csv": "/data/openrouter-models-2026-08-31.csv",
    "raw_sha256": "sha256:b05830e49e69d5126bd8f71cb82f6f81cb414982821b057885df34beea5e4516",
    "csv_sha256": "sha256:28e6ba221b0b2edd9a8ff1f0505404b6890a4ade3151e0d2fbf7137cc14c4659"
  },
  "source_urls": [
    "https://openrouter.ai/api/v1/models?sort=top-weekly"
  ],
  "scope": "Paid models declaring image input, text output, and tools support.",
  "formula_or_selection_rule": "Keep declared image input, text output, tools support, and positive prompt/completion prices; sort by prompt + completion USD per 1M text tokens.",
  "observed_range": {
    "rows": 194,
    "listed_models": 396
  },
  "bias": "Architecture declaration and OpenRouter catalog bias.",
  "limitation": "Declared modalities and tools support do not measure visual quality, tool success, or image-token pricing.",
  "confidence": "high",
  "rows": [
    {
      "id": "nex-agi/nex-n2-mini",
      "name": "Nex AGI: Nex-N2-Mini",
      "rank": 149,
      "model_id": "nex-agi/nex-n2-mini",
      "model_name": "Nex AGI: Nex-N2-Mini",
      "created_at": "2026-06-24T14:56:04.000Z",
      "input_price_per_token_usd": 2.5e-8,
      "output_price_per_token_usd": 1e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.12499999999999999,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 262144,
      "supports_tools": true,
      "supports_structured_outputs": true,
      "input_modalities": [
        "text",
        "image"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 149,
      "rank_throughput": 204,
      "rank_coding": 274,
      "rank_agentic": 268
    },
    {
      "id": "qwen/qwen3.7-flash",
      "name": "Qwen: Qwen3.7 Flash",
      "rank": 52,
      "model_id": "qwen/qwen3.7-flash",
      "model_name": "Qwen: Qwen3.7 Flash",
      "created_at": "2026-07-27T22:16:01.000Z",
      "input_price_per_token_usd": 3e-8,
      "output_price_per_token_usd": 1.3e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.16,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 1000000,
      "supports_tools": true,
      "supports_structured_outputs": false,
      "input_modalities": [
        "text",
        "image",
        "video"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 52,
      "rank_throughput": 88,
      "rank_coding": 363,
      "rank_agentic": 363
    },
    {
      "id": "google/gemma-3-12b-it",
      "name": "Google: Gemma 3 12B",
      "rank": 138,
      "model_id": "google/gemma-3-12b-it",
      "model_name": "Google: Gemma 3 12B",
      "created_at": "2025-03-13T21:50:25.000Z",
      "input_price_per_token_usd": 5e-8,
      "output_price_per_token_usd": 1.5e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.19999999999999998,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 131072,
      "supports_tools": true,
      "supports_structured_outputs": true,
      "input_modalities": [
        "text",
        "image"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 138,
      "rank_throughput": 253,
      "rank_coding": 162,
      "rank_agentic": 151
    },
    {
      "id": "mistralai/ministral-3b-2512",
      "name": "Mistral: Ministral 3 3B 2512",
      "rank": 181,
      "model_id": "mistralai/ministral-3b-2512",
      "model_name": "Mistral: Ministral 3 3B 2512",
      "created_at": "2025-12-02T13:19:20.000Z",
      "input_price_per_token_usd": 1e-7,
      "output_price_per_token_usd": 1e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.19999999999999998,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 131072,
      "supports_tools": true,
      "supports_structured_outputs": true,
      "input_modalities": [
        "text",
        "image"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 181,
      "rank_throughput": 218,
      "rank_coding": 164,
      "rank_agentic": 143
    },
    {
      "id": "rekaai/reka-edge",
      "name": "Reka Edge",
      "rank": 341,
      "model_id": "rekaai/reka-edge",
      "model_name": "Reka Edge",
      "created_at": "2026-03-20T17:16:05.000Z",
      "input_price_per_token_usd": 1e-7,
      "output_price_per_token_usd": 1e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.19999999999999998,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 16384,
      "supports_tools": true,
      "supports_structured_outputs": true,
      "input_modalities": [
        "image",
        "text",
        "video"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 341,
      "rank_throughput": 271,
      "rank_coding": 365,
      "rank_agentic": 365
    },
    {
      "id": "google/gemini-2.5-flash-lite:batch",
      "name": "Google: Gemini 2.5 Flash Lite (batch)",
      "rank": 215,
      "model_id": "google/gemini-2.5-flash-lite:batch",
      "model_name": "Google: Gemini 2.5 Flash Lite (batch)",
      "created_at": "2025-07-22T16:04:36.000Z",
      "input_price_per_token_usd": 5e-8,
      "output_price_per_token_usd": 2e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.24999999999999997,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 1048576,
      "supports_tools": true,
      "supports_structured_outputs": true,
      "input_modalities": [
        "text",
        "image",
        "file",
        "audio",
        "video"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 215,
      "rank_throughput": 346,
      "rank_coding": 219,
      "rank_agentic": 208
    },
    {
      "id": "qwen/qwen3.5-9b",
      "name": "Qwen: Qwen3.5-9B",
      "rank": 101,
      "model_id": "qwen/qwen3.5-9b",
      "model_name": "Qwen: Qwen3.5-9B",
      "created_at": "2026-03-10T14:19:56.000Z",
      "input_price_per_token_usd": 1e-7,
      "output_price_per_token_usd": 1.5e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.25,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 262144,
      "supports_tools": true,
      "supports_structured_outputs": true,
      "input_modalities": [
        "text",
        "image",
        "video"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 101,
      "rank_throughput": 257,
      "rank_coding": 118,
      "rank_agentic": 118
    },
    {
      "id": "mistralai/mistral-small-3.2-24b-instruct",
      "name": "Mistral: Mistral Small 3.2 24B",
      "rank": 125,
      "model_id": "mistralai/mistral-small-3.2-24b-instruct",
      "model_name": "Mistral: Mistral Small 3.2 24B",
      "created_at": "2025-06-20T18:10:16.000Z",
      "input_price_per_token_usd": 7.5e-8,
      "output_price_per_token_usd": 2e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.27499999999999997,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 131072,
      "supports_tools": true,
      "supports_structured_outputs": true,
      "input_modalities": [
        "image",
        "text"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 125,
      "rank_throughput": 236,
      "rank_coding": 267,
      "rank_agentic": 260
    },
    {
      "id": "amazon/nova-lite-v1",
      "name": "Amazon: Nova Lite 1.0",
      "rank": 189,
      "model_id": "amazon/nova-lite-v1",
      "model_name": "Amazon: Nova Lite 1.0",
      "created_at": "2024-12-05T22:22:43.000Z",
      "input_price_per_token_usd": 6e-8,
      "output_price_per_token_usd": 2.4e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.3,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 300000,
      "supports_tools": true,
      "supports_structured_outputs": false,
      "input_modalities": [
        "text",
        "image"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 189,
      "rank_throughput": 58,
      "rank_coding": 182,
      "rank_agentic": 170
    },
    {
      "id": "meta/muse-spark-1.2-contributor",
      "name": "Meta: Muse Spark 1.2 Contributor",
      "rank": 43,
      "model_id": "meta/muse-spark-1.2-contributor",
      "model_name": "Meta: Muse Spark 1.2 Contributor",
      "created_at": "2026-08-21T18:21:16.000Z",
      "input_price_per_token_usd": 1e-7,
      "output_price_per_token_usd": 2e-7,
      "request_price_per_request_usd": 0,
      "derived_cost_usd": 0.3,
      "derived_cost_basis": "$ per 1M input + 1M output text tokens",
      "context_tokens": 1048576,
      "supports_tools": true,
      "supports_structured_outputs": true,
      "input_modalities": [
        "text",
        "image",
        "video",
        "file",
        "audio"
      ],
      "output_modalities": [
        "text"
      ],
      "rank_top_weekly": 43,
      "rank_throughput": 34,
      "rank_coding": 249,
      "rank_agentic": 242
    }
  ]
}
