DeepSeek Janus: The Unified Multimodal Model Explained

If you are looking for an open-weight model that can both describe an image and generate one from a prompt, DeepSeek Janus is the family worth knowing about. Most multimodal systems pick a side: vision-language models read pictures, diffusion models draw them. DeepSeek Janus does both, using a single transformer with two separate visual encoders. The most recent release listed in the Janus GitHub README is Janus-Pro, announced on 27 January 2025; on DeepSeek’s own evaluations its 7B model posts higher GenEval and DPG-Bench scores than DALL-E 3 and Stable Diffusion 3 Medium. This guide covers what Janus is, how the architecture differs from typical vision-language models, the benchmark numbers in context, and how to run it locally or try it in a browser.
What DeepSeek Janus is

DeepSeek Janus is a family of open-weight multimodal models that handle both image understanding (look at a picture, answer questions about it) and image generation (text-to-image) inside a single autoregressive transformer. In DeepSeek’s words, Janus “is a novel autoregressive framework that unifies multimodal understanding and generation”: it decouples visual encoding into separate pathways while still using one unified transformer, which “alleviates the conflict between the visual encoder’s roles in understanding and generation” and makes the framework more flexible.
The line is separate from DeepSeek’s chat models. If you want a hosted chat or coding model, the current API models are deepseek-flash and deepseek-v4-pro — see the DeepSeek V4 models overview and DeepSeek V4-Pro. Janus is the multimodal research line — closer in spirit to DeepSeek VL2, but with image generation added to the mix.
Architecture and lineage
The Janus family has had three releases. The original Janus paper appeared on arXiv on 17 October 2024 (the README’s 20 October 2024 entry records a tokenizer fix and the Gradio demo). JanusFlow, “a new unified model with rectified flow for image generation”, followed on 13 November 2024. Janus-Pro, announced on 27 January 2025, is described in the README as “an advanced version of Janus, improving both multimodal understanding and visual generation significantly”; its paper (arXiv 2501.17811) was posted on 29 January 2025. No newer Janus release is listed in the README as of 26 October 2026.
Decoupled visual encoding — the core trick
Most earlier unified multimodal models, such as Chameleon, use one image encoder for both reading and drawing. The Janus paper argues that the two jobs need information at different levels of granularity, so a single encoder forces a compromise, particularly for understanding. Janus therefore uses different encoders for each task. For image understanding it uses SigLIP to encode images into semantic features. For generation, a separate VQ tokenizer turns target images into discrete IDs that the transformer can predict autoregressively.
Concretely, per the Janus-Pro model card: for multimodal understanding, Janus-Pro uses SigLIP-L as the vision encoder, which supports 384 × 384 image input; for image generation it uses the LlamaGen tokenizer with a downsample rate of 16 (the paper gives a codebook size of 16,384). Both pathways feed the same shared transformer, which is built on DeepSeek-LLM base models.
Sizes and parameter counts
Janus-Pro ships in two sizes that share the same architecture and differ only in backbone scale. The model card says Janus-Pro “is constructed based on the DeepSeek-LLM-1.5b-base/DeepSeek-LLM-7b-base”. The paper’s configuration table lists a 4,096-token context window and a 100K vocabulary for both, with 24 layers and 16 attention heads for the 1B model and 30 layers and 32 heads for the 7B model. DeepSeek reports that training took about 9 days (1.5B) and 14 days (7B) on clusters of 16 and 32 nodes, each with eight Nvidia A100 (40 GB) GPUs.
| Model | Backbone | Image input | Image generation | Announced | Files on Hugging Face (26 Oct 2026) |
|---|---|---|---|---|---|
| Janus (original) | DeepSeek-LLM 1.3B base | SigLIP-L (384×384) | VQ tokenizer | October 2024 | 4.18 GB |
| JanusFlow | DeepSeek-LLM 1.3B base | SigLIP-L (384×384) | Rectified flow + SDXL-VAE (384×384) | 2024-11-13 | 4.10 GB |
| Janus-Pro-1B | DeepSeek-LLM 1.5B base | SigLIP-L (384×384) | VQ tokenizer | 2025-01-27 | 4.18 GB |
| Janus-Pro-7B | DeepSeek-LLM 7B base | SigLIP-L (384×384) | VQ tokenizer | 2025-01-27 | 14.85 GB |
Backbones and encoders are from each model’s Hugging Face card; announcement dates from the Janus GitHub README (the original Janus date is its arXiv posting); file sizes are the sum of each repository’s current files.
Benchmarks: where Janus-Pro actually lands

