99% 的人搜「DeepSeek 画图」时,都搞混了两件完全不同的东西:聊天模型和图像生成模型。你在 DeepSeek 聊天框里发一段“画一只猫”的文字,得到的只是文字回复;真正能把文字变成图片的,是单独发布的 Janus‑Pro 模型,而不是随便在 API 里换个模型名字就行。

很多人因此绕了大圈子:充值 API、上传图片、装一堆 SDK,最后发现还是没生出一张图。下面这份指南,会把路线一次讲清:哪一个 DeepSeek 能生图、去哪用官方 Demo、提示词怎么写才有用,以及本地部署时你大概会踩哪些坑。

哪些 DeepSeek 能真正生成图片?

图像生成 vs 图像理解:别再混为一谈

图像生成,是从一段文字描述「造出一张新图」;图像理解,则是「读懂你已经有的图片」。生成一辆自行车的插画,是图像生成;上传一张自行车照片,让模型帮你描述细节,这是图像理解。

DeepSeek 的 Vision 文档里,介绍的是把图片输入给 deepseek-flash,用来解释截图、图表、照片等,这属于图像理解。API 快速上手文档里列出的托管模型名字,也和 Janus 系列分开,直接在这些名字里硬塞一个 “Janus-Pro” 并不会突然多出生图能力。

如果你现在用的是普通 DeepSeek 聊天,不要把「写了一段画面描述」当成「已经生成了一张图片文件」。真正的生图通路,是:用官方 Janus-Pro Demo,或者自己下载模型跑推理。写作、查资料、写代码这些需求,还是走常规 DeepSeek 聊天路线更合适。

搜索「DeepSeek 生图」时,你可能会遇到什么

你在网上搜「DeepSeek image generator」,通常会撞上三种东西:

  • 官方或第三方搭建的 Janus Demo
  • 完全独立运营的付费生图网站,只是打着「Janus」或「DeepSeek」的旗号
  • 教你把图片丢进聊天模型,让它帮你解释内容的教程

这三条路线做的事完全不同。只有 Janus 的「Text-to-Image」才是真正的生图;付费网站的计费规则、隐私条款都归对方管;而上传图片给聊天模型,只是让它读图,不会给你一张新图。

简单记:想要“造图”,就找 Janus-Pro 的 Text-to-Image;想要“读图”,再去看 DeepSeek Vision 或普通聊天模型。

Janus‑Pro 到底是什么?

一套同时管“看图”和“生图”的模型

Janus‑Pro 是 DeepSeek 发布的多模态模型,既能理解图片,也能从文字生成图片。内部结构上,它把「看图」和「生图」走不同的视觉通路,但共用同一个语言模型骨干。你在 Demo 里会看到两个分开的入口:一个是上传图片提问,一个是文字生成图片。

官方的模型卡在 Hugging Face 上公开了设计细节和限制。简单说,你可以在同一个界面里:先让它读一张图,再切到生图模式,按你的文字描述生成一张新图,两者互不冲突。

1B vs 7B:名字变大,不代表画面更大

Janus‑Pro 在 2025 年 1 月开放下载,有两个检查点:Janus-Pro-1B 和 Janus-Pro-7B。同一个官方仓库里,还放着早期的 Janus 和单独的 JanusFlow 模型。想跟着本文的浏览器演示一步步操作,建议直接用 Janus‑Pro‑7B 的官方 Space,界面和说明更一致。

本地折腾时,如果显存或内存吃紧,可以考虑 1B 版本。这里有个容易被误解的点:7B 只是参数更多,不代表生成画布更大。模型大小和图片分辨率是两件事。无论你有没有 DeepSeek 聊天订阅,这两个下载都不是「会员升级包」,而是完全独立的一套模型。

用官方 Janus‑Pro Demo 生成第一张图

在线 Demo:最快上手的路线

如果你只是想先试试效果,不想装环境,浏览器 Demo 是最省事的入口。记得打开的是 Hugging Face 上 deepseek-ai 账号下的官方 Space,而不是名字很像的商业网站。

操作步骤可以照着来:

  1. 打开官方 Janus‑Pro‑7B Space:访问 Hugging Face 上的 Janus‑Pro‑7B Space,等页面里的应用加载完。
  2. 切到「Text-to-Image Generation」:别停在「Multimodal Understanding」标签,那是给图片提问用的。
  3. 在提示框里写下你的画面描述:把主体、场景、构图、用途相关的关键特征写清楚。
  4. 先用默认高级设置,点「Generate Images」:第一次不用管太多参数,先看它能画出什么样。
  5. 在下方画廊里检查结果再保存:确认你要的物体、颜色、布局都在,再用画廊里的查看或下载按钮保存。

有用户反馈,在高峰时段 Demo 会排队,或者直接提示额度用完。这个 Space 用的是 Hugging Face ZeroGPU,官方文档写得很清楚:按账号和队列分配资源,页面能打开不代表你能无限制生图。

隐私与题材:第一次别拿敏感内容试刀

公共 Demo 的推理是在 Hugging Face 的服务器上跑的,不是在你本地电脑。你在浏览器里输入的提示词,会被那边的服务处理。所以第一次体验,建议用不涉及隐私、机密或敏感人物的题材。

我自己第一次试,是用一段很普通的「桌面+咖啡杯」描述,主要是看构图和光影表现,而不是立刻拿真实产品图去试。等你确认效果和流程都 OK,再考虑更正式的场景。

提示词怎么写,模型才知道你要什么?

把自己当成在给插画师写需求

写提示词时,可以想象你在给一个人类插画师发需求:先说清「画什么」「放在哪」「大概什么风格」,再补充氛围和装饰细节。真正决定图片能不能用的硬性条件,要放在前面,修饰性的形容词放后面。

一个偏产品风格的示例提示词:

A matte blue ceramic mug on a light wooden desk, handle facing right, a small green plant behind it, soft light from a window on the left, simple product photograph, no lettering.

如果你要的是插画,而不是照片,要求可能会变成:

A red bicycle leaning against a cream wall, one terracotta plant pot beside the front wheel, flat editorial illustration, warm afternoon colors, uncluttered background.

可以把这些示例当模板,替换成你自己的主体和场景。如果你发现花盆老是出现在奇怪的位置,不妨先把画面简化,只保留关键关系,再慢慢加元素。一次塞太多无关物体进去,反而很难判断哪里出了问题。

Demo 里的高级选项:别把它当成聊天 API 的参数

Janus Demo 的高级选项里,会暴露几个常见控制项,比如采样步数、随机种子等。这些是 Demo 自己的参数,不是 DeepSeek 聊天 API 的设置。

随机种子(seed)很适合做对比实验:你可以固定种子,只改一两句提示词,看看画面变化。但我也不太确定这个说法对不对——不同硬件、不同软件版本下,同一个种子也可能画出略有差别的结果。所以更稳妥的做法,是把「提示词 + 参数」一起保存下来,方便以后复现。

分辨率与画质:别被「4K」「8K」这类词忽悠

Janus‑Pro 的参考分辨率有多大?

Janus‑Pro 官方参考生成分辨率是 384 × 384。Hugging Face Demo 的实现,会在生成后再套一层 2× 放大器,把显示出来的图片变大,但底层细节还是那块 384 的画布。你在提示词里写「4K」「8K」,不会神奇地把输出尺寸变成 4K。

技术报告里也写得很直白:细节特别多的区域、小尺寸人脸,是 Janus‑Pro 的弱项;输入分辨率也会影响它做 OCR 这类精细理解任务的表现。所以评估画质时,最好在你打算实际使用的尺寸下看,而不是只盯着缩略图。

哪些场景适合用,哪些要格外小心

做概念草图、找视觉方向、给设计师一个「大概长这样」的参考,Janus‑Pro 生成的图往往已经够用。有用户反馈,用它快速出几版构图,再交给人类设计师精修,效率会高很多。

但如果你要的是:

  • 电商产品图
  • 带精确标注的技术示意图
  • 含有必须正确的文字(比如品牌名、法律条款)的海报

那就得一帧一帧地放大检查。哪怕整体画面看着很顺眼,一个多出来的按钮、一行看似合理但其实拼错的文字,都可能让整张图不能用。涉及精确文字的部分,更稳妥的做法是后期在编辑软件里单独加字。

有人会说 Janus‑Pro 在某些评测上「超越」了别的生图模型。DeepSeek 的技术报告里,确实在 2025 年的几项指令跟随基准上给出了不错的数据,但那不是对所有图像服务的总排名,也不能保证你的每一个提示词都能复现同样的优势。

能在本地跑 Janus‑Pro 吗?

本地部署适合谁?

答案是可以,但更偏向开发者玩法,而不是点两下就能装好的桌面软件。官方参考代码用的是 PyTorch + CUDA,没有现成的 CPU 或 Apple Silicon 一键教程。如果你只是偶尔生几张图,先用托管 Demo 会省下很多时间和心力。

有一位朋友在 8GB 显存的老显卡上硬跑 7B 版本,结果各种 out of memory,最后还是换成 1B + 减少并行张数才勉强跑通。说实话,如果你对命令行和 Python 环境不熟,本地部署的学习成本会比想象中高。

1. 创建隔离环境

下面是一条基于官方仓库、面向 Linux + NVIDIA CUDA 环境的大致路线。你需要:Git、支持虚拟环境的 Python、合适的 NVIDIA 驱动,以及足够的显存和内存。

git clone https://github.com/deepseek-ai/Janus.git
cd Janus
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip

然后用 PyTorch 官网的安装向导,选择 Linux、Pip、Python 和与你机器匹配的 CUDA 版本,在这个虚拟环境里执行安装命令。完成后再装 Janus Demo 依赖:

python -m pip install -e ".[gradio]"
python -c "import torch; print(torch.cuda.is_available())"

如果你走的是 GPU 路线,这个 CUDA 检查应该打印出 True。它只说明 PyTorch 能看到 CUDA,并不保证你的显卡一定装得下 7B 模型。建议把这个环境和其他项目分开,因为仓库里锁定了一些较老的 Demo 依赖,版本混用很容易出问题。

2. 选择检查点并限制访问范围

用编辑器打开 demo/app_januspro.py,里面的 model_path 默认指向 deepseek-ai/Janus-Pro-7B。如果你想省显存,可以改成 deepseek-ai/Janus-Pro-1B。这里不要乱填 DeepSeek 聊天 API 的模型名,那是完全不同的体系。

参考 Demo 结尾有一行:

demo.launch(share=True)

如果你只打算在本机浏览器里用,把它改成:

demo.launch(share=False, server_name="127.0.0.1")

这样就不会自动创建一个公网分享链接。启动前,最好简单过一遍下载的代码逻辑,因为加载模型时启用了 trust_remote_code=True,意味着会执行远端仓库里的自定义代码。

3. 启动界面并生成图片

在虚拟环境里运行:

python demo/app_januspro.py

等第一次下载和加载模型完成,终端里会打印一个本地地址。用浏览器打开它,找到页面上的 Text-to-Image Generation 区块。和在线 Demo 不同,本地脚本会把「理解图片」和「生成图片」放在同一页上,你可以按前面讲的提示词方法直接试。

结束时,在终端里按 Ctrl+C 停止服务。内存方面没有一个绝对可靠的「最低配置」,因为精度设置、中间张量大小、一次生成几张图都会影响占用。如果显存吃紧,优先考虑:

  • 换成 1B 检查点
  • 把一次生成的图片数量调小

而不是参考某个完全不同的 DeepSeek 文本模型的 RAM 建议。

费用与授权:Janus‑Pro 算不算“免费”?

下载免费 ≠ 使用没有成本

Janus‑Pro 模型可以公开下载,这一点对个人和团队都很友好。但「能下」不代表「用起来完全没成本」:

  • 本地跑要占用你自己的 GPU/CPU 资源
  • 租云端 GPU 要按时长或算力付费
  • 第三方托管服务会有自己的额度和计费方式

官方 Hugging Face Demo 用的是 ZeroGPU 配额,额度用完就得等。市面上一些打着「Janus 生图」旗号的付费网站,即便底层用的是 DeepSeek 权重,计费和条款也完全由对方决定。

代码授权 vs 模型授权:两套规则别混

官方仓库里的代码是 MIT 协议,而模型卡里的 License 部分指向的是 DeepSeek Model License。虽然模型卡页面上也会显示一个 MIT 徽章,但那不是完整的授权条款,真正生效的是 DeepSeek 自己的模型许可文本。

DeepSeek 在说明里写明了允许商业使用,但具体到哪个检查点、是否包含你自己再分发或托管的组件,都要对照对应版本的 License 来看。做商业项目时,有两层检查不能偷懒:

  • 你用的模型和代码是否满足授权要求
  • 你生成的那张图本身,是否适合公开发布或商用

后者包括:有没有侵犯他人版权、有没有用到客户不希望外泄的素材、托管服务的条款是否允许你这么用。

常见故障与排查思路

Demo 一直排队,或者拒绝新请求

遇到这种情况,先看页面上的状态提示,而不是一味改提示词。排队或额度用尽,本质是算力资源的问题,和你写的那句英文没关系。按提示的等待时间或账号要求来操作,多次狂点「生成」只会让队列更乱,不会凭空多出 GPU。

返回的是一段文字,而不是图片

