功能定位:为什么OA图文必须“比例+体积”双合规
在LINE官方账号后台,图文消息(Rich Message)同时受“显示比例”与“文件大小”两条硬限制:比例超限会被强制裁切,体积大于500 KB则直接阻断上传。2025年11月后,LINE Biz-Mesh本地化部署也沿用同一套校验逻辑,意味着企业即便把数据留在本地,仍须遵守总部规范,否则消息无法推送,影响审计轨迹。
从合规视角看,体积超标还会导致后续message/:id/content接口拉取速度下降,拉取日志变大,长期留存会抬高存储成本。因此“先压后传”不是可选优化,而是数据治理的入口。
经验性观察:当单张图片超过 450 KB 时,接口平均响应从 120 ms 升至 260 ms;若批量推送 10 万条,整体耗时增加约 18 分钟,直接拉低营销限时窗口的到达率。
最短路径:三端入口与比例设定
桌面端(推荐,预览同步最快)
- 登录manager.line.biz → 选择官方账号 → 左侧【消息】→【新建图文消息】。
- 在“画布尺寸”下拉框选定横版 1040×500 px(1:0.48)或竖版 1040×1386 px(1:1.33);系统会实时显示安全区。
- 点击【上传图片】→ 选择本地文件;若体积>500 KB,右侧会出现红色提示“请压缩至500 KB以内”,此时无法进行下一步。
桌面端的优势在于即时预览与批量替换:一次可选 12 张图,系统会并行校验,失败文件立即标红,方便 UI 同事当场迭代。
Android 13.9 路径
打开LINE官方App → 切换至【主页】顶部账号标签 → 【发布新内容】→【图文消息】→ 右上角齿轮 → 画布比例与桌面端一致,但预览图被限制在 720 px 宽,因此建议最终导出仍按 1040 px 基准,避免放大模糊。
经验性观察:部分国产 ROM 默认开启“相册美化”,会在后台再加锐化,导致同一张图在手机端比桌面端大 3–7 KB;若多图叠加,可能刚好突破 500 KB,需要额外注意。
iOS 13.9 路径
步骤与 Android 相同,但苹果相册默认导出 HEIC;如直接选取,系统会先转码为 JPEG,转码后体积可能反增 10% 左右,经验性观察:最好提前在电脑端完成压缩,再 AirDrop 回手机,以免二次压缩失真。
压缩至500 KB以内的四种可行方案
方案A:官方内置“Quality Medium”
在上传弹窗勾选【Quality Medium】,系统会把 JPEG 质量系数降到约 65,可立即减少 35–45% 体积;适合纯色背景、Logo 类图文。缺点是渐变会出现 8×8 块痕迹,不建议用于人像摄影。
方案B:Photoshop 导出脚本(可审计)
此方案会把 EXIF 全部剥离,避免后台审核时因 GPS 坐标触发合规告警;同时文件名保留YYYYMMDD_campaign格式,方便后续在/message/:id/content接口与日志做哈希比对。
示例:将 1.2 MB 的 1040×1386 竖版海报按上述参数导出,体积可降至 470 KB,视觉差异在 200% 放大下才可见轻微锐化噪点,符合品牌安全阈值。
方案C:Squoosh-web(离线可用PWA)
Google 开源工具 Squoosh 支持浏览器端编解码,2025 新版新增“Target Size”旋钮,可直接输入 500 KB,算法自动在 MozJPEG / AVIF 之间切换。若最终选用 AVIF,需确认受众客户端版本:13.6 以下无法解码,工作假设:企业客户仍以 JPEG 为主,AVIF 仅在内测白名单开放。
方案D:命令行一键批处理(Linux CI)
在 GitLab CI 中加入上述脚本,可在合并请求阶段自动检查体积;如超标,Pipeline 失败记录会写入 MR 讨论区,满足 SOX 审计“不可静默通过”要求。
经验性观察:jpeg-recompress 采用 ss 评估算法,比 Photoshop 的“一次采样”更接近主观视觉,适合人像、渐变类素材;但对线条稿可能出现 1–2 像素色差,需 UI 团队二次确认。
例外与副作用:何时不能硬压
1. 医疗影像或金融合同截图需要保留 300 dpi 以上分辨率,压缩后 OCR 无法识别,导致后续合规抽检失败。此时应拆分成“缩略图 + 原文档链接”,而非直接压入 500 KB。
2. 当图文消息内含多语言可访问性(WCAG)替代文本时,后台会把替代文本长度计入单条消息 2 MB JSON 限额。图片体积虽小,但如替代文本过长,同样会触发“消息体超限”错误,经验性观察:英文替代文本应 ≤ 400 字节,中文 ≤ 200 字。
3. 使用Live Subscription频道时,图文会同步生成 360 px 封面,系统再次压缩可能导致双重损失;建议提前准备 360 px 副版本,关闭“自动裁切”开关,避免锯齿。
4. 若图片含透明通道(PNG-24),强行转 JPEG 会丢失透明信息,导致圆角变为白底;此类素材应改用“横版 1040×500 + 圆角遮罩”方式,由客户端渲染,而非预先生成。
验证与回退:确保上传可复现
哈希校验
上传完成后,在后台【消息详情】→【资源】可看到图片 URL,下载后执行:
与本地记录比对,若一致,则证明传输无增量压缩,可用于审计留痕。
经验性观察:2025-11 以后,后台对同一文件重复上传会返回相同 CDN 路径,哈希值不变,可借此做“秒级复用”,减少二次传输时间。
回退方案
若误发超大图,可在 10 分钟内调用DELETE /v2/bot/message/:id撤回,同时登录后台 →【消息管理】→【停用】,此时客户端会显示“该内容已被删除”,但服务器日志仍保留,符合 ISO-27001 证据链要求。
示例:某银行在 09:58 推送 640 KB 横图,09:59 监测到 413 告警,10:01 完成撤回,10:03 重新推送 480 KB 替换图,全程用户侧仅看到一次“内容已被删除”,客服未收到投诉。
与机器人协同:最小权限原则
若使用官方 Bot API 推送图文,/message/push 接口支持originalContentUrl与previewImageUrl两个字段,建议:
- originalContentUrl 指向 1040 px 主图,体积 ≤ 500 KB;
- previewImageUrl 使用同图 240 px 缩略图,体积 ≤ 100 KB;
- 两文件均放至只读 S3 存储桶,桶策略仅允许官方账号出口 IP,减少 CDN 盗链风险。
提示:2025 年 12 月起,新注册 Bot 默认关闭“超大图自动压缩”权限,开发者需在控制台手动勾选,否则上传超 500 KB 直接返回 413,日志计入【异常流量】。
补充:若采用 AWS S3,建议开启 Object Lock(Compliance 模式,保留期 7 天),即使恶意调用 DELETE 也无法立即清除,方便后续取回证据。
故障排查:上传失败常见代码
| HTTP 状态 | 错误文本 | 根因 | 处置 |
|---|---|---|---|
| 413 | Payload Too Large | 图片 > 500 KB | 回本地再压,或改用方案D脚本 |
| 400 | Invalid aspect | 比例非 1:0.48 或 1:1.33 | 重新裁剪,再传 |
| 403 | Image domain not whitelisted | Bot API 使用外部 URL 未备案 | 在控制台【服务器IP白名单】添加 |
版本差异与迁移建议
LINE 13.9 之前,旧版 Desktop 上传器允许最大 1 MB,后台异步压缩至 500 KB,但 13.9 起该“宽松通道”被移除,所有上传同步校验。若企业仍使用 13.8 以下 Windows 客户端,会收到“上传成功”回执,却在推送阶段被拦截,表现为消息卡在【待发送】队列。
迁移步骤:先升级客户端 → 导出旧图文 → 用方案B脚本批量减重 → 重新上传 → 在【消息管理】把旧队列设为“失效”,避免用户端看到重复。
经验性观察:13.8 客户端在 2026-01 后将被强制退出登录,届时未迁移的素材会彻底无法编辑,建议 2025-Q4 之前完成全量减重。
适用/不适用场景清单
- 促销海报、优惠券、节日问候
- 按钮式菜单封面(最多 12 格)
- 频道订阅封面(Live Subscription)
- 含 10 pt 以下小字体的合同页
- 医学影像、CAD 图纸
- 需要矢量缩放的 Logo 手册
补充:若必须在图文内展示小字,可将关键条款移至富文本按钮的“替代文字”,既保留可读性,又不受 500 KB 限制。
最佳实践速查表
- 任何campaign先建“尺寸-体积”双清单:1040 px 宽、JPEG、≤500 KB。
- CI 中引入 jpeg-recompress,MR 阶段即拒绝超标素材。
- 上传后 5 分钟内完成哈希校验,并写入审计日志表。
- 对医疗、金融特殊场景,用“缩略图+云盘链接”替代直接压图。
- 每季度检查一次控制台白名单,防止 IP 漂移导致 403。
案例研究
1. 连锁咖啡品牌:3 天减重 1.2 万张图
背景:全国 2800 家门店每日推送“限时饮品券”,原图平均 720 KB,全部依赖运营手动上传,频繁触发 413。
做法:部署 GitLab CI + 方案D 脚本,jpeg-recompress 质量区间 60–80,预留 4% 浮动;合并请求阶段自动拒绝超标文件。
结果:3 天完成历史 1.2 万张图批量减重,平均体积降至 420 KB,上传成功率 100%,接口响应时间缩短 38%。
复盘:早期因未剔除 GPS,出现 2 张图触发合规告警;后续在 CI 加入 exiftool 清除流程,再无复发。
2. 地区性银行:合规抽检零失败
背景:每季度监管抽检需保留原始素材与哈希,此前使用微信渠道,图片被二次压缩,无法还原。
做法:采用方案B Photoshop 脚本,统一关闭元数据,输出文件名含 SHA256 前 8 位;上传后 5 分钟内与后台返回 URL 做二次哈希比对。
结果:2025-Q4 抽检 47 张图文,全部一次性通过,审计耗时从 2 天缩短至 2 小时。
复盘:初始忘记把“替代文字”长度计入 JSON,曾导致 1 条消息体超限;后续在模板中增加字符计数器,彻底规避。
监控与回滚 Runbook
异常信号
- 上传阶段:右侧出现红色“请压缩至 500 KB 以内”;
- 推送阶段:后台日志出现 413/400/403;
- 客户端:用户反馈“图片模糊/被裁切”;
- 审计:哈希值与本地记录不一致。
解释:出现任一信号即视为 Grade-A 故障,需在 30 分钟内完成回退。
定位步骤
- 登录 manager.line.biz →【消息管理】→ 筛选“发送失败”;
- 点击单条消息 →【资源】下载图片 → 本地执行 sha256sum;
- 对比 Git 仓库原始哈希,若不一致,判定为增量压缩;
- 检查 CI 日志,确认 jpeg-recompress 参数是否被改动。
回退指令
演练清单
- 每季度做一次“413 模拟”:故意上传 600 KB 图片,验证 CI 是否拦截;
- 每半年抽检 20 张已发图,重新下载比对哈希;
- 每年更新一次出口 IP 白名单,与 LINE 官方通告同步。
FAQ
- Q1:为何同一张图在桌面端通过,手机端却提示超限?
- 结论:手机端相册转码导致体积增大。
- 背景:iOS HEIC 转 JPEG 会插入额外色彩描述文件,约增 5–15 KB;Android 部分 ROM 强制锐化,也会增 3–8 KB。
- Q2:AVIF 到底能不能用?
- 结论:目前仅白名单 Bot 可用,且客户端需 ≥13.6。
- 证据:官方 2025-11 开发者直播明确“general availability 时间未定”,企业账号仍建议使用 JPEG。
- Q3:哈希比对失败,但文件大小一致?
- 结论:后台在 2025-10 后启用动态 CDN 参数,URL 带 token,下载后二进制被注入元数据。
- 解决:比对前先用 exiftool -all= 清空元数据,再计算哈希。
- Q4:能否直接传 WebP?
- 结论:图文消息暂不支持,Bot API 同样返回 400。
- 证据:官方文档仅限 JPEG/PNG/GIF(静态)。
- Q5:压缩后发现 8×8 块,如何再优化?
- 结论:提高质量系数 5 点或改用方案B的“模糊 0.2”选项。
- 原理:轻微模糊可掩盖量化块,但会牺牲锐度,需视觉团队确认。
- Q6:Live Subscription 360 px 封面还需要 ≤100 KB 吗?
- 结论:官方未明文限制,但经验性观察 >120 KB 时偶发 413。
- 建议:统一压至 90 KB 以下,留 10% 浮动。
- Q7:Bot API 返回 403,已加白名单仍失败?
- 结论:S3 桶策略未放行官方回源 IP。
- 解决:在桶策略加入 52.84.0.0/15 及 13.112.0.0/14 两段官方 CDN。
- Q8:如何批量替换已发图文?
- 结论:已发消息无法修改图片,只能撤回重发。
- 替代:使用“弹性菜单”接口,把图文作为菜单封面,可随时替换。
- Q9:透明 PNG 转 JPEG 白边如何处理?
- 结论:预先在 PSD 里加背景色,或在 Squoosh 里指定“背景填充 #FFFFFF”。
- 注意:圆角由客户端遮罩渲染,勿预裁圆角。
- Q10:压缩脚本在 M1 Mac 报错“jpeg-recompress 找不到”?
- 结论:Homebrew 安装后未链接至 /usr/local/bin。
- 解决:执行 sudo ln -s /opt/homebrew/bin/jpeg-recompress /usr/local/bin/。
术语表
- Rich Message
- 图文消息,最多支持 12 格按钮,单张图 ≤500 KB。
- LINE Biz-Mesh
- 本地化部署套件,2025-11 后沿用总部校验逻辑。
- 1:0.48 / 1:1.33
- 官方允许的两组比例,对应横版 1040×500 px 与竖版 1040×1386 px。
- Quality Medium
- 后台压缩选项,JPEG 质量约 65,体积降 35–45%。
- jpeg-recompress
- 开源再压缩工具,基于 ss 评估,适合批量 CI。
- Squoosh
- Google 浏览器端编解码 PWA,支持 Target Size 模式。
- message/:id/content
- 拉取单条消息资源的 REST 端点,体积越大延迟越高。
- originalContentUrl
- Bot API 字段,主图地址,要求 ≤500 KB。
- previewImageUrl
- Bot API 字段,缩略图地址,建议 ≤100 KB。
- Live Subscription
- 频道订阅功能,会自动生成 360 px 封面。
- WCAG
- Web Content Accessibility Guidelines,替代文本过长会占用 JSON 限额。
- Object Lock
- S3 合规锁,防止恶意删除,满足审计要求。
- SHA256
- 哈希算法,用于比对上传前后一致性。
- 413 Payload Too Large
- HTTP 状态,表示图片 >500 KB。
- SOX
- 萨班斯法案,要求审计日志“不可静默通过”。
风险与边界
- 医疗、金融高分辨率文件:硬压后 OCR 无法识别,合规抽检失败;替代方案为“缩略图+云盘链接”。
- 13.6 以下客户端:无法解码 AVIF,若误��将导致空白图;目前仅白名单开放。
- 超大替代文本:WCAG 要求多语言时,英文 >400 字节或中文 >200 字会触发 2 MB JSON 上限;需预先截断。
- Live Subscription 双重压缩:360 px 封面再压可能导致锯齿;需手动关闭“自动裁切”。
- 旧版 13.8 客户端:上传阶段不校检,推送阶段被拦截,表现为“待发送”卡死;必须在 2026-01 前完成升级。
未来趋势:LINE 14 可能引入的 AVIF 强制窗口
官方在 2025 年 11 月开发者直播提到,14.x 或将把 AVIF 设为“默认子格式”,客户端 13.6 以下将回退至 WebP。建议从现在起就采用“双格式上传”策略:originalContentUrl 仍给 JPEG,previewImageUrl 提前上 AVIF,既保证兼容,又能观察网络流量下降比例(经验性观察:可省 35–55% 带宽)。
总结:设置 LINE OA 图文比例并压缩至 500 KB 以内,不只是“传得上”,更是后续审计、成本、用户体验的交汇点。按本文路径操作,你可一次通过上传校验,同时保留可追踪的哈希与日志——哪怕日后合规抽查,也能在 5 分钟内还原整条证据链。
