开发者

图片 API

一个接口完成图片格式转换、质量控制和宽度缩放。适合脚本、服务端和需要批量处理的业务场景。

POST multipart/form-data 免费 30 次/分钟
Endpoint

图片转码接口

支持 PNG、JPG、WebP、GIF、BMP 输入,输出 WebP、PNG 或 JPG。GIF 只取第一帧。

v1
POST https://api.mokiii.com/api/v1/convert multipart/form-data
单文件 ≤ 3MB · 2500 万像素 · 单边 ≤ 8000px · 每 IP 每分钟 30 次 · 单请求 30 秒超时

请求参数

字段必填说明
file是图片文件,不超过 3MB;支持 PNG、JPG、WebP、GIF、BMP,GIF 只取第一帧;缺失时返回 400 FILE_REQUIRED
output_format否webp(默认)、png、jpg;非法值返回 400 INVALID_FORMAT
quality否1–100,默认 80;输出 PNG 时忽略;非法值返回 400 INVALID_FORMAT
max_width否按宽度等比缩小,0 或不填表示原尺寸;只缩小、不放大;非法值返回 400 INVALID_FORMAT

curl 示例

curl -F "file=@photo.png" \
     -F "output_format=webp" \
     -F "quality=80" \
     -F "max_width=1600" \
     -o out.webp \
     https://api.mokiii.com/api/v1/convert

浏览器 / JavaScript 示例

const fd = new FormData();
fd.append('file', fileInput.files[0]);
fd.append('output_format', 'webp');
fd.append('quality', '80');
fd.append('max_width', '1600');

const response = await fetch('https://api.mokiii.com/api/v1/convert', {
  method: 'POST',
  body: fd
});

if (!response.ok) {
  const payload = await response.json();
  throw new Error(payload.error.code);
}

const blob = await response.blob();
返回图片二进制,Content-Type 对应输出格式,X-Output-Size 为字节数。浏览器跨域调用只允许来源 https://tools.mokiii.com;其他站点请在服务端调用。
注意:output_format 不合法返回 400 INVALID_FORMAT,不是 415;415 UNSUPPORTED_TYPE 只表示输入文件类型不支持。
Limits

免费额度

限额可能调整,请以接口响应和本页最新说明为准。

30 次每分钟 / 每 IP
3MB单文件上限
25MP单图像素上限
Errors

错误码

错误统一返回 {"error":{"code":"...","message":"..."}}。

HTTPcode说明
400FILE_REQUIRED缺少 file 字段
400INVALID_FORMAToutput_format、quality 或 max_width 的值不合法
405METHOD_NOT_ALLOWED仅支持 POST
413FILE_TOO_LARGE文件超过 3MB
413IMAGE_TOO_LARGE图片超过 25MP 或单边超过 8000px
415UNSUPPORTED_TYPE输入文件类型不支持;不是 output_format 错误
429RATE_LIMITED超过每分钟调用额度
504TIMEOUT处理超过 30 秒
500INTERNAL_ERROR服务内部错误
Pro

预约 Pro 套餐

更高额度、更大文件和优先处理。留下邮箱,Pro 开放时通知你;只收集邮箱,不共享给第三方。

只用于通知 Pro 套餐开放,可随时申请删除。

提交即表示你同意 隐私政策。我们不会将邮箱用于营销或共享给第三方。