Model reference · open weights

Intern-S1-mini

Available as managed deployment LLMs internlm Vision + text 1 variants 8k dl/mo

Intern-S1-mini is an open-weight language model from internlm. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.

Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.

What it is

Makerinternlm
TypeLanguage models
TaskVision + text
Parameters (lead)8.5B
Runs withtransformers
Released2025-08-18
Popularity8k downloads / month
LicenceOpen weights

About

What Intern-S1-mini is

Intern-S1-mini

💻Github Repo🤗Model Collections📜Technical Report🏠Project Page

Introduction

We introduce Intern-S1-mini, a lightweight open-source multimodal reasoning model based on the same techniques as Intern-S1. Built upon an 8B dense language model (Qwen3) and a 0.3B Vision encoder (InternViT), Intern-S1-mini has been further pretrained on 5 trillion tokens of multimodal data, including over 2.5 trillion scientific-domain tokens. This enables the model to retain strong general capabilities while excelling in specialized scientific domains such as interpreting chemical structures, understanding protein sequences, and planning compound synthesis routes, making Intern-S1-mini to be a capable research assistant for real-world scientific applications.

Features

  • Strong performance across language and vision reasoning benchmarks, especially scientific tasks.

  • Continuously pretrained on a massive 5T token dataset, with over 50% specialized scientific data, embedding deep domain expertise.

  • Dynamic tokenizer enables native understanding of molecular formulas and protein sequences.

Performance

We evaluate the Intern-S1-mini on various benchmarks including general datasets and scientific datasets. We report the performance comparison with the recent VLMs and LLMs below.

Intern-S1-miniQwen3-8BGLM-4.1VMiMo-VL-7B-RL-2508
GeneralMMLU-Pro74.7873.757.173.93
 MMMU72.33N/A69.970.4
 MMStar65.2N/A71.572.9
 GPQA65.156250.3260.35
 AIME202484.587636.272.6
 AIME20258067.33264.4
 MathVision51.41N/A53.954.5
 MathVista70.3N/A80.779.4
 IFEval81.158571.5371.4
ScientificSFE35.84N/A43.243.9
 Physics28.76N/A28.328.2
 SmolInstruct32.217.618.116.11
 ChemBench76.4761.156.266.78
 MatBench61.5545.2454.346.9
 MicroVQA56.62N/A50.250.96
 ProteinLMBench58.4759.158.359.8
 MSEarthMCQ58.12N/A50.347.3
 XLRS-Bench51.63N/A49.812.29

We use the OpenCompass and VLMEvalkit to evaluate all models.

Quick Start

Sampling Parameters

We recommend using the following hyperparameters to ensure better results

top_p = 1.0
top_k = 50
min_p = 0.0
temperature = 0.8

Transformers

The following provides demo code illustrating how to generate based on text and multimodal inputs.

Please use transformers>=4.55.2 to ensure the model works normally.

Text input

from transformers import AutoProcessor, AutoModelForCausalLM
import torch

model_name = "internlm/Intern-S1-mini"
processor = AutoProcessor.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype="auto", trust_remote_code=True)

messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "tell me about an interesting physical phenomenon."},
        ],
    }
]

inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt").to(model.device, dtype=torch.bfloat16)

generate_ids = model.generate(**inputs, max_new_tokens=32768)
decoded_output = processor.decode(generate_ids[0, inputs["input_ids"].shape[1] :], skip_special_tokens=True)
print(decoded_output)

Image input

from transformers import AutoProcessor, AutoModelForCausalLM
import torch

model_name = "internlm/Intern-S1-mini"
processor = AutoProcessor.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype="auto", trust_remote_code=True)

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "http://images.cocodataset.org/val2017/000000039769.jpg"},
            {"type": "text", "text": "Please describe the image explicitly."},
        ],
    }
]

inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt").to(model.device, dtype=torch.bfloat16)

generate_ids = model.generate(**inputs, max_new_tokens=32768)
decoded_output = processor.decode(generate_ids[0, inputs["input_ids"].shape[1] :], skip_special_tokens=True)
print(decoded_output)

Video input

Pl

From the published model card. Full card on the HuggingFace links in the sidebar.

Using it via the API

Call it like any OpenAI endpoint

Once AxForge deploys intern-s1-mini for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (intern-s1-mini below is illustrative; you get the exact model name on deployment.)

$ curl -sS https://api.axforge.ai/v1/chat/completions \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"intern-s1-mini","messages":[{"role":"user","content":"Hello"}]}'

Create an account — your API key is available in the console. 5M tokens/month currently included with every new account at launch.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms