DeepSeek released Janus-Pro on January 27, 2025 — less than two weeks after the DeepSeek R1 reasoning model that dominated discussion of Chinese AI. Janus-Pro addresses a different problem entirely: how do you build a single model that's good at both reading images and generating them?
The answer isn't to share everything. It's to deliberately separate the parts that shouldn't share.
The Core Problem: Unified Models Fight Themselves

Most unified multimodal models use the same visual encoder for both understanding and generation tasks. This seems efficient — one encoder, two uses — but it creates a fundamental tension. The representation you need to understand an image (high-level semantic features, object relationships, scene context) is different from the representation you need to generate one (pixel-level dependencies, spatial layout, texture statistics).
When you force a single encoder to serve both purposes, you get a model that's mediocre at both. The encoder learns a compromise representation that's neither optimal for understanding nor for generation.
Janus (the original, 1B) introduced the solution: decouple visual encoding. Use different encoders for understanding and generation, but route both through a single unified autoregressive transformer for the actual reasoning and prediction. This eliminates the representational conflict without requiring separate model stacks.
Janus-Pro scales and refines the Janus architecture across three dimensions: an optimized training strategy, expanded training data, and a 7B parameter variant that demonstrates the approach scales.
Architecture: Decoupled Visual Encoding

The architecture has three components working in sequence:
Understanding pathway: For image understanding tasks (VQA, visual reasoning, multimodal chat), Janus-Pro uses a SigLIP encoder to extract high-dimensional semantic features from input images. These features are flattened from 2D grid to 1D sequence, then mapped into the LLM's input space via an understanding adaptor.
Generation pathway: For text-to-image generation tasks, Janus-Pro uses a VQ (Vector Quantization) tokenizer — the same type used in image generation models — to convert images into discrete token IDs. A separate generation adaptor maps codebook embeddings into the LLM's input space.
Unified transformer: Both pathways converge at the LLM, which processes the combined multimodal feature sequence autoregressively. The LLM has two prediction heads: its built-in language head for text, and a separately initialized image prediction head for visual generation tokens.
The key insight is where the decoupling happens: before the transformer, not after. The transformer sees a unified representation regardless of task type; the task-specific work happens in the encoder layer.
| Component | Understanding | Generation |
|---|---|---|
| Visual encoder | SigLIP (semantic features) | VQ tokenizer (discrete IDs) |
| Adaptor | Understanding adaptor | Generation adaptor |
| Shared core | Autoregressive transformer | Autoregressive transformer |
| Prediction head | LLM built-in head | Separately initialized image head |
Model sizes:
| Variant | Parameters | Hardware requirement |
|---|---|---|
| Janus-Pro-1B | 1B | Consumer GPU; runs in browser (WebGPU via Transformers.js) |
| Janus-Pro-7B | 7B | High-end GPU (A100 class) or Apple Silicon Mac ~18GB RAM |
Training Strategy: Three Improvements Over Janus
The original Janus used a three-stage training process with a specific issue in Stage II: 66.67% of text-to-image training steps were allocated to ImageNet data (using category names as prompts) before switching to normal text-to-image data. This split proved suboptimal — computationally inefficient without proportional benefit.
Janus-Pro makes two changes:
Longer Stage I (adaptor training): Extended training steps in Stage I allow the model to learn pixel dependence from ImageNet data while the LLM parameters stay fixed. This front-loads the ImageNet learning to the stage where it causes least interference.
Focused Stage II (unified pretraining): ImageNet data is dropped from Stage II entirely. Stage II trains directly on normal text-to-image data for instruction-following. Result: better training efficiency and stronger generation quality.
Stage III data ratio adjustment: The proportion of multimodal data, pure text data, and text-to-image data changes from 7:3:10 (original Janus) to 5:1:4. Slightly reducing text-to-image data proportion improves multimodal understanding without degrading generation capability.
Data scaling: ~90 million additional samples added for pretraining, including YFCC image captions, table/chart data, and document-level image-text pairs (referenced from DeepSeek-VL2's data pipeline).
Benchmarks: Generation and Understanding

Janus-Pro is evaluated on two distinct benchmark categories — text-to-image generation quality and multimodal understanding quality. This is the right split: a unified model should be measured on both.
Text-to-image generation (GenEval):
| Model | GenEval Score |
|---|---|
| Janus-Pro-7B | 0.80 |
| Stable Diffusion 3 Medium | 0.74 |
| Show-o | 0.68 |
| DALL-E 3 | 0.67 |
| Emu3-Gen | 0.66 |
| Janus (original) | 0.61 |
GenEval tests compositional text-to-image generation: does the model correctly render specified objects, attributes, spatial relationships, and counts? Janus-Pro-7B scores 0.80 — 6 points above SD3 Medium and 13 points above DALL-E 3.
Text-image alignment (DPG-Bench):
| Model | DPG-Bench Score |
|---|---|
| Janus-Pro-7B | 84.19 |
| DALL-E 3 | 83.50 |
| Stable Diffusion 3 Medium | 84.08 |
DPG-Bench evaluates instruction following in complex image generation prompts — whether generated images match dense descriptions. Janus-Pro edges out DALL-E 3 and roughly matches SD3 Medium.
Multimodal understanding (MMBench):
| Model | MMBench Score |
|---|---|
| Janus-Pro-7B | 79.2 |
| MetaMorph | 75.2 |
| TokenFlow | 68.9 |
| Janus (original 1B) | 69.4 |
MMBench tests visual reasoning, VQA, and scene understanding. Janus-Pro-7B at 79.2 leads the unified model category. Note: this benchmark is from early 2025; subsequent models have pushed these numbers higher.
Additional understanding benchmarks (Janus-Pro-7B vs Janus-1B):
- SEED-Bench: substantial improvement (exact numbers in paper)
- POPE (hallucination): improved over Janus
- MMBench-CN: improved over Janus
The benchmark story is clean: Janus-Pro improves across both generation and understanding versus the original Janus, and leads the unified model category on both axes at release.
Open-Source and Availability
Janus-Pro is fully open-source:
- HuggingFace — Janus-Pro-7B: weights with commercial-use license
- HuggingFace — Janus-Pro-1B: smaller variant, runs on consumer hardware
- GitHub Repository: code, technical report, inference scripts
- HuggingFace Spaces: online demo (no local setup required)
The 1B variant is notable for accessibility: it runs in-browser via WebGPU using HuggingFace Transformers.js — no server, no API call, pure client-side execution. The 7B variant requires an A100-class GPU or Apple Silicon Mac with ~18GB RAM.
License: Model Agreement (commercial use permitted) for weights; MIT for code.
What It Means for Developers
The decoupled visual encoding pattern is the architectural contribution that generalizes. The specific insight — that understanding and generation require different visual representations, and forcing a shared encoder creates conflict — informs how you design any multimodal system.
For developers choosing a multimodal model in early 2025:
Janus-Pro vs specialized models:
- Pure image generation (SD3, FLUX): Janus-Pro is competitive on GenEval but purpose-built diffusion models still outperform on aesthetic quality and diversity. Use Janus-Pro when you need understanding + generation in one system, not when you only need generation.
- Pure VLMs (LLaVA, InternVL): Janus-Pro trades some understanding performance for generation capability. At 7B, it's within range of comparable-size VLMs on most benchmarks.
Janus-Pro vs later unified models:
- JanusFlow (November 2024): Uses rectified flow for generation instead of autoregressive. Different inference characteristics, similar decoupled encoding philosophy.
- Janus-Pro's benchmarks are from a competitive 2025 cohort; by mid-2025, larger and more capable unified models (including from DeepSeek's own pipeline) push these numbers further. The architecture remains relevant; specific benchmark ranks don't.
Practical use cases:
- Multimodal applications that need both understanding (image VQA, captioning) and generation (image creation from text) without running two separate models
- Edge deployments where the 1B in-browser variant covers both modalities
- Research into unified multimodal architectures — the Janus series provides clean ablations on the decoupled encoding design
Bottom Line
Janus-Pro demonstrates that a single autoregressive transformer can handle both image understanding and generation at competitive quality — provided the visual encoding pathways are decoupled by task. The 7B variant leads the unified model category on GenEval (0.80) and MMBench (79.2) at January 2025 release. The architecture is clean, the code is open-source, and the 1B variant runs in a browser. The architectural insight — decouple before the transformer, not after — is the contribution that extends beyond this specific model.
Resources
- Janus-Pro Technical Report (arXiv 2501.17811) — full architecture and training details
- GitHub Repository — code and inference scripts
- Janus-Pro-7B Weights (HuggingFace) — commercial license
- Janus-Pro-1B Weights (HuggingFace) — runs on consumer hardware
- Online Demo — try without local setup
Janus-Pro weights available at huggingface.co/deepseek-ai. The 1B model runs in-browser at huggingface.co/spaces/deepseek-ai/Janus-Pro-7B. MIT license for code, Model Agreement for weights.