
Nex-N2.5-Pro多模态输入指南图像与视频处理参数全解析——从patch_size到768帧视频抽帧Nex-N2.5-Pro 是一款面向长程 Agent 任务的多模态大模型原生支持图像与视频输入。本指南完整解析它的视觉处理参数patch_size16的动态分辨率切块、2fps 视频抽帧、max_frames768帧上限、2×2 空间合并与视觉 Token 占位机制并给出 Token 消耗估算公式帮助你在 3 分钟内搞懂图像和视频是如何被模型看见的。 Nex-N2.5-Pro 多模态架构速览3 个文件定义输入通路理解多模态输入只需要看模型仓库中的三类文件文件作用config.json模型主干 视觉编码器vision_config参数preprocessor_config.json / processor_config.json图像/视频前处理管线参数切块、抽帧、归一化chat_template.jinja对话模板决定图片/视频如何嵌入消息从 config.json 的vision_config可以看到视觉编码器ViT的核心配置27 层、隐藏层 1152、16 个注意力头、patch_size16、temporal_patch_size2、spatial_merge_size2输出投影到 4096 维以对齐语言模型。几个关键的 Token ID定义于 config.jsonimage_token_id: 248056、video_token_id: 248057视觉内容在序列中的占位符vision_start_token_id: 248053、vision_end_token_id: 248054包裹每段视觉内容值得注意的是该模型采用 FP8 量化以压缩体积但量化忽略列表中包含了re:.*visual.*见 config.json视觉塔保持 bfloat16 不压缩从硬件层面保障了视觉理解质量。语言侧则提供 256Kmax_position_embeddings: 262144的超长上下文为多轮截图—推理—再截图的 Agent 循环留足空间。️ 图像输入参数解析patch_size16 如何切屏动态分辨率shortest_edge 与 longest_edge 划定像素预算Nex-N2.5-Pro 继承 Qwen-VL 系处理器的**动态分辨率AnyRes**思路没有固定输入尺寸。图像处理器为Qwen2VLImageProcessorFast见 preprocessor_config.json核心参数如下参数值含义patch_size16图像被切成 16×16 像素的小块merge_size2每 2×2 个 patch 合并为 1 个视觉 Tokenresample3双三次插值缩放时保持画面平滑shortest_edge65536每帧最少 65536 像素约 256×256longest_edge16777216每帧最多约 1677 万像素≈4096×4096image_mean/image_std0.5 / 0.5像素归一化到 [-1, 1]流程很直观图像先按宽高比缩放到总像素数落在 6553616777216 之间再对齐到 32 像素的整数倍最后切成 16×16 的 patch。这意味着分辨率越高模型看到的细节越多但消耗的 Token 也越多。一张图占多少 Token一个简单公式由于merge_size2每 2×2 个 patch即 32×32 1024 像素生成 1 个视觉 Token视觉 Token 数 ≈ 图像总像素 ÷ 1024几个典型示例图像尺寸总像素视觉 Token 数640×360手机截图2304002251280×720高清截图9216009001920×1080全屏截图207360020254096×4096像素上限1677721616384对做计算机操作Computer Use的 Agent 场景一张 1080p 屏幕截图约 2000 Token——这正是 Nex-N2.5-Pro 长程任务中观察屏幕→决策→验证循环的成本单位。 视频抽帧流水线从原始视频到 768 帧的三步路径视频处理器Qwen3VLVideoProcessor的完整参数见 processor_config.json抽帧过程分三步第一步按 fps2 抽帧min_frames4 保底fps: 2每秒均匀抽取 2 帧一段 30 秒的视频会得到 60 帧min_frames: 4再短的片段也至少取 4 帧保证时序信息成立do_sample_frames: true自动完成均匀抽帧无需手动切帧第二步2 帧组成一个时间块temporal_patch_size2temporal_patch_size: 2表示相邻 2 帧在时间维上打包成 1 个时间 patch。模型不是逐帧观看而是以帧对为单位感知运动——抽到的 60 帧最终变成 30 个时间单元既保留动态信息又将序列长度减半。第三步视频总 Token 估算每帧仍按像素 ÷ 1024折算空间 Token再乘以时间单元数视频视觉 Token 数 ≈ (抽帧数 ÷ 2) × (每帧像素 ÷ 1024)以 1280×720900 Token/帧为例视频时长2fps 抽帧抽帧数时间单元视觉 Token 数30 秒60 帧30270005 分钟600 帧3002700006 分钟上限768 帧384345600max_frames: 768是抽帧硬上限对应 2fps 下约 6 分钟的视频。超过 6 分钟时处理器会自动把整个视频降采样到 768 帧——视频越长有效帧率越低细节感知越稀疏。同时注意768 帧在 720p 下约产生 34.5 万 Token会超出 256K 上下文因此实际能装下的视频时长取决于分辨率低分辨率可以处理更长内容。视频处理器的像素预算也略宽于图像shortest_edge: 4096、longest_edge: 25165824见 processor_config.json。另外语言侧采用 mRoPE 多模态位置编码mrope_section: [11, 11, 10]见 config.json将位置维度拆分为时间、高、宽三个方向让模型能精确理解哪一帧、画面哪个位置发生了什么。 关键参数速查表来自 preprocessor_config.json 与 processor_config.json参数图像视频说明patch_size1616空间切块边长temporal_patch_size22时间维打包帧数merge_size22空间 2×2 合并size.shortest_edge655364096最小像素预算size.longest_edge1677721625165824最大像素预算resample33双三次插值fps—2抽帧帧率max_frames—768抽帧上限min_frames—4抽帧下限rescale_factor0.00392…0.00392…像素 ÷255image_mean/image_std0.5 / 0.50.5 / 0.5归一化参数⚡ 这些参数是随模型仓库下发的固定默认值推理服务如 SGLang 部署见 README.md启动时自动加载绝大多数用户无需手动配置——理解它们的价值在于估算多模态输入的 Token 成本合理控制截图分辨率和视频长度。 图像和视频如何写入对话chat_template.jinja 详解通过 OpenAI 兼容 API 发送消息时在content数组中混排文本与视觉内容即可。从 chat_template.jinja 的渲染逻辑可以看到模板支持两类视觉条目图像条目含image、image_url键或type image视频条目含video键或type video模板会把它们转换为视觉占位 Token即前文提到的 248056 / 248057并由 248053 / 248054 包裹处理器随后把真实的 patch 特征填充进去。两个实用细节System 消息禁止包含图像/视频——模板会直接抛出异常chat_template.jinja启用add_vision_id后多张图会依次标注 Picture 1:、Picture 2:方便你在提问中用编号精确指代例如对比 Picture 1 和 Picture 2 的差异最小请求结构示意非必须代码帮助理解消息形态{role: user, content: [ {type: image_url, image_url: {url: data:image/png;base64,...}}, {type: video, video: /path/or/url.mp4}, {type: text, text: 描述这张截图中的报错原因} ]}❓ 新手常见问题Q1为什么上限是 768 帧是精度不够吗不是。768 帧 ÷ 2fps ≈ 6 分钟是视频时长 × 分辨率 × 2 帧/秒三者之间的成本平衡点。帧数与空间 Token 共同消耗 256K 上下文硬上限保证了极端长视频也不会拖垮请求。Q2图片会被拉伸变形吗不会。动态分辨率只缩放总像素数宽高比保持不变且用双三次插值resample3保证缩放平滑缩放到 32 像素整数倍后切块不会裁切边缘内容。Q3FP8 量化会降低视觉理解效果吗视觉塔被显式排除在量化之外bf16 全精度见 config.jsonFP8 只作用于语言模型线性层视觉感知质量不受压缩影响。Q4截图应该给多大分辨率建议 1280×720 1920×1080。低于 720p 可能漏掉小控件文字高于 1080p 的 Token 增长很快而收益有限。Agent 循环中若上下文吃紧可主动降分辨率换更长历史。总结Nex-N2.5-Pro 的多模态输入链路可以浓缩为一句话图像按像素÷1024动态折算 Token视频按 2fps 抽帧4768 帧再按 2 帧一打包。所有参数在 preprocessor_config.json 与 processor_config.json 中开箱即用掌握 Token 估算公式后你就能在分辨率、视频时长与上下文预算之间做出最优取舍把视觉能力充分发挥在截图理解、网页浏览与长视频分析等真实 Agent 场景中。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考