先确认你选的是 Text-to-Image Generation,而不是理解图片的标签。理解模式会对你上传的图片给出文字回答,正常聊天模型也只会回一段 Markdown 或描述,这些都不等于真正生成了一张图片文件。

本地运行时报 CUDA out of memory

先关掉其他占用 GPU 的程序,再看脚本到底加载的是哪个检查点。在本地的 demo/app_januspro.py 里,generate_image 函数默认设置了 parallel_size = 5,也就是一次生成 5 张图。把这个值改成 1,就变成一次只画一张。

如果还是爆显存,可以考虑换成 1B 检查点。注意,如果错误发生在「加载权重」阶段,说明模型本身就装不下,改提示词是没用的。

安装看起来成功了,但应用起不来

遇到这种情况,先在终端里找到第一个真正的异常信息。缺包、库版本不兼容、模型下载失败、CUDA 设备不可用,这几类问题的解决方式完全不同。确认你安装依赖和运行脚本用的是同一个虚拟环境,再对照仓库里的依赖列表排查。

如果要在社区求助,记得附上完整报错栈和关键包版本号,把密钥和本地路径等隐私信息删掉。

下一步:从你真正需要的那张图开始

如果你刚准备上手 Janus‑Pro,最稳的做法是:先用官方 Demo,写一个尽量清晰的提示词,保持默认参数,看看第一张图长什么样。然后在你打算使用的尺寸下仔细看一遍,再根据缺失的元素去改描述或种子。

当你发现自己开始频繁生图、需要更稳定的算力或更严格的隐私控制时,再考虑本地部署或自建服务。反过来,如果你的需求只是「读一张截图」「解释一张图表」,那就别绕远路去折腾生图模型了,直接用图像理解或聊天模型会省很多力气。

这套判断和操作方法,在不同项目里反复验证都挺好用。遇到类似选择时,翻出来对照一下,往往比随手问身边人更靠谱。

常见问题

Q:Janus‑Pro 能在 iPhone 或安卓手机上用吗?

A:可以在手机浏览器里打开官方 Hugging Face Demo,生图计算会在对方服务器上完成,而不是在你手机本地跑。这样做的好处是不用担心手机算力不够,但也意味着你受制于 Demo 的配额和排队规则。需要注意的是,目前官方 DeepSeek 手机 App 并不等于内置了 Janus‑Pro 生图能力,两者是不同的产品线。如果你在第三方 App 里看到「Janus 生图」,要看清楚它到底是网页封装还是真正的本地或自建服务。

Q:Janus‑Pro 能直接编辑我上传的照片吗?

A:官方 Demo 把「理解图片」和「文字生成图片」分成了两个入口,目前没有那种「上传一张图 + 画个蒙版局部修改」的完整编辑流程。你可以先让它描述一张照片,再用这段描述去生成一张新图,但这更像是「重画一张类似的」,而不是精确地在原图上修修补补。如果你需要的是严谨的修图或局部替换,还是得配合专业图像编辑软件,或者找专门支持 inpainting / outpainting 的模型和工具。

Q:用 Janus‑Pro 一定要有 DeepSeek API Key 吗?

A:不需要。官方 Hugging Face Demo 和本地模型推理路线,都不依赖 DeepSeek 的聊天 API Key。你可能需要的是 Hugging Face 账号或访问令牌,那是另一套体系。如果某个第三方服务向你索要 API Key,一定要搞清楚它到底在调用哪家提供商的接口,以及这些密钥会被如何存储和使用,避免把主账号权限交给不可信的平台。

Q:Janus‑Pro 有官方 API 吗?

A:你可以基于开源推理代码自己搭一个服务,Hugging Face 上的 Gradio Demo 也提供了「Use via API」的接口说明,但这和 DeepSeek 官方托管的聊天 API 是两回事。Demo 的 API 更像是一个实验性入口,容量和稳定性都不适合作为生产环境的长期依赖。准备接入前,先看清当前的调用限制、并发能力和服务条款,必要时自己部署一套后端会更可控。

Q:Janus‑Pro 生成的图片可以直接商用吗?

A:从授权角度看,DeepSeek 的模型许可文本中明确提到允许商业使用,但你仍然要逐条对照具体版本的 License,确认没有额外限制。更关键的是内容层面的合规:图片里是否包含受版权保护的角色或标志、是否使用了客户不希望公开的素材、是否违反了你所在平台的内容政策。建议在商用前建立一套审核流程,对每张图做人工检查,并保留提示词和生成记录,方便未来溯源和合规审计。