HiDream-O1-Image: A Natively Unified Image Generative Foundation Model with Pixel-level Unified Transformer

Paper: arXiv:2605.11061v1 Code: HiDream-ai/HiDream-O1-Image Code reference: main @ 210c9bff (2026-05-15)

1. Motivation(研究动机)

当前主流图像生成系统虽然已经从 U-Net 迁移到 DiT,但多数仍是“拼装式”架构:图像先由外部 VAE 压到 latent space,文本再由 CLIP/T5/LLM 等独立 text encoder 编码,最后再把这些异构表示交给生成 backbone。这带来三个直接瓶颈。第一,VAE 压缩天然丢失高频细节,尤其是小字号文字、复杂纹理、精细材质和边界结构;第二,text encoder 与 image generator 分开训练,prompt 里的关系、数量、版式和实体属性往往不能稳定落到空间布局;第三,text-to-image、image editing、subject-driven personalization、多图参考、layout、多面板 storyboard 等任务需要不同入口和适配器,导致能力碎片化,很难把“输入条件 + 文字指令 + 目标像素”作为同一种上下文推理问题处理。

这篇技术报告要解决的核心问题是:能否把图像生成从 latent modular pipeline 变成一个 pixel-level、端到端、统一 token space 的 generative foundation model。HiDream-O1-Image 的目标不是只提升某个 benchmark,而是验证一种架构范式:raw pixels、text tokens、task-specific condition tokens 全部映射到同一个 Unified Transformer(UiT)里,让模型像处理上下文一样处理 T2I、editing、IP personalization 和长文本渲染。论文强调其 8B 版本已经能接近或超过更大的 Qwen-Image(7B+20B)等模型,并进一步扩展到 200B+ Pro 版本验证 scaling 潜力。

研究价值在于:如果 pixel-space UiT 成立,图像生成系统可以减少 VAE 和外置 text encoder 之间的信息瓶颈,把复杂用户意图、空间约束、参考图身份和目标像素放入同一个推理序列中。它解锁的不是单一任务精度,而是更通用的 image generative engine:高分辨率直接生成、复杂文字排版、多区域 layout、instruction editing、多主体参考保持和 storyboard 风格的多面板一致性都可以共享一套 tokenization、attention 和 denoising 机制。

Figure 1 解读:论文用这张总览图展示 HiDream-O1-Image 在 benchmark 和任务维度上的覆盖面。它不是单纯展示若干漂亮样例,而是在开头就把模型定位为多任务 image foundation model:既要做 general T2I,也要处理复杂文字、多面板、编辑和主体保持。后续方法部分的统一 token space 正是为这种多任务能力服务。

2. Idea(核心思想)

核心 insight 是:不要把“文本理解、图像压缩、条件注入、图像生成”拆成多个互不相同的模块,而是把 refined prompt、condition image 和 noisy target pixels 都变成同一个 Transformer 可以读写的 token。这样,文本 token 可以提供语义和逻辑,condition token 可以提供视觉 grounding,generation token 则以 diffusion timestep 下的 noisy pixel patch 形式进入模型;UiT 对三者做上下文推理后直接预测 clean image patches。

与 latent DiT 的根本差异在于,HiDream-O1-Image 不依赖外部 VAE 的 latent 表示,也不把文本编码器作为独立模块输出固定条件 embedding。与早期 pixel-space DiT 只强调 raw-pixel denoising 不同,它还保留 LLM-style decoder-only backbone、因果语言建模能力、prompt agent 和 hybrid attention,让模型既能做像素级 diffusion,又不完全丢掉 autoregressive language model 的文本推理结构。

Figure 5 解读:这张图对比了三种范式:latent DiT 依赖 VAE latent 和外置 text encoder;pixel-space DiT 直接建模像素但通常仍缺少面向多任务条件的统一上下文;HiDream-O1-Image 则把 condition tokens、text tokens 和 generation tokens 放进一个 shared token space。它说明本文真正的新意不是“用 Transformer 生成图像”,而是把图像生成重写成 multimodal in-context reasoning。

3. Method(方法)

3.1 总体框架:Prompt Agent + Unified Multimodal Tokenization + Pixel-level UiT