The Janus-Pro paper benchmarks both sizes on multimodal understanding (POPE, MME-Perception, MMBench, SEED, GQA, MMMU, MM-Vet) and text-to-image generation (GenEval, DPG-Bench). The numbers below come from the paper on arXiv (arXiv:2501.17811, January 2025).
| Benchmark | What it measures | Janus-Pro-7B | Janus-Pro-1B | Comparison (same paper) |
|---|---|---|---|---|
| GenEval (overall) | Text-to-image instruction following | 0.80 | 0.73 | DALL-E 3: 0.67 · SD3-Medium: 0.74 · Janus: 0.61 |
| DPG-Bench (overall) | Dense / detailed prompt accuracy | 84.19 | 82.63 | SD3-Medium: 84.08 · DALL-E 3: 83.50 · Janus: 79.68 |
| MMBench | Multimodal understanding | 79.2 | 75.5 | Janus: 69.4 · TokenFlow-XL: 68.9 · MetaMorph: 75.2 |
| MMMU | Multimodal reasoning | 41.0 | 36.3 | TokenFlow-XL: 38.7 · Janus: 30.5 |
In the paper, Janus-Pro-7B scores 79.2 on MMBench, ahead of the unified models Janus (69.4), TokenFlow (68.9) and MetaMorph (75.2). On GenEval it scores 0.80, ahead of Janus (0.61), DALL-E 3 (0.67) and Stable Diffusion 3 Medium (0.74). On DPG-Bench it scores 84.19, which the paper describes as surpassing all other methods in its table.
All of these results are DeepSeek-reported, from the January 2025 paper, and were not independently reproduced for this article. Weigh them against the limitations below.
Strengths — where Janus wins
- Single model, two jobs. You do not need to run a vision-language model alongside a separate diffusion model. One checkpoint covers both.
- Strong instruction following on text-to-image. The GenEval and DPG-Bench numbers favour Janus-Pro for prompts that demand specific objects, colours, counts and positions.
- Small open weights. The Janus-Pro-7B repository’s current files total about 14.85 GB and Janus-Pro-1B about 4.18 GB on Hugging Face (26 Oct 2026). A community ONNX conversion of the 1B model packages it for Transformers.js, which runs models in the browser.
- Decoupled architecture. Janus-Pro keeps the original Janus’s decoupled encoders; the paper credits an optimised training strategy, expanded (partly synthetic) training data and scaling to the larger 7B backbone for the gains over the original Janus.
Weaknesses — where it falls short
- Low native resolution. The paper’s own conclusion notes that understanding input is limited to 384 × 384, which hurts fine-grained tasks such as OCR, and that generated images (also 384 × 384) “still lack fine details”. Janus-Pro is not a fit for high-resolution output.
- Small faces lose detail. The paper gives the example that small facial regions occupying limited image space may appear under-detailed, and says higher resolution could mitigate this.
- No first-party API. Janus has never been offered on
api.deepseek.com; DeepSeek’s API Change Log lists no Janus model. You self-host or use a demo Space. - Licence is split. See the next section — code is MIT, weights are not.
Licensing — read this before you deploy
This trips people up. Per the Janus-Pro model card, the code repository is licensed under the MIT License, and “the use of Janus-Pro models is subject to DeepSeek Model License”. So the framework is permissive, but the weights carry DeepSeek’s own model licence — which, per the GitHub README, permits commercial use under its terms but is not the same as MIT. (The Hugging Face repository metadata shows an “mit” tag, but the card text is the one to follow.) DeepSeek’s recent language-model releases, such as DeepSeek-V4-Pro-0813 and DeepSeek-V4.1-Flash-1017, publish weights under MIT, but they do not generate images; for Janus, read the model licence and confirm it covers your deployment. More background is in our DeepSeek open-source guide.
How to access DeepSeek Janus

