Instagram 图片应该是什么尺寸?
值得关注的四种 Instagram 形状,每种都是 1080 像素宽,以及在平台重新编码之前需要在导出中修复的内容。
Instagram 有四种值得关注的形状,我们的 resizer 将每种形状作为按钮提供:正方形帖子 1080x1080,肖像帖子 1080x1350,故事 / 短视频 1080x1920 和横向 1080x566。看看它们的共同点。所有四种形状的宽度都是 1080 像素。这是导出任何内容之前最有用的数字,因为这是平台停止关心你额外像素的地方。
其余部分是关于你不需要的像素。3840x2160 的照片宽度超过 1080 的三倍,因此 Instagram 会对其进行重采样并使用你永远无法看到的设置重新编码。你仍然可以控制它的起始点。下面是我们如何在自己的工具中设置导出的,使用我们测量的数字。
Instagram 的四种图片尺寸是什么?
这些是根据 resizer 代码定义的预设。比例只是为你完成的除法。
| 预设 | 像素 | 宽高比 | 显示位置 |
|---|---|---|---|
| 正方形帖子 | 1080 x 1080 | 1:1 | 动态信息流 |
| 肖像帖子 | 1080 x 1350 | 4:5 | 动态信息流,动态信息流接受的最高高度 |
| 故事 / 短视频 | 1080 x 1920 | 9:16 | 故事和短视频 |
| 横向 | 1080 x 566 | 约 1.91:1 | 动态信息流,动态信息流接受的最宽度 |
有两行值得再看一眼。resizer 的 15 个社交预设中有三个落在同一个 1080x1920 的框中,因为 Instagram 故事 / 短视频、Facebook 故事和 TikTok 视频封面是相同的目标,因此一个导出可以覆盖所有三个。而横向不是一个整数,因为 1.91:1 不能整除像素。566 是 1080 除以 1.91 的真实四舍五入。
为什么 1080 像素宽是上限?
因为这就是动态信息流所提供的。Meta 的 内容发布文档 详细说明了动态信息流图片的规则,它们很严格:JPEG,最大 8 MB,宽高比在 4:5 和 1.91:1 之间。任何宽于显示宽度的内容都会在他们的机器上被缩小,并且你无法预览。提供一个 3840 像素宽的文件不会在 1080 时获得清晰度。请在本地进行缩小,这样你可以在其他人之前查看它。我们的 resizer 通过 createImageBitmap 直接向浏览器请求目标大小,resizeQuality 设置为高,并在涉及裁剪时切换到画布 drawImage 传递。
我应该裁剪到 4:5 还是调整大小到 1080x1350?
都要,按这个顺序。首先框架,第二个是精确像素。我们的 cropper 每次处理一个文件,最大 10 MB,并提供八个宽高比预设:自由、1:1、4:3、3:2、16:9、9:16、3:4 和 2:3。没有 4:5 按钮,因此在自定义宽高字段中输入 4 和 5。裁剪器中也没有像素宽度或高度输入,这正是第二步存在的原因。每次裁剪都会以固定质量 92 重新编码有损格式,GIF 作为单帧 PNG 输出。
然后将裁剪发送到 resizer 并按下你想要的 Instagram 预设。适配模式决定接下来发生的事情。覆盖模式会缩放图像,直到填满目标并中心裁剪溢出部分,这实际上会产生精确的 1080x1350。拉伸强制框架并扭曲。包含模式是让人惊讶的,因为它将画布缩小到适合的内容,因此你不会得到填充条和 1080x1350。我们故意构建的一个怪癖是:当你选择社交预设时,“不放大”保护被忽略,因为将每个轴限制在原始生成的文件上,完全不符合任何平台规范。
Instagram 重新压缩什么,我可以控制什么?
它会重新编码。你可以控制的是输入。我们的 resizer 无损地写入 PNG,并默认以质量 90 重新编码其他所有内容,因此发送到动态信息流的 JPEG 只需你小心处理一次,然后再由他们处理一次。保持你的处理慷慨。透明度是另一个陷阱,因为 JPEG 在任何模式下都不支持 alpha 通道,因此具有透明背景的 PNG 会被某些东西压平。我们的 PNG 到 JPG 转换器 将其填充为白色,这至少让你在发货之前检查结果。动画源从 resizer 输出为单个静态帧,并在丢帧时告诉你。
我需要在上传之前压缩吗?
通常不需要压缩。1080x1350 的导出已经很小。进行处理的更好理由是:我们的 compressor 在经过时剥离所有元数据,包括 EXIF、GPS 坐标、ICC 配置文件和嵌入的缩略图。方向信息会保留,因此没有内容会横向到达。在我们的测试文件 texture.jpg 中,3840x2160 和 538.6 KB,智能模式返回 286.1 KB,减少了 47%。60 的滑块给出 212.4 KB,30 给出 131 KB,损坏是可见的。智能模式的 JPEG 质量为 80,使用 MozJPEG 编码。有一个注意事项:当源文件已经是 JPEG 时,我们将你的滑块乘以其量化表中读取的质量,因此 60 质量的源加上 80 滑块最终为 48。WebP 和 AVIF 是网站上更小的格式。两者都不适用于 Instagram 上传,如果其他格式让你受到严格的字节限制,从 538.6 KB 降到 131 KB 的测量阶梯 是值得阅读的。
我的照片只有 400 像素宽。现在该怎么办?
那么 1080 是放大,普通的调整大小会显得模糊,这就是 resizer 和 upscaler 之间的全部区别。我们的 upscaler 在浏览器中运行 Real-ESRGAN realesr-general-x4v3。在 small.png 中,400x269 和 177.1 KB,2x 选项生成 800x538,大小为 782.8 KB,4x 选项生成 1600x1076,大小为 2.7 MB。只有 4x 运行在长边上超过 1080,这正是你在缩小到 1080x566 的横向之前所需要的。模型本身只生成 4x,因此我们的 2x 选项运行它并在之后缩小结果。使用可用的 WebGPU,它接受 32 兆像素的输入,而没有它大约 1.1 MP。输出始终为 PNG。因此,期待在通往轻量文件的过程中产生一个较大的文件。

这些内容会离开我的计算机吗?
不会。这个代码库中没有 API 路径和服务器操作,唯一的网络请求是同源资产。这个领域的每个竞争对手都会将你的照片上传到服务器,然后承诺在一两个小时后删除它。我们的工具从不将其发送到任何地方。这也是限制的来源,因为你自己的设备完成了工作:压缩器、调整大小器、转换器和 背景去除器 每批 10 个文件和 50 MB;裁剪器和 图标生成器 每次处理一个文件,最大 10 MB;放大器每次处理一个文件。我们的 隐私页面 用更少的字数说明了同样的事情。
现在就这样做。打开 resizer,将照片拖入,选择 Instagram 肖像帖子 1080x1350,保持适配模式为覆盖,质量为 90,然后下载。如果中心裁剪切掉了某人的头,请先使用自定义 4:5 比例运行 cropper,然后再回来。如果文件仍然携带你不想发布的 GPS 坐标,请通过 compressor 进行智能模式处理。