整体 pipeline 可以理解为四步。首先,Reasoning-Driven Prompt Agent 把原始用户请求改写成更明确的英文生成 prompt,显式补全主体、构图、空间关系、文字内容、风格和物理逻辑。其次,系统把输入拆成三类 token:text tokens 、condition tokens 、generation tokens 。第三,Unified Transformer backbone 同时读取这些 token;condition/text token 维持 LLM 式的 causal 结构,generation token 则使用 full attention 汇聚全局上下文。最后,linear prediction head 把 generation token 的输出映射回 clean image patch,并通过 unpatchify 得到图像。

直觉上,这样做的关键收益是把“理解用户想要什么”和“把像素画出来”放进同一个上下文计算图中。传统 pipeline 中,prompt encoder 输出的语义向量很难表达严格的二维 layout、文字读序、多个参考主体之间的组合关系;VAE latent 又会压缩掉小字和纹理。HiDream-O1-Image 直接在 pixel patches 上 denoise,同时让 patch token 与 prompt/condition token 共享 Transformer 层,因此细粒度空间结构可以在生成过程中反复与语义 token 对齐。

Figure 7 解读:这张 architecture figure 是方法核心。左侧展示三种任务入口:T2I 只需要文本;image editing 需要源图条件和编辑指令;subject-driven personalization 需要参考主体图和新场景 prompt。中间三类 token 被送入 Unified Transformer Backbone;右侧通过 Patch Predict & Unpatchify 输出目标图。图中的 Timestep token 对应 diffusion 采样时刻,Generation Tokens 对应 noisy target samples,说明模型不是在 latent VAE 空间里操作,而是直接预测 clean pixel patches。

3.2 Data engine:从 heterogeneous raw sources 到统一训练样本

论文在第 2 节强调数据不是附属项,而是 unified model 能否成立的前提。训练一个同时支持 T2I、editing、IP personalization、layout、style 和 multi-panel 的模型,需要的数据远超普通 image-text pairs。HiDream 的 data engine 将 raw sources 转成三类核心监督:高质量 image-text pairs、editing triplets、subject-reference samples;并通过 deduplication、quality/safety filtering 和 VLM prompt construction 统一成模型需要的 instruction format。

Figure 6 解读:数据管线从 All Sources 开始,覆盖 T2I、Editing、IP、Layout、Style、Multi-panel。去重阶段使用 SSCD + Faiss,过滤阶段结合 quality + VLM checks,最后通过 VLM prompts 生成 annotation 和 processed dataset。它对应论文中“模型统一之前,数据格式也必须统一”的思路。

具体做法包括:使用 SSCD 提取视觉特征,用 2 million representative subset 拟合 k-means,将特征空间划分为 16,000 clusters,再在 cluster 内用 GPU-accelerated Faiss 做 nearest-neighbor similarity search;相似度超过阈值的样本只保留一个代表,从而移除约 20% initial candidates。过滤阶段包括 NSFW classifier、安全过滤、aesthetic scoring、watermark detector、editing/IP task consistency VLM check、Top-IQ 分数和 JPEG bytes-per-pixel ratio。Prompt construction 阶段使用 Qwen3-VL,把 tags、source descriptions、OCR text、layout cues、style labels 转为训练 prompt;对 editing 样本生成“保留区域 + 目标变化”的简洁指令,对 IP 样本描述 identity-defining attributes,对 multi-panel 样本同时描述全局网格和 panel-level differences。

3.3 Reasoning-Driven Prompt Agent

Prompt Agent 的作用是缩小“人类自然语言”和“生成模型偏好 prompt”之间的 semantic gap。论文称它基于 Gemma,并带有 thinking mechanism:对复杂请求先推理空间布局、主体属性、物理逻辑和上下文关系,再输出结构清晰、无歧义的 prompt。released code 中的 prompt_agent.py 把这个机制实现为一个 prompt rewriting engine:系统 prompt 要求使用 SCALIST 框架(Subject / Composition / Action / Location / Image style / Specs / Text rendering),并返回 JSON:promptreasoningresolved_knowledge