There is no official DeepSeek-hosted API for Janus. You have three practical options.
1. Hugging Face Spaces (no install)
The fastest way to try it. The Janus GitHub README links online demo Spaces for Janus-Pro-7B, Janus and JanusFlow, where you enter a prompt or upload an image in the browser without installing anything; the Janus-Pro-7B Space was running when checked on 26 October 2026. Good for checking whether Janus-Pro is close to what you need.
2. Local Python (Hugging Face Transformers)
Clone the Janus repository, install it with pip install -e . on Python 3.8 or later (per the README), then pull the weights from deepseek-ai/Janus-Pro-7B and load them with the project’s own loader. The opening lines of the README’s understanding example (type hints and comments omitted) are:
import torch
from transformers import AutoModelForCausalLM
from janus.models import MultiModalityCausalLM, VLChatProcessor
from janus.utils.io import load_pil_images
model_path = "deepseek-ai/Janus-Pro-7B"
vl_chat_processor = VLChatProcessor.from_pretrained(model_path)
tokenizer = vl_chat_processor.tokenizer
vl_gpt = AutoModelForCausalLM.from_pretrained(
model_path, trust_remote_code=True
)
vl_gpt = vl_gpt.to(torch.bfloat16).cuda().eval()
For a more general walkthrough of running DeepSeek models on your own hardware, see install DeepSeek locally and the DeepSeek hardware calculator to size GPUs.
3. Browser via Transformers.js (1B only)
The 1B variant is small enough to run client-side. A community conversion, onnx-community/Janus-Pro-1B-ONNX on Hugging Face, ships ONNX weights for Transformers.js — Hugging Face’s library for running models directly in the browser — with examples for both image-to-text and text-to-image. It is not a DeepSeek release, so treat it as a demo path rather than a production one.
How Janus relates to the rest of the API surface
It does not, directly. DeepSeek’s API lists two models today (pricing page, checked 26 October 2026): deepseek-flash, served by DeepSeek-V4.1-Flash-1017, and deepseek-v4-pro, served by DeepSeek-V4-Pro-0813, both on POST /chat/completions at https://api.deepseek.com with a 1M-token context and up to 384K output tokens. deepseek-flash accepts images (JPEG, PNG, GIF and WebP) for understanding tasks such as describing pictures or reading screenshots; deepseek-v4-pro does not. Neither generates images — for text-to-image you still need a model such as Janus-Pro that you run yourself.
The older API names deepseek-chat and deepseek-reasoner were scheduled for retirement on 2026-07-24 at 15:59 UTC and are no longer listed in DeepSeek’s docs; integrations that used them should call deepseek-flash or deepseek-v4-pro. The API is stateless — you resend the conversation history with every request. If you need DeepSeek’s hosted models programmatically, start with the DeepSeek API documentation.
Pricing snapshot
Janus has no DeepSeek-hosted price — the weights are a free download and the cost is whatever GPU time you spend running them. DeepSeek’s per-token API prices apply only to deepseek-flash and deepseek-v4-pro; see our DeepSeek API pricing guide for the current peak and off-peak rates.
Best use cases for Janus
- Interleaved understanding + generation in one workflow. Receive a sketch, describe it, then generate variations from a refined prompt — without juggling two models.
- Educational and research demos. The 1B model is small enough for classroom and browser demos.
- Synthetic data pipelines. Caption-then-render loops for training other models.
- Lightweight content prototyping. See DeepSeek for content creation for adjacent workflows.
Where Janus is the wrong tool: high-resolution output, fine-grained reading such as OCR over high-DPI documents (a job for DeepSeek VL2 or larger multimodal models), or anything where you need a managed API with an SLA.
Comparable alternatives
If Janus is not quite right, there are obvious adjacent choices to weigh up:
- For chat or reasoning workloads — compare DeepSeek vs ChatGPT or DeepSeek vs Claude.
- For other open-weight models — see our open-source AI like DeepSeek roundup.
- For the full DeepSeek line-up — browse the DeepSeek models hub.
Verdict

