Model reference · open weights

JanusCoderV

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

JanusCoderV 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

Released byinternlm
TypeLanguage models
TaskVision + text
Parameters (lead)8.3B
Context125k tokens
Runs withtransformers
Released2025-10-27
Popularity581 downloads / month
LicenceOpen weights

About

What JanusCoderV is

💻Github Repo🤗Model Collections📜Technical Report

Introduction

We introduce JanusCoder and JanusCoderV, a suite of open-source foundational models designed to establish a unified visual-programmatic interface for code intelligence. This model suite is built upon open-source language models (such as Qwen3-8B and 14B) and multimodal models (such as Qwen2.5-VL and InternVL3.5-8B). The JanusCoder series is trained on JANUSCODE-800K—the largest multimodal code corpus to date, generated by an innovative synthesis toolkit, covering everything from standard charts to complex interactive Web UIs and code-driven animations. This enables the models to uniformly handle diverse visual-programmatic tasks, such as generating code from textual instructions, visual inputs, or a combination of both, rather than building specialized models for isolated tasks. JanusCoder excels at flexible content generation (like data visualizations and interactive front-ends) as well as precise, program-driven editing of visual effects and complex animation construction.

Read the full model card

Model Downloads

Model NameDescriptionDownload
JanusCoder-8B8B text model based on Qwen3-8B.🤗 Model
JanusCoder-14B14B text model based on Qwen3-14B.🤗 Model
👉 JanusCoderV-7B7B multimodal model based on Qwen2.5-VL-7B.🤗 Model
JanusCoderV-8B8B multimodal model based on InternVL3.5-8B.🤗 Model

Performance

We evaluate the JanusCoderV model on various benchmarks that span multimodal code intelligence tasks on multiple PLs:

ModelJanusCoderV-7BQwen2.5VL-7B-InstructInternVL3-8BInternVL3.5-8BMiniCPM-V-2-6Llama3.2-11B-Vision-InstructGPT-4o
ChartMimic (Customized)72.7758.6960.0459.5548.1839.6367.42
DesignBench (Gen)73.3172.7369.3471.7366.2562.2476.83
DesignBench (Edit)8.796.857.768.634.566.619.23
WebCode2M26.2112.8312.4011.959.736.5713.00
InteractScience (Func.)17.738.408.9311.470.136.6727.20
InteractScience (Visual)27.6719.8353.3524.177.7013.2446.01

Quick Start

Transformers

The following provides demo code illustrating how to generate text using JanusCoderV-7B.

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

from transformers import AutoProcessor, AutoModelForCausalLM
import torch

model_name = "internlm/JanusCoderV-7B"
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)

Citation

🫶 If you are interested in our work or find the repository / checkpoints / benchmark / data helpful, please consider using the following citation format when referencing our papers:

@article{sun2025januscoder,
  title={JanusCoder: Towards a Foundational Visual-Programmatic Interface for Code Intelligence},
  author={Sun, Qiushi and Gong, Jingyang and Liu, Yang and Chen, Qiaosheng and Li, Lei and Chen, Kai and Guo, Qipeng and Kao, Ben and Yuan, Fei},
  journal={arXiv preprint arXiv:2510.23538},
  year={2025}
}

@article{sun2024survey,
  title={A survey of neural code intelligence: Paradigms, advances and beyond},
  author={Sun, Qiushi and Chen, Zhirui and Xu, Fangzhi and Cheng, Kanzhi and Ma, Chang and Yin, Zhangyue and Wang, Jianing and Han, Chengcheng and Zhu, Renyu and Yuan, Shuai and others},
  journal={arXiv preprint arXiv:2403.14734},
  year={2024}
}

@article{chen2025interactscience,
  title={InteractScience: Programmatic and Visually-Grounded Evaluation of Interactive Scientific Demonstration Code Generation},
  author={Chen, Qiaosheng and Liu, Yang and Li, Lei and Chen, Kai and Guo, Qipeng and Cheng, Gong and Yuan, Fei},
  journal={arXiv preprint arXiv:2510.09724},
  year={2025}
}

@article{sun2025codeevo,
  title={CodeEvo: Interaction-Driven Synthesis of Code-centric Data through Hybrid and Iterative Feedback},
  author={Sun, Qiushi and Gong, Jinyang and Li, Lei and Guo, Qipeng and Yuan, Fei},
  journal={arXiv preprint arXiv:2507.22080},
  year={2025}
}

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 januscoderv for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (januscoderv 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":"januscoderv","messages":[{"role":"user","content":"Hello"}]}'

Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.

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