def rewrite_prompt_with_agent(user_input: str, backend: str = "local") -> dict:
    system = REWRITE_SYSTEM_PROMPT  # SCALIST + factual/layout/text-rendering rules
    messages = [
        {"role": "system", "content": system},
        {"role": "user", "content": user_input},
    ]
    if backend == "local":
        text = processor.apply_chat_template(
            messages,
            tokenize=False,
            add_generation_prompt=True,
            enable_thinking=False,
        )
        inputs = processor(text=text, return_tensors="pt").to(model.device)
        raw = model.generate(**inputs, max_new_tokens=4096, do_sample=True)
    else:
        raw = openai_client.chat.completions.create(
            model=model_name,
            messages=messages,
        ).choices[0].message.content
    result = parse_json(raw)
    return {
        "prompt": result.get("prompt", user_input),
        "reasoning": result.get("reasoning", ""),
        "resolved_knowledge": result.get("resolved_knowledge", ""),
    }

3.4 Unified Multimodal Tokenization

论文定义三类 primitive tokens。Text Tokens 来自 Prompt Agent 输出的 refined prompt,经 backbone native vocabulary 编码。Condition Tokens 用于需要视觉 grounding 的任务,如 editing source image 或 reference subject image;论文描述为用 SigLip-2 visual encoder 提取 semantic-rich tokens,再经 learnable projection 对齐到 shared space。Generation Token 来自目标图 与 Gaussian noise 的线性插值: 这里 是 diffusion timestep。随后 被切成 non-overlapping patches,并通过 learnable patch embedding 投影到 Transformer hidden size。released inference code 中对应 PATCH_SIZE=32,image token 数为 (height // PATCH_SIZE) * (width // PATCH_SIZE);例如默认 2048×2048 会产生 个 generation patch tokens。

def build_unified_generation_tokens(prompt, height, width, tokenizer, processor, config):
    image_len = (height // 32) * (width // 32)
    text = processor.apply_chat_template(
        [{"role": "user", "content": prompt}],
        tokenize=False,
        add_generation_prompt=True,
    )
    # text + begin-of-image + timestep token;真实像素 patches 后续由 vinputs 传入
    input_ids = tokenizer.encode(text + "<|boi_token|>" + "<|tms_token|>", return_tensors="pt")
    vision_tokens = torch.full((1, image_len), config.image_token_id)
    vision_tokens[0, 0] = config.vision_start_token_id
    input_ids_pad = torch.cat([input_ids, vision_tokens], dim=-1)
    position_ids, _ = get_rope_index_fix_point(
        1, config.image_token_id, config.video_token_id, config.vision_start_token_id,
        input_ids=input_ids_pad,
        image_grid_thw=torch.tensor([[1, height // 32, width // 32]]),
        skip_vision_start_token=[1],
    )
    token_types = torch.zeros((1, position_ids.shape[-1]), dtype=input_ids.dtype)
    token_types[:, input_ids.shape[-1]-1:] = 1      # generation positions
    token_types[:, input_ids.shape[-1]-1:input_ids.shape[-1]] = 3  # timestep token
    return {"input_ids": input_ids, "position_ids": position_ids,
            "token_types": (token_types > 0), "vinput_mask": token_types == 1}

3.5 Unified Transformer 与 hybrid attention

Backbone 是 decoder-only Transformer。8B 版本初始化自 Qwen3-VL-8B-Instruct,以继承 multimodal pre-alignment;200B+ 版本用于验证 scaling。模型采用 RMSNorm、SwiGLU、RoPE,并加入 timestep token、learnable input patch embedding 和 output patch head。released code 中 BottleneckPatchEmbed 将 flattened pixel patch 映射到 hidden size,TimestepEmbedder 用 sinusoidal timestep embedding + MLP 生成 timestep hidden state,FinalLayer 输出 patch prediction。

Hybrid Unified Attention 的规则是:condition/text tokens 使用 causal masking,保持 autoregressive language modeling 的顺序结构;generation tokens 使用 full attention,可以看见所有 token,以便 diffusion patch 之间建立全局空间关系。代码中的非 flash path 明确构造 4D attention mask:先建立 causal lower-triangular mask,再把 token_types[b].bool() 对应的 generation positions 整行置零,表示这些生成 token 对所有位置可见。flash path 则用 two-pass approach 近似同一语义。

def uit_forward_generation(model, input_ids, position_ids, vinputs, timestep, token_types):
    inputs_embeds = model.get_input_embeddings()(input_ids)
    t_emb = model.t_embedder1(timestep)              # diffusion time -> hidden
    inputs_embeds = replace_tms_token(inputs_embeds, input_ids, t_emb)
    vinputs_embedded = model.x_embedder(vinputs)     # pixel patches -> hidden
    inputs_embeds = torch.cat([inputs_embeds, vinputs_embedded], dim=1)
 
    # causal for AR tokens, full attention for generation tokens
    mask = causal_attention_mask(inputs_embeds)
    gen_positions = token_types.bool()
    mask[gen_positions, :] = 0
    hidden = model.language_model(
        inputs_embeds=inputs_embeds,
        position_ids=position_ids,
        attention_mask=mask,
        use_cache=False,
    ).last_hidden_state
    x_pred = model.final_layer2(hidden)              # hidden -> clean pixel patch
    return x_pred

3.6 Denoising / inference path in released code

released repo 目前主要提供 inference/demo,而不是训练代码。inference.py 负责加载 AutoProcessorQwen3VLForConditionalGeneration,并调用 models.pipeline.generate_image。Full model 使用 50 steps、默认 guidance_scale=5.0shift=3.0FlowUniPCMultistepScheduler;Dev model 使用 28 steps、guidance_scale=0.0shift=1.0,editing 时默认 FlowMatchEulerDiscreteScheduler,非 editing dev 默认 FlashFlowMatchEulerDiscreteScheduler 和固定 DEFAULT_TIMESTEPS

def denoise_with_pixel_uit(model, sample, scheduler, z, guidance_scale=5.0):
    for step_t in scheduler.timesteps:
        t_pixeldit = 1.0 - step_t.float() / 1000.0
        sigma = (step_t.float() / 1000.0).clamp_min(1e-3)
        x0_cond = forward_once(
            sample["cond"],
            z.clone(),
            t_pixeldit,
        )["x_pred_on_generation_tokens"]
        v_cond = (x0_cond.float() - z.float()) / sigma
        if "uncond" in sample:
            x0_uncond = forward_once(sample["uncond"], z.clone(), t_pixeldit)["x_pred_on_generation_tokens"]
            v_uncond = (x0_uncond.float() - z.float()) / sigma
            v_guided = v_uncond + guidance_scale * (v_cond - v_uncond)
        else:
            v_guided = v_cond
        model_output = -v_guided
        z = scheduler.step(model_output.float(), step_t.float(), z.float(), return_dict=False)[0]
    return unpatchify_to_pil((z + 1) / 2)

对于 image-conditioned generation,released code 会把 reference images resize 后 patchify 成 ref_patches,并用 processor 构造包含 image placeholders 的 Qwen-style input;forward_once 接收 pixel_valuesimage_grid_thw,调用 model 的 image feature path,返回并缓存 cond_image_embeds / cond_deepstack_image_embeds,避免每个 denoising step 重复计算参考图视觉特征。

3.7 Training objective 与 distillation

Training objectives

论文的 training objective 写得比较概括:pre-training 用 flow matching loss 做 image prediction,同时加入 LPIPS loss 和 perceptual DINO loss 作为 perceptual supervision,以弥补 raw pixel diffusion 对 long-range semantic coherence 的不足。generation token 的构造公式是 ,目标是让 Transformer 输出 clean image patch estimation。论文没有给出更完整的 loss 展开式,也没有公开 training config 中的 LR、batch size、optimizer 等数值。

Progressive pre-training

训练流程分为 progressive pre-training 和 post-training。Progressive pre-training 有三阶段:Stage I 在 上联合优化 T2I、LM、MMU,使用 mixture of image-text pairs 和 text-only corpora,并称可扩展到 billions of image-text pairs;

Stage II 升到 ,加入 in-context generation/editing(image editing、subject-driven personalization),把 Prompt Agent 的显式 reasoning 过程融入不同 synthesis scenarios;Stage III 聚焦 ultra-high-resolution subset,提升细节与感知质量。

Post-training:SFT / RLHF

Post-training 有 SFT 和 RLHF:SFT 使用 several hundred thousand high-quality samples 与 reasoning trajectories;RLHF 使用 GRPO,reward signals 包括 OCR accuracy、aesthetic assessment、instruction-following fidelity 和 reasoning quality。

Dev distillation objective

Adversarial Diffusion Distillation 用于 Dev 版本:full model 大约 50 denoising steps,Dev 目标是 28-step sampler。论文采用 DMD 作为核心 objective,并保留 standard diffusion loss;为了保持 image sharpness,还加入 adversarial learning,学生模型作为 generator,discriminator 比较真实图像与 student pixel-space prediction 重建图像,且 discriminator classification 由 frozen teacher backbone 的 multi-level features 引导。最终目标为:

Paper-vs-code gap

论文公式与 released code 实现差异:论文描述了 flow matching + LPIPS + DINO、SFT、GRPO RLHF、DMD + adversarial distillation,但 GitHub main@210c9bff 只发布 inference / demo / prompt agent 代码,没有训练脚本、loss implementation、optimizer config 或 launch config。因此本笔记中的训练超参与 loss 权重只能按论文报告记录,不能从 released code 验证。另一个差异是 Prompt Agent:论文说 agent 显式生成 chain of thought;

Released prompt-agent behavior

released prompt_agent.py 的 local path 对 HF chat template 使用 enable_thinking=False,但系统 prompt 要求模型在 JSON 的 reasoning 字段中返回中文推理摘要。第三,论文文字称 condition tokens 来自 SigLip-2 visual encoder;released code 暴露的是改写后的 Qwen3VLForConditionalGeneration.get_image_features / Qwen3-VL visual path,并没有单独的 SigLip-2 模块文件。

Code reference: main @ 210c9bff (2026-05-15) — pseudocode and mapping based on this commit

Paper ConceptSource FileKey Class/Function
Prompt Agent / reasoning-driven prompt rewriteprompt_agent.pyREWRITE_SYSTEM_PROMPT, rewrite_prompt_local, rewrite_prompt_api, parse_json
T2I token constructionmodels/pipeline.pybuild_t2i_text_sample, TIMESTEP_TOKEN_NUM, PATCH_SIZE
Reference image / editing / personalization conditioningmodels/pipeline.py, models/utils.pygenerate_image, create_layout_reference_images, load_layout_bboxes, resize_pilimage
Scheduler and denoising loopinference.py, models/pipeline.py, models/flash_scheduler.pyDEFAULT_TIMESTEPS, build_scheduler, generate_image, FlashFlowMatchEulerDiscreteScheduler
Pixel patch embedding and timestep embeddingmodels/qwen3_vl_transformers.pyBottleneckPatchEmbed, TimestepEmbedder, FinalLayer
Unified Transformer generation forwardmodels/qwen3_vl_transformers.pyQwen3VLModel._forward_generation, Qwen3VLForConditionalGeneration.forward
Full/dev inference configinference.py--model_type full/dev, 50-step full, 28-step dev, guidance/shift defaults
Training objectives / RLHF / distillationnot released论文描述存在,但 main@210c9bff 未包含训练代码或 config

4. Experimental Setup(实验设置)

论文的实验覆盖三大任务:text-to-image generation、image editing、subject-driven personalization。T2I 评估包括 GenEval(compositional generation)、DPG-Bench(dense prompt alignment)、HPSv3(human preference across 12 categories)、CVTG-2K(complex visual text generation,表中按 2/3/4/5 regions 和 NED/CLIP Score 评估)以及 LongText-Bench(英文与中文长文本渲染)。Editing 使用 GEdit 和 ImgEdit;

personalization 使用 UniSubject,按 1–3 subjects、4–8 subjects、9–11 subjects 三组评估。论文没有在正文中逐项给出所有 benchmark 的 sample count;唯一明确与数据规模相关的数字包括:dedup 使用 2 million representative subset 拟合 k-means、划分 16,000 clusters、去重移除约 20% initial candidates;pre-training Stage I 可扩展到 billions of image-text pairs;SFT corpus 为 several hundred thousand samples;

CVTG-2K 从名称与表格语境可知是 2K 级文本生成 benchmark。

Baselines 覆盖闭源与开源两类。闭源/商业模型包括 GPT Image 1 [High]、GPT Image 2、Nano Banana 2.0、Seedream-4.0、DALL-E 3。开源或开放权重/研究 baselines 包括 PixArt、Show-o、Emu3-Gen、SD3-Medium、JanusFlow、FLUX.1 [Dev]、SD3.5 Large、Janus-Pro-7B、Z-Image-Turbo、FLUX.2 [Dev]、Qwen-Image、HiDream-I1-Full、OmniGen、OmniGen2、BAGEL、HiDream-E1.1、Qwen-Image-Edit、Scone、Echo-4o 等。论文特别强调 8B HiDream-O1-Image 与 27B Qwen-Image / Qwen-Image-Edit 等更大系统对比,200B+ Pro 则用于验证 scaling 上限。

评价指标按任务不同而变化。GenEval 包含 Single-Obj、Two-Obj、Count、Color、Position、Attr、Overall;DPG 包含 Global、Entity、Attribute、Relation、Other、Overall;HPSv3 给出 All 和 12 类偏好分数;CVTG-2K 报告不同 text regions 下的准确性、Average、NED 和 CLIP Score;LongText-Bench 报告 EN/ZH;GEdit 报告 Q-SC、Q-PQ、Q-O;ImgEdit 报告 Add、Adjust、Extract、Replace、Remove、Background、Style、Hybrid、Action、Overall;UniSubject 报告 Q-PF、Q-SC、Q-O、HPSv3,其中 Q-PF 是 prompt following,Q-SC 是 subject consistency,Q-O 是二者均值。

训练和推理配置方面,论文给出的是阶段性设置而非完整可复现实验表:pre-training 分别在 阶段推进;8B 模型初始化自 Qwen3-VL-8B-Instruct;200B+ 版本扩展到超过 200B 参数;full inference 约 50 denoising steps;Dev 版本通过 DMD + diffusion + adversarial distillation 使用 28-step sampler。

released inference.py 的实际可验证默认值为:full model num_inference_steps=50guidance_scale=5.0shift=3.0、scheduler=default;dev model num_inference_steps=28guidance_scale=0.0shift=1.0,editing 默认 flow_match scheduler,非 editing 默认 flash scheduler,并使用 DEFAULT_TIMESTEPS

论文未详细说明 GPU 类型/数量、训练 LR、global batch size、optimizer、reward 权重或 distillation loss 权重;GitHub release 也未提供训练 launch config,因此这些值不能从代码补齐。

5. Experimental Results(实验结果)

5.1 Text-to-image:general synthesis 与 text rendering

在 GenEval 上,HiDream-O1-Image 8B 的 Overall 为 0.90,超过 Qwen-Image 0.87、FLUX.2 [Dev] 0.87、GPT Image 2 0.89;200B+ Pro 进一步到 0.92。分项上,8B 在 Single-Obj=1.00、Two-Obj=0.99、Position=0.93 上强,Count=0.79 与 FLUX.2 [Dev] 持平但低于 Qwen-Image 0.89;Pro 在 Count=0.85、Color=0.94、Position=0.94、Attr=0.79 上进一步提升。

在 DPG-Bench 上,8B 的 Overall 为 89.83,Pro 为 90.30;对比 Qwen-Image 的 Overall 88.32、FLUX.2 [Dev] 87.57、Seedream-4.0 88.63。8B 的 Global=95.15 是表中最高,Entity=92.32、Attribute=93.74 也很强;Pro 的 Entity=95.42 与 Overall=90.30 进一步提升,但 Relation=90.82 低于 Qwen-Image 的 94.31。这说明模型的 dense prompt alignment 主要收益在全局语义与实体/属性覆盖,而关系判断并非所有分项都领先。

在 HPSv3 上,8B 的 All=10.37,Pro 的 All=10.47;GPT Image 2 为 10.21,Nano Banana 2.0 为 10.01,Qwen-Image 为 9.94。HPSv3 类别中,8B 在 Architecture=11.02、Food=10.85、Products=10.50、Transportation=10.54 等项明显高;Pro 在 All、Architecture=11.11、Products=10.75、Food=11.13、Science=10.09、Others=10.39 等项继续提高。论文把这解释为 pixel-level unified architecture 与 Prompt Agent 在 prompt semantics 和视觉细节之间建立了更强对齐。

Figure 2 解读:这张图展示复杂文字渲染能力,覆盖中英文、多区域排版和风格化文本。它与 CVTG-2K / LongText-Bench 结果对应:模型直接在 pixel space 预测 patch,避免 VAE 对细小文字的压缩损失,同时 Prompt Agent 会把文字内容和位置显式写入 prompt。

在 CVTG-2K 上,8B 的 Average=0.9128、NED=0.9561、CLIP Score=0.8076;Pro 的 Average=0.9222、NED=0.9628、CLIP Score=0.8349。对比 Qwen-Image:Average=0.8288、NED=0.9116、CLIP=0.8017;FLUX.2 [Dev]:Average=0.8926、NED=0.9475、CLIP=0.8104。LongText-Bench 上,8B 的 EN=0.979、ZH=0.978;Pro 的 EN=0.982、ZH=0.980;Qwen-Image 为 EN=0.943、ZH=0.946,Nano Banana 2.0 为 EN=0.980、ZH=0.965。8B 在英文接近 Nano Banana 2.0,在中文明显高于 Nano Banana 2.0,Pro 两项均为表中最高。

5.2 多场景 T2I 与 Qwen-Image 对比

Figure 3 解读:这张图展示 cinematic shots、artistic styles 和 multi-panel image generation。重点是模型不仅在单图写实上表现好,还能生成 storyboard 式网格和跨 panel 一致构图。这对应训练数据中 multi-panel prompt construction,以及 UiT 对 generation tokens 的 full attention。

Figure 9 解读:论文把 Qwen-Image 与 HiDream-O1-Image 放在同类 prompt 下比较,覆盖 cinematic shot、复杂文字、多面板等场景。作者想证明差异不只是分数,而是架构对 text rendering、空间布局和 panel-level consistency 的实际可见影响;不过这些是 qualitative evidence,仍需结合表格结果理解。

5.3 Image editing

Figure 4 解读:这张图展示 instruction-based editing 和 subject-driven personalization。editing 的关键不是“重画一张图”,而是在遵循编辑指令的同时保持未编辑区域;personalization 的关键是保留参考主体身份并迁移到新场景。统一 token space 让 source/reference image tokens 与 text instruction 在同一 Transformer 中交互,是这类任务的核心机制。

GEdit 上,HiDream-O1-Image 8B 的 Q-SC=7.99、Q-PQ=7.42、Q-O=7.60;Pro 为 Q-SC=8.05、Q-PQ=7.47、Q-O=7.67。GPT Image 2 为 7.94/7.60/7.67,Qwen-Image-Edit 为 7.76/7.47/7.41,FLUX.1 Kontext 为 6.62/7.22/6.34。8B 在 semantic consistency 上高于 GPT Image 2,但 perceptual quality 低于 GPT Image 2;Pro 在 Q-O 追平 GPT Image 2 的 7.67。

ImgEdit 上,8B 的 Overall=4.14,Pro 的 Overall=4.51;GPT Image 2 为 4.73,Nano Banana 2.0 为 4.51,Qwen-Image-Edit 为 4.27。分项看 Pro 在 Extract=4.35、Replace=4.74、Remove=4.66、Action=4.71 上显著高于 8B;但 Style=4.83 略低于 8B/Nano/Qwen 的 4.87/4.87/4.81,Hybrid=3.80 也不是最高。这里的结论更克制:HiDream 在 editing 上很强,尤其 Pro 版本能达到 Nano Banana 2.0 的 Overall,但尚未全面超过 GPT Image 2。

5.4 Subject-driven personalization

Figure 10 解读:这张图比较 Qwen-Image 与 HiDream-O1-Image 的 subject-driven customized generation。视觉上重点是多参考主体在新场景中的身份保持和组合能力;方法上对应 condition tokens 作为上下文进入 UiT,而不是通过外部 adapter 或后处理单独融合。

UniSubject 上,1–3 subjects 时,8B 的 Q-PF=8.65、Q-SC=7.25、Q-O=7.95、HPSv3=10.45;Pro 为 8.87/8.12/8.50/11.05。4–8 subjects 时,8B 为 8.14/6.81/7.47/9.53;Pro 为 8.31/7.66/7.99/9.76。9–11 subjects 时,8B 为 8.35/6.95/7.65/9.78;Pro 为 8.56/7.28/7.92/9.83。与 Echo-4o 相比,8B 在 4–8 subjects 的 Q-O 从 7.19 提升到 7.47,在 9–11 subjects 从 6.73 提升到 7.65;Pro 则进一步到 7.99 和 7.92。论文认为,随着参考主体数量增加,HiDream 的 unified context representation 比 late fusion / distillation-style baselines 更稳。

5.5 Leaderboard、ablation 与局限

Figure 8 解读:论文报告 HiDream-O1-Image(codename Peanut)在 Artificial Analysis Text to Image Arena 于 2026/5/5 排名第 8,并称其是 leading open weights text-to-image model。这是外部 leaderboard 证据,但它是时间点相关结果,后续 leaderboard 可能变化;论文内部更稳定的证据仍是上面各 benchmark 表格。

论文没有提供标准组件 ablation 表,例如去掉 Prompt Agent、去掉 perceptual losses、去掉 hybrid attention、去掉 condition tokens 的对照。因此“哪个模块贡献多少”不能被表格定量拆分。可观察的替代证据主要有三类:第一,8B vs 200B+ 显示 scaling 对 GenEval、HPSv3、CVTG-2K、LongText、Editing、UniSubject 多数指标有一致收益;第二,Full vs Dev 的设计说明 50-step full 可通过 DMD + diffusion + adversarial distillation 压缩到 28-step dev,但论文没有给出 full/dev 逐项质量损失表;第三,与 Qwen-Image/Qwen-Image-Edit 的定量和定性对比说明 pixel-level unified tokenization 对 text rendering、dense alignment 和 multi-subject personalization 有明显优势。

局限也很明确。首先,训练细节公开不足:没有 GPU 数量、训练时长、optimizer、LR、batch size、data mixture ratio、reward weights、DMD/adv loss 权重等完整复现实验配置;released GitHub 也没有训练代码。其次,200B+ Pro 证明了 scaling 上限,但实际开放权重和普通部署主要围绕 8B/Dev 版本,200B+ 的成本与可访问性未充分讨论。第三,pixel-space modeling 虽然减少 VAE 信息损失,但长序列 patch token 带来很高计算成本;默认 2048×2048 且 patch size 32 时已有 4096 个 generation tokens,还要叠加文本和条件图 tokens。第四,Prompt Agent 对事实、文字和 layout 的显式化很重要,但它引入额外模型与 prompt-rewrite 失败风险;released code 中解析失败会回退到原 prompt 加质量关键词,这说明实际系统仍需要 robust fallback。

总体结论是:HiDream-O1-Image 的贡献更接近“架构范式报告”而非单一算法 trick。它把 raw pixel diffusion、LLM-style decoder backbone、prompt reasoning、multimodal condition token 和多任务训练数据整合成一个 natively unified image generation system。实验显示 8B 已在 GenEval Overall=0.90、DPG Overall=89.83、HPSv3 All=10.37、CVTG Average=0.9128、LongText EN/ZH=0.979/0.978 上达到很强水平;200B+ Pro 进一步达到 GenEval 0.92、DPG 90.30、HPSv3 10.47、CVTG Average 0.9222、LongText 0.982/0.980。其最可信的技术启示是:当任务需要精细文字、空间关系、参考主体和编辑约束时,把所有条件与 pixel patches 放入同一个 Transformer context,比 modular latent pipeline 更有潜力。