DeepSeek Janus remains one of the clearer examples of a unified open-weight model that both reads and draws images. Janus-Pro-7B’s DeepSeek-reported GenEval and DPG-Bench numbers are strong for its size, the decoupled-encoder design is a genuine architectural contribution, and the 1B variant is handy for teaching and demos. It is not a replacement for a polished hosted image API, and at 384 × 384 it is not the right model for high-resolution work or fine facial detail — but for research, prototyping and self-hosted multimodal pipelines, it earns a place in the toolbox.
Frequently asked questions
What is DeepSeek Janus used for?
DeepSeek Janus is a unified multimodal model that handles both image understanding and text-to-image generation in a single transformer. Practical uses include captioning images, answering questions about a picture, generating images from text prompts, and building research pipelines that combine the two. It is a self-hosted model rather than a paid API; for DeepSeek’s hosted models, see the DeepSeek API documentation.
How does Janus-Pro compare to DALL-E 3?
In DeepSeek’s Janus-Pro paper (January 2025), Janus-Pro-7B scores 0.80 on GenEval against 0.67 for DALL-E 3, and 84.19 on DPG-Bench against 83.50 — both benchmarks test instruction-following for text-to-image generation. These are DeepSeek-reported results; Janus-Pro also generates at only 384 × 384, so it trades resolution and fine detail for being open-weight and self-hostable. See our broader AI comparison hub for context.
Is DeepSeek Janus free and open source?
The Janus code is MIT-licensed, but the model weights are governed by the separate DeepSeek Model License, which permits commercial use under its terms. That makes Janus open-weight rather than fully MIT-licensed end-to-end. You can download the weights from Hugging Face at no cost; what you pay is your own compute. More on licensing nuances in our DeepSeek open-source guide.
Can I run Janus-Pro-7B locally?
Yes. The GitHub README’s quick start installs the Janus package on Python 3.8 or later and loads Janus-Pro-7B in bfloat16 on a CUDA GPU through Hugging Face Transformers; it also documents a local Gradio demo. The 7B repository’s current files total about 14.85 GB (26 Oct 2026). For deployment guidance that applies to most DeepSeek models, see install DeepSeek locally and the DeepSeek hardware calculator to estimate VRAM needs.
Does DeepSeek offer Janus through its hosted API?
No. DeepSeek’s API Change Log has never listed a Janus model. The hosted API serves deepseek-flash (DeepSeek-V4.1-Flash-1017, which accepts image input) and deepseek-v4-pro (DeepSeek-V4-Pro-0813); the older deepseek-chat and deepseek-reasoner names were scheduled for retirement on 2026-07-24 at 15:59 UTC. Janus is self-hosted only — you run the open weights yourself. See all DeepSeek models for what is available via API versus open weights.
Sources & Methodology
Primary sources
- OfficialDeepSeek API documentationEndpoints, request/response shape, model IDsLast checked: October 26, 2026
- PricingDeepSeek API pricing pagePer-1M-token rates, billing units, cache-hit pricingLast checked: October 26, 2026
- Model cardDeepSeek on Hugging FaceWeights, license, usage notes per modelLast checked: October 26, 2026
- RepositoryDeepSeek-AI on GitHubOpen-weight release details, training/inference notesLast checked: October 26, 2026
- Model cardDeepSeek Janus-Pro-7B model cardBackbone, SigLIP-L 384x384 encoder, LlamaGen tokenizer, licence; file sizes (checked 26 Oct 2026)Last checked: October 26, 2026
- Model cardDeepSeek Janus-Pro-1B model card1B variant weights and file sizeLast checked: October 26, 2026
- Official repositoryJanus GitHub repository (README)Release dates, demo Spaces, 4,096 sequence length, quick-start code, commercial-use noteLast checked: October 26, 2026
Technical references
- Technical reportJanus-Pro paper on arXiv (2501.17811)GenEval, DPG-Bench, MMBench, MMMU tables; architecture table; training setup; limitationsLast checked: October 26, 2026
- Technical reportJanus paper on arXiv (2410.13848)Decoupled visual encoding rationale; original Janus dateLast checked: October 26, 2026
- Technical reportJanusFlow paper on arXiv (2411.07975)Rectified-flow variantLast checked: October 26, 2026
Methodology
Architecture, parameter counts, context window, and license were checked against the official DeepSeek model card and the corresponding technical report. Benchmark figures are reproduced as they appear in vendor materials and are treated as directional indicators rather than guarantees of real-world performance.
Data confidence
High for official architecture and license; medium for vendor-reported benchmarks; low for projected future capabilities.
Editorial note
Vendor-reported figures are not always independently replicated. Benchmarks at the frontier change quickly; expect this article to need a refresh whenever DeepSeek, OpenAI, Anthropic, or Google ship a